Вниз
Скачать: CL | DM;

А что если метод в секцию 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.011 c
1-73734
Демонов Е.В.
2002-09-11 14:41
2002.09.23
Кде Найти Остальные Главы


1-73727
Dasha
2002-09-11 13:53
2002.09.23
MDI Форма


3-73543
maxim2
2002-09-03 06:04
2002.09.23
Подскажите с чего начать


1-73725
Демонов Е.В.
2002-09-11 12:43
2002.09.23
Как Упорядочить присвоение Свойствам


1-73685
KidMan
2002-09-10 22:52
2002.09.23
Вторая загрузка одного и того же модуля




   Наверх