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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.011 c
2-1144357771
Std
2006-04-07 01:09
2006.04.23
динамический массив


2-1144390072
al-al
2006-04-07 10:07
2006.04.23
Создание ярлыка


15-1144153530
kay
2006-04-04 16:25
2006.04.23
Коллективное программирование. Что использовать?


2-1144314324
Cneltyn
2006-04-06 13:05
2006.04.23
Как вывести в Имидж содержимое другого Ммиджа в опр-ые координаты


15-1143813477
ronyn
2006-03-31 17:57
2006.04.23
half - life и winRoute





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