Форум: "WinAPI";
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];
ВнизСоздание окна при помощи WinAp Найти похожие ветки
← →
solo (2002-01-18 01:45) [0]Люди подскажите: попробовал писать в дельфи на чистом WinApi. Сделал так: Создал новый проект => Удалил форму => Написал в файле проекта код создающий главную форму. Размер приложения зашкалил за 280кБ. Как этого избежать?
← →
Almaz (2002-01-18 02:25) [1]Из uses модуль Forms удалить не забыли ?
Удачи.
← →
Almaz (2002-01-18 02:49) [2]Примера ради, нижеследующий код будучи скомпилированным в D5 дает исполняемый файл размером 17 кбайт.
program WinAPI;
uses Windows, Messages;
function WndProc(hWnd: HWnd; uMsg: Integer; wParam: WParam; lParam: LPARAM): Integer; stdcall;
begin
case uMsg of
WM_CLOSE:
begin
PostQuitMessage(0);
Result := 0;
end else
Result := DefWindowProc(hWnd, uMsg, wParam, lParam);
end;
end;
var
WndClass : TWndClass;
Msg: TMsg;
Wnd: HWND;
begin
FillChar(WndClass, SizeOf(WndClass), 0);
with WndClass do
begin
style := CS_VREDRAW or CS_HREDRAW;
lpfnWndProc := @WndProc;
hCursor := LoadCursor(0, IDC_ARROW);
hbrBackground := GetStockObject(WHITE_BRUSH);
lpszClassName := "MySimpleClass";
hInstance := SysInit.HInstance;
end;
if RegisterClass(WndClass) <> 0 then
begin
Wnd := CreateWindow("MySimpleClass", "My window",
WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, 0, 0, hInstance, nil);
if Wnd <> 0 then
begin
ShowWindow(Wnd, SW_SHOWNORMAL);
while GetMessage(Msg, 0, 0, 0) do
begin
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
end;
end;
end.
Удачи.
← →
solo (2002-01-18 14:13) [3]Народ, конечно я отключил VCL(я понимаю что они вес дают), из модулей у меня подключено только Windows и Messages. Но вот какая фишка: вчера до 3-х ночи бился, чуть голову не сломал - 284кБ. Сегодня откомпилировал тот же код - 16,5кБ. Ну правда я с утра Windows переустановил :-D .
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c