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

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

Окно апи в ДЛЛ ? [D7, Win2k]


Prov ©   (2003-08-21 12:49:00) 

Есть проблема:
Вот код ДЛЛ:

library Form;

uses
Windows,
messages;

{$R *.res}
var
VisualForm: hWnd;
WindowClass: TWndClassEx;
Mesg: TMsg;

function WindowProc(HWND: hWnd; Msg: integer; wParam: WPARAM; lParam: LPARAM):LongInt; stdcall;
Begin
case Msg of
WM_DESTROY:
begin
PostquitMessage(0);
//UnRegisterClass("Window", hInstance);
end;
end;
Result:= DefWindowProc(HWND, Msg, wParam, lParam);
end;

procedure CreateForm; stdcall;
begin
with WindowClass do
begin
WindowClass.cbSize:= SizeOf(WindowClass);
WindowClass.style:= WS_OVERLAPPED;
WindowClass.lpfnWndProc:= @WindowProc;
WindowClass.hInstance:= hInstance;
WindowClass.hIcon:= LoadIcon(hInstance, idi_application);
WindowClass.hCursor:= LoadCursor(hInstance, idc_arrow);
WindowClass.hbrBackground:= Color_BtnFace + 1;
WindowClass.lpszMenuName:= nil;
WindowClass.lpszClassName:= "Window";
RegisterClassEx(WindowClass);
end;
RegisterClassEx(WindowClass);
VisualForm:= CreateWindow("Window",
"Window",
WS_OVERLAPPED,
100,
100,
100,
100,
0,
0,
hInstance,
nil);
ShowWindow(VisualForm, SW_SHOW);

while GetMessage(Mesg, 0, 0, 0) do
begin
TranslateMessage(Mesg);
DisPatchMessage(Mesg);
end;
end;

exports
CreateForm;

begin

end.


Когда вызываю процедуру CreateForm - ничего нету... А должна появится форма..

Помогите советом.
Заранее благодарен..


Prov   (2003-08-21 16:37:00) [1]

Спасибо Вам большое - додумался...


Игорь Шевченко   (2003-08-21 13:09:00) [2]

ГДЕ ПРОВЕРКА РЕЗУЛЬТАТОВ ФУНКЦИЙ ?!?!


Крот   (2003-08-21 13:07:00) [3]

Я не знаю поможет ли , но вот это

while GetMessage(Mesg, 0, 0, 0) do
begin
TranslateMessage(Mesg);
DisPatchMessage(Mesg);
end;
end;

надо точно убрать - цикл выборки сообщений есть в исполняемом модуле.


Наверх

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