Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
Внизкак уменьшить размер консольного приложения Найти похожие ветки
← →
AntonVS © (2004-07-12 08:58) [0]создаю консольное приложение, реализующее печать из файла.. Пользую Printer(модуль Printers). Все лишние модули убрал. размер файла все равно слишком большой (356 Кб). Как уменьшить размер хотя бы до 50-80 Кб?
← →
Ega23 © (2004-07-12 08:59) [1]Все лишние модули убрал. размер файла все равно слишком большой (356 Кб). Как уменьшить размер хотя бы до 50-80 Кб?
Сначала вопрос: А смысл?
Теперь, собственно, ответ: пиши на WinAPI.
← →
Anatoly Podgoretsky © (2004-07-12 09:03) [2]AntonVS © (12.07.04 08:58)
Не использовать модуль Printers
← →
Digitman © (2004-07-12 09:03) [3]вот это
uses Windows, WinSpool, SysUtils, Classes, Graphics, Forms;
присутствует в модуле Printers
поубирай эти лишние модули - и будет тебе счастье
← →
AntonVS © (2004-07-12 09:05) [4]>>Сначала вопрос: А смысл?
ну, есть смысл... эта задача - часть большого проекта...
нужно, чтоб на дискету все влазило...
>>Теперь, собственно, ответ: пиши на WinAPI.
а еще варианты?
← →
AntonVS © (2004-07-12 09:09) [5]>>Не использовать модуль Printers
а какая альтернатива?
>>поубирай эти лишние модули - и будет тебе счастье
и как их вырезать?
← →
Ega23 © (2004-07-12 09:23) [6]Пользуйся WinAPI: GetPrinter, OpenPrinter, etc.
← →
Ega23 © (2004-07-12 09:23) [7]Кстати, 356 Кб отлично на дискету влазят.
← →
ЮЮ © (2004-07-12 09:26) [8]>ну, есть смысл... эта задача - часть большого проекта...
>нужно, чтоб на дискету все влазило...
1) Добавить функциональность в другой проект
2) Во всех проектах использовать run-time пакет vcl*.bpl
← →
Anatoly Podgoretsky © (2004-07-12 09:32) [9]AntonVS © (12.07.04 09:05) [4]
Проект настолько бедный, что денег на дискеты 720/1440 кб нет?
← →
AntonVS © (2004-07-12 09:37) [10]>>Кстати, 356 Кб отлично на дискету влазят.
эта задача - маленькая часть....
вся прога должна влазить на дискету..., в том числе и этот exe-щник
← →
evvcom © (2004-07-12 09:42) [11]Тебе уже объяснили, выбирай: либо быстрота и удобство VCL, либо переходи на WinAPI. Еще альтернатива KOL.
← →
AntonVS © (2004-07-12 09:54) [12]>>Еще альтернатива KOL.
Во....
это кто такой?
← →
Anatoly Podgoretsky © (2004-07-12 09:54) [13]evvcom © (12.07.04 09:42) [11]
Неправильный подход, надо найти спонсора, профинансирующего покупку пишущего CD
← →
evvcom © (2004-07-12 09:58) [14]
> >>Еще альтернатива KOL.
> Во....
> это кто такой?
А глаза поднять на список форумов?
> Неправильный подход, надо найти спонсора, профинансирующего
> покупку пишущего CD
Гы-гы!
Объявляется конкурс на самого щедрого спонсора!
← →
AntonVS © (2004-07-12 10:07) [15]>>А глаза поднять на список форумов?
угу
← →
Slym © (2004-07-12 10:23) [16]1. скопируй Printers в папку проекта.
2. Убери из Printers Forms!!!
3. Добавь uses Messages;
4. Найди строку
function AbortProc(Prn: HDC; Error: Integer): Bool; stdcall;
именно в этой функции (для D7) используется Application.ProcessMessages и замени на код:
function ProcessMessage(var Msg: TMsg): Boolean;
begin
Result := False;
if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then
begin
Result := True;
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
end;
function AbortProc(Prn: HDC; Error: Integer): Bool; stdcall;
var Msg: TMsg;
begin
while ProcessMessage(Msg) do {loop};
Result := not FPrinter.Aborted;
end;
← →
Slym © (2004-07-12 10:28) [17]Или ваще убери Application.ProcessMessages... и смотри что выйдет
Мастаки напешите ктонить статью "Вырезаем нужный компонент из кучи стандартных с целью уменшения размера exe", а то мне вылом...
← →
Slym © (2004-07-12 10:34) [18]И поищи UPX - упаковщик Exe, но сначала почитай статью Подгоретского на эту тему
← →
AntonVS © (2004-07-12 10:38) [19]Slym, спасибо
exe-щник в 3 раза уменьшился
← →
AntonVS © (2004-07-12 10:54) [20]а есть ли где в настройках Delphi такая штука, как не пользовать переменные, классы не используемые в проекте?
я порылся - не нашел ничего.
но по идее должно быть что-нибудь такое....
← →
evvcom © (2004-07-12 10:56) [21]Вырезав все ненужное (VCL), ты получил чистое API. О чем изначально и говорилось. :)
← →
Ega23 © (2004-07-12 11:07) [22]Я думаю, что если ты воспользуешься тем, что я писал тебе в [6], размер ещё сильнее уменьшится. :о)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.035 c