Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Форма в 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 в библиотеке. Удачи!


Наверх

Титульная страница Поиск, карта сайта Написать письмо