Текущий архив: 2006.04.23;
Скачать: 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 вся ветка
Текущий архив: 2006.04.23;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.021 c