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

Проблема доступа к методам и свойствам объектов главной программы   Найти похожие ветки 

 
Sergey__   (2006-04-07 16:28) [0]

Уважаемые знатоки, подскажите что я не так делаю или дайте ссылку, где можно об этом почитать. Пишу плагин для своей же проги.
procedure InitPlugin(PlugClass: TPluginInterface);
var
ScGB1P,
MainFormP        : TComponent;
begin
PInterface := PlugClass;
PlugInClass := TPlugInClass.CreateIt;
PlugClass.AddMenuItem("Переинициализация   каналов",PlugInClass.ReInitChannels);

MainApp := PInterface.GetApplication; //возвращает ссылку на главную программу
MainFormP := MainApp.FindComponent("MainForm");
ScGB1Р := MainFormP.FindComponent("ScGB1");//компонент TRadioGroup
 (ScGB2P as TRadioGroup).Visible := False;// когда доходит до этого места, вылетает исключение "Invalid class typecast"
В чем может быть дело ?


 
Palladin ©   (2006-04-07 16:41) [1]


> ScGB2P


а какого типа эта переменная?


 
Palladin ©   (2006-04-07 16:48) [2]

P.S.: ...всегда задавался вопросом: причем тут знатоки... когда мастера...


 
MBo ©   (2006-04-07 16:49) [3]

плагин - BPL?


 
Sergey__   (2006-04-07 17:04) [4]

Опечатался :-) Правильно (ScGB1P as TRadioGroup).Visible := False;


 
Amoeba ©   (2006-04-07 17:17) [5]

Почитай статьи про создание плагинов на http://www.delphikingdom.com


 
Гаврила ©   (2006-04-07 21:33) [6]


> В чем может быть дело ?

В том, что это на самом деле РАЗНЫЕ (с точки зрения системы) классы -
TRadioGroup в хосте и TRadioGroup в библиотеке.
Чтобы это был один класс - собирай и хост и библиотеку с пакетами,
или же вообще измени модель взаимодействия.
Мне кажется, спроектировано все не особо хорошо.
После внеднения такого кода потом концов не найдешь, почему все рухнуло


 
GrayFace ©   (2006-04-08 16:40) [7]

Если плагины имеют свои формы, то надо подругому. Ну а если не имеют и лень добавлять в Interface процедуры установки свойст объектов, то пока хватит (ScGB2P as TRadioGroup) -> TRadioGroup(ScGB2P). Само собой, при смене версии Дельфи возможна несовместимость.



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

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



Память: 0.46 MB
Время: 0.025 c
1-1142683951
Ольга
2006-03-18 15:12
2006.04.23
Проблема при работе двух процессов с одним файлом.


2-1144620145
mfender
2006-04-10 02:02
2006.04.23
Отследить изменение значения поля


2-1144386983
Juice85
2006-04-07 09:16
2006.04.23
Delphi7+MySql


2-1144250929
Vacek
2006-04-05 19:28
2006.04.23
Можно ли, используя delphi 5, сделать отправку почты из microsoft


15-1143831562
Мазут Береговой
2006-03-31 22:59
2006.04.23
Течет память...




   Наверх