Главная страница
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.035 c
3-1082709061
Wint_
2004-04-23 12:31
2004.05.23
Как подконнектиться к MySQL базе через ADO?


9-1074623507
Black Fury
2004-01-20 21:31
2004.05.23
Как создать новую поверхность?


1-1083760896
griban
2004-05-05 16:41
2004.05.23
combobox


1-1084188993
Sonic_gd
2004-05-10 15:36
2004.05.23
Нужно присвоить нажатию кнопки на форме...


9-1073604798
Jenaxx
2004-01-09 02:33
2004.05.23
Как использовать в программе разных размеров спрайты