Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.05;
Скачать: CL | DM;

Вниз

Извлечение интерфейса и свойство, обращающееся к полю   Найти похожие ветки 

 
Kolan ©   (2006-10-17 15:17) [0]

Здравствуйте,
 Есть класс

TROMPackage = class(TCustomPackage)
 private
   FPackageNumber: Byte;
 public
   property PackageNumber: Byte read FPackageNumber write FPackageNumber;
end;


Хочу сделать извлечение интерфейса. Те
IROMPackage = interface
 property PackageNumber: Byte read FPackageNumber write FPackageNumber;
end;
 

Ессно ругается, так как не знает интерфейс о полях.
Как исправить?

1. Можно использовать методы доступа: вместо  read FPackageNumber - read GetPackageNumber. Но мне эти методы не нужны в них будет просто обрашение к полям, а если св-в много, то соответственно и методов х2.

2. Может можно в интерфйсе прото указать что есть св-во с таким именем без указания read/write. Как-то так:

IROMPackage = interface
   property PackageNumber: Byte;
 end;


Ессно это не компилиться.


 
Ketmar ©   (2006-10-17 15:19) [1]

нельзя. нет в интерфейсах "полей". есть только методы.


 
Percent   (2006-10-17 15:19) [2]

Но мне эти методы не нужны

Тебе, может, и не нужны... но придется.


 
palva ©   (2006-10-17 15:20) [3]

Что такое извлечение интерфейса?
В интерфейсе не бывает свойств.


 
Сергей М. ©   (2006-10-17 15:21) [4]


> Как исправить?


Указать методы.


 
Kolan ©   (2006-10-17 15:22) [5]


> нет в интерфейсах "полей"

Понятно что нет. Так как-нибудь написать, чтобы все равно как реализовать read /write. Те интерфейс какой-то такой:

IROMPackage = interface
  property PackageNumber: Byte;
end;


А реализация чтобы хош такия:

property PackageNumber: Byte read FPackageNumber write FPackageNumber;

Хош такакая:

property PackageNumber: Byte read GetPackageNumber writeSetPackageNumber;


 
Percent   (2006-10-17 15:22) [6]

Что такое извлечение интерфейса?

...очередной флейм на 150 постов обеспечен...


 
Ketmar ©   (2006-10-17 15:22) [7]

право же, накладные раходы на вызов метода пренебрежимо малы. тем более на современных процессорах. не будет это ощутимо медленней простого разыменования.


 
Kolan ©   (2006-10-17 15:22) [8]


> Что такое извлечение интерфейса?
> В интерфейсе не бывает свойств.
>

Extract Interface - рефакторинг(его метод)

В интерфейсе не бывает свойств.
Угу, бывают.


 
Ketmar ©   (2006-10-17 15:22) [9]

>[6] Percent 17-Oct-2006, 15:22
>...очередной флейм на 150 постов обеспечен...
и ты его тоже поддерживаешь подобными высказываниями. %-))


 
Percent   (2006-10-17 15:23) [10]

Kolan ©   (17.10.06 15:22) [5]

Тпру-у-у... Тебе сказали, что нельзя? К чему все эти поиски черных кошек в темных комнатах?


 
Kolan ©   (2006-10-17 15:23) [11]


> Указать методы.

Ну до этого я и сам дошел :)


 
Ketmar ©   (2006-10-17 15:25) [12]

>[11] Kolan(c) 17-Oct-2006, 15:23
>Ну до этого я и сам дошел :)
и всё. завязывай флудить. по буквам:
Н
Е
Л
Ь
З
Я
dixi.


 
Kolan ©   (2006-10-17 15:25) [13]

Since an interface has no fields, property read and write specifiers must be methods.

Все пошел делать методы :(



Страницы: 1 вся ветка

Текущий архив: 2006.11.05;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.115 c
15-1161070678
Kolan
2006-10-17 11:37
2006.11.05
Обещаный фото со свадьбы :)


6-1150209045
Leshik
2006-06-13 18:30
2006.11.05
TIdIRC


2-1161430828
nokk
2006-10-21 15:40
2006.11.05
время gmt


3-1157981923
zorik
2006-09-11 17:38
2006.11.05
Как составить запрос который бы возвратил три записи:


15-1160848995
Kolan
2006-10-14 22:03
2006.11.05
Сижу, разговаривю по ICQ с отцом. Он в соседней комнате :)