IPB

Добро пожаловать, гость ( Вход | Регистрация )

> Замена системных модулей для Delphi, Уменьшим размер WinAPI приложений на 9-11 кб.
Grom PE
Nov 7 2007, 01:15
Сообщение #1


Advanced Member
***

Группа: CTPAX-X
Сообщений: 84
Регистрация: 7-February 08
Из: i@grompe.org.ru
Пользователь №: 3,120
Спасибо сказали: 95 раз(а)



Как говорится, писал для себя, но думаю, пригодится и другим.

grompe.org.ru/files/delphisys.rar — Устарело, см. ниже

Если у вас чистый проект на Delphi, в котором используется только WinAPI, и по минимуму всяких встроенных функций языка, то большой шанс, что программу можно сократить примерно на 10 кб, используя эту замену системных модулей.


Пропатченный компилятор от Delphi 7 — DCC32HACK, нацеленный на минимальный размер WinAPI программ,
а также обновленная замена системных модулей внутри.

http://grompe.org.ru/files/dcc7hack.rar
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
 
Reply to this topicStart new topic
Ответов
-=CHE@TER=-
Feb 15 2010, 16:28
Сообщение #2


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,378
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 322 раз(а)



С заголовками функций GetDiskFreeSpaceEx в "Windows_int.inc" косяк был: PLargeInteger вместо TLargeInteger - исправил, плюс там точка с запятой была, вместо запятой - т.е. 2 и 3 параметры вообще были без типов.

После исправления:
CODE

function GetDiskFreeSpaceEx(lpDirectoryName: PChar;
  var lpFreeBytesAvailableToCaller, lpTotalNumberOfBytes, lpTotalNumberOfFreeBytes: TLargeInteger): BOOL; stdcall;

function GetDiskFreeSpaceExA(lpDirectoryName: PAnsiChar;
  var lpFreeBytesAvailableToCaller, lpTotalNumberOfBytes, lpTotalNumberOfFreeBytes: TLargeInteger): BOOL; stdcall;

function GetDiskFreeSpaceExW(lpDirectoryName: PWideChar;
  var lpFreeBytesAvailableToCaller, lpTotalNumberOfBytes, lpTotalNumberOfFreeBytes: TLargeInteger): BOOL; stdcall;
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Сообщения в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0 -

 



Упрощённая версия Сейчас: 10th July 2025 - 22:56