![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Форма в DLL [D6, Win95/98, WinXP]
Wasp © (2004-03-08 20:47:00)Ребята, помогите правильно создавать форму в Dll на WinAPI, а то у меня все время Handle равен 0, т.е Desktop.
Alex870 (2004-03-08 21:10:00) [1]Если формой будет пользоваться приложение, вызывающее dll, то переменную MyFormHandle (например) необходимо создавать именно там, и передавать как параметр в функцию библиотеки:
function CreateMyForm(H: Cardinal):Cardinal;external('MyDLL.dll');stdcall;
var
MyFormHandle : THandle;
procedure AnyProc();
begin
if @(CreateMyForm(MyFormHandle)) <> nil then ...
end;
а в dll функции CreateMyForm присваивай значение созданной формы и обрати внимание при создании и компиляции DLL на МЬЕ (Virtual Metod Table) неплохо так же использовать переменные и типы Windows.pas, а так же Cardinal вместо THandle в библиотеке. Удачи!