Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
3-57334
AlexOb
2002-02-19 12:02
2002.03.18
Как конвертнуть Paradox -> MySQL ?


1-57459
Nuce
2002-03-04 02:37
2002.03.18
Dhtmledit


1-57381
1g0r
2002-03-01 16:11
2002.03.18
TIniFile.RenameSection


1-57351
Georg
2002-03-04 16:16
2002.03.18
DrawGrid


1-57415
Evgenyk
2002-02-28 15:52
2002.03.18
Вызов другого приложения из модуля- как быть ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский