Главная страница
    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.47 MB
Время: 0.041 c
1-1159426778
AAdamov
2006-09-28 10:59
2006.11.05
Преобразование текста в тип


15-1160838112
AntiUser
2006-10-14 19:01
2006.11.05
Ремарка в хелпе =)


15-1160607272
Бабай
2006-10-12 02:54
2006.11.05
Google Code Search не ищет по Паскалю !


15-1160644674
DelphiLexx
2006-10-12 13:17
2006.11.05
ToolBar2000+TBX


15-1160948986
Германн
2006-10-16 01:49
2006.11.05
Прошу у ДМ помощи





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский