Главная страница
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.029 c
6-1081246556
FireMan_Alexey
2004-04-06 14:15
2004.05.23
Асинхронные сообщения сокетов!


3-1082967154
Nataly
2004-04-26 12:12
2004.05.23
Помогите с QuickReport (как работать без принтера)


1-1084256372
FireMan_Alexey
2004-05-11 10:19
2004.05.23
Потоки


4-1080844579
Tack83
2004-04-01 22:36
2004.05.23
Как вывести Hint в произвольном месте экрана?


3-1083086961
как сделать
2004-04-27 21:29
2004.05.23
хочу объединить три поля одной таблицы в одно