Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: CL | DM;

Вниз

Создание TButton из DLL   Найти похожие ветки 

 
Alkmas   (2004-05-05 13:38) [0]

Здравствуйте все!

Делаю в DLL следующее:
 Butt := TButton.Create(Application.MainForm);
 Butt.Parent := Application.MainForm;//здесь ругается

Подскажите пожалуйста.


 
clickmaker ©   (2004-05-05 13:44) [1]

Передавай в DLL указатель на Application или хотя бы на MainForm


 
Goida ©   (2004-05-05 13:45) [2]

Дело в том, что Application в DLL отличается от того, который у тебя в приложении. Нужно в DLL передать Application из приложения и тогда ве заработает. Но перед освобождением DLL нужно восстановить исходный Application.


 
Alkmas   (2004-05-05 13:48) [3]

В DLL передается Application.


 
clickmaker ©   (2004-05-05 13:49) [4]


> Alkmas   (05.05.04 13:48) [3]

А как ругается?


 
Alkmas   (2004-05-05 13:53) [5]

Пишет следующее:
"Cannot Assign a TFont to a TFont"


 
Goida ©   (2004-05-05 13:55) [6]

Нужно в DLL  сделать следующее (прямо так и написать):
var
   DLLApp: TApplication;
procedure InitDLL(MyApp: integer);
begin
   DLLApp := Application;
   Application := TApplication(MyApp);
end;

procedure DoneDLL;
begin
   Application := DLLApp;
end;
Из программы запускаешь:
InitDLL(integer(Application));
Все будет работать.


 
Alkmas   (2004-05-05 13:58) [7]

У меня в программе сделано так:

var
 OldApp: TApplication;

procedure Init(App: TApplication);
begin
 OldApp := Application;
 Application := App;
end;

procedure Final;
begin
 if Assigned(OldApp) then Application := OldApp;
end;


 
clickmaker ©   (2004-05-05 14:01) [8]

Button.ParentFont := false


 
Goida ©   (2004-05-05 14:03) [9]

Попробуй передавать указатель на форму....


 
Alkmas   (2004-05-05 14:05) [10]

Спасибо получилось !!!

Только не понятно почему при этом не работает

Button.ParentFont := true;


 
Goida ©   (2004-05-05 14:06) [11]

За > Goida ©   (05.05.04 14:03) [9] извиняюсь... О другом подумал :)


 
Goida ©   (2004-05-05 14:08) [12]

Т.е. то и хотел сказать, а вот во второй раз не о том подумал...
> Goida ©   (05.05.04 14:03) [9]


> Goida ©   (05.05.04 14:06) [11]

Блин, бывает же такое... :)



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

Текущий архив: 2004.05.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.022 c
1-1083872318
Karlson
2004-05-06 23:38
2004.05.23
Удаление Ole объекта


14-1083606639
Ricks
2004-05-03 21:50
2004.05.23
Компоненты в стиле Office2003


11-1071528845
f3n
2003-12-16 01:54
2004.05.23
аналог VCL::TDrawGrid


3-1083314992
Evyshka
2004-04-30 12:49
2004.05.23
Отображение в одной колонке


1-1083958298
Sergix
2004-05-07 23:31
2004.05.23
Глюк с главной формой