Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.09.23;
Скачать: [xml.tar.bz2];

Вниз

А что если метод в секцию Published ?   Найти похожие ветки 

 
Демонов Е.В.   (2002-09-10 16:29) [0]

Вот сижу на работе и читаю статейку про создание компонент - и вдркг идея, а что если засунуть метод в секцию Published - будет что нибудь - или будет считаться что метод описан как Public

P.S. Delphi под рукой нет - поэтому и вопрос такой глупый.


 
Ученик   (2002-09-10 16:32) [1]

Будет считаться как published


 
Демонов Е.В.   (2002-09-10 16:36) [2]

Как Это ?- Метод и published - хочу домой к соей delphi проверить


 
Старый Паскалист   (2002-09-10 16:41) [3]

В объект инспекторе он, конечно, не появится, но
будет доступен через РТТИ (ф-я MethodAddress)


 
Anatoly Podgoretsky   (2002-09-10 16:41) [4]

Будет, но зачем это же интеренсно для свойств, а для метода нет смысла - он мало юудет отличаться от Public


 
Демонов Е.В.   (2002-09-10 16:44) [5]

>>Anatoly Podgoretsky

У меня просто возник такой вопрос - а что если ?
А кем бы я был если ... не задовал таких вопросов - наверно ели ели комп мог бы включить


 
Старый Паскалист   (2002-09-10 16:53) [6]

published методы используются средой для назначения обработчиков событий.
Соответственно все автоматически создаваемые методы - published.

ОбъектИнспектор выбирает из них список подходящих для каждого события.
(Правда как он это делает, я так и не понял.
Сигнатура метода, который требуется для обработчика событий,
в РТТИ хранится, а сигнатуры самих опубликованных методов - нет)


 
Ученик   (2002-09-10 17:10) [7]

>Старый Паскалист (10.09.02 16:53)
Скорее всего подходящие по списку параметров, если я правильно Вас понял


 
Старый Паскалист   (2002-09-10 17:22) [8]

2Ученик ©
Естественно.

Я хотел что сказать:
Возьмём к примеру, класс

TSomeObject = class(TPersistent)
...
published
property OnChange: TNotifyEvent read ... write ...;
procedure ChangeStyle(Sender: TObject);
end;

Так вот, из РТТИ можно извлечь, какие параметры нужны для
св-ва "OnChange".
А вот какие параметры у метода ChangeStyle - нельзя.

Может, в design-time"е есть дополнителтная информация
(напр., из анализа исходников).


 
Демонов Е.В.   (2002-09-10 17:26) [9]

Надеюсь, Когда Нибудь пойму о чём вы


 
Ученик   (2002-09-10 17:32) [10]

>Старый Паскалист (10.09.02 17:22)
IDesigner.GetMethods(TypeData: PTypeData; Proc: TGetStrProc); - не то ?


 
Старый Паскалист   (2002-09-10 17:34) [11]

Ученик © (10.09.02 17:32)
>Старый Паскалист (10.09.02 17:22)
IDesigner.GetMethods(TypeData: PTypeData; Proc: TGetStrProc); - не то ?

Да это я знаю. Мне и интересно, откуда дизайнер берёт эту информацию. В таблицах РТТИ ну ничегошеньки похожего нет.


 
Ученик   (2002-09-10 17:36) [12]

>Старый Паскалист (10.09.02 17:34)
Вы же уже ответили "...(напр., из анализа исходников)". :-)



 
Старый Паскалист   (2002-09-10 17:37) [13]

То есть, например, в рантайме у могу получить просто список всех опубликованных методов.
А как из него выбрать нужные - не знаю.



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

Форум: "Основная";
Текущий архив: 2002.09.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.007 c
7-73903
Work_NOV
2002-07-12 16:57
2002.09.23
Как сменить текущий каталог


14-73891
Malder
2002-08-20 18:52
2002.09.23
обворовали


14-73873
Бармен
2002-08-29 11:51
2002.09.23
А есть кто из Симферополя?


1-73686
Andrew Volkov
2002-09-07 22:32
2002.09.23
Чтение данных из текстового файла


14-73836
GydruS
2002-08-27 11:36
2002.09.23
Зацените, если интересно, плиз :)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский