Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Память уходит, уменьшить расход 
:(
    Опции темы
CatFromSummer
Дата 11.2.2008, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 14.1.2008

Репутация: нет
Всего: нет



Исходные данные:

Программа следящая чтобы другая была загружена и при необходимости перегружающая её. Код не сложный см. ниже. Результат получился в 510кб EXE. В памяти оно при старте около 1,5Мб. При перегрузке программы накидывается еще несколько десятков Кб. 

Подскажите пожалуйста где у меня возможна ошибка и как можно уменьшить занимаемое в памяти место. Если возможно решение не на Delphi, а на чем то другом с меньшими затратами памяти, подскажите в личку.

Код программы. Для скрытия основной программы используется RXTrayIcon.

Код

unit UnitMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, AppEvnts, ExtCtrls, Menus, ShellApi, StdCtrls, Buttons, ImgList,
  RXShell;

type
  TToonelCheck = class(TForm)
    PopupMenu: TPopupMenu;
    Timer: TTimer;
    ApplicationEvents: TApplicationEvents;
    btnExit: TBitBtn;
    Label1: TLabel;
    mRestore: TMenuItem;
    RxTrayIcon: TRxTrayIcon;
    ImageList: TImageList;
    mSeparator: TMenuItem;
    mExit: TMenuItem;
    procedure FormCreate(Sender: TObject);
    procedure btnExitClick(Sender: TObject);
    procedure TimerTimer(Sender: TObject);
    procedure mRestoreClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ApplicationEventsMinimize(Sender: TObject);
  private
    { Private declarations }
   procedure CheckAndLoadToonel;
  public
    { Public declarations }
  protected
    { Protected declarations }
  end;

var
  ToonelCheck : TToonelCheck;
  h           : hwnd;

implementation

{$R *.dfm}

procedure TToonelCheck.CheckAndLoadToonel;
begin
 if not (FindWindow(nil, 'toonel.net') <> 0) then
  begin
   if not FileExists(ExtractFilePath(Application.ExeName)+'toonel.jar') then
    ShowMessage('toonel.jar не найден в каталоге программы.')
   else
    begin
     ShellExecute(h, 'open', 'toonel.jar', nil, nil, SW_MINIMIZE);
    end;
  end
 else
  begin
   // ShowMessage('Окно найдено');
  end;
end;

procedure TToonelCheck.FormCreate(Sender: TObject);
begin
 CheckAndLoadToonel;
end;

procedure TToonelCheck.TimerTimer(Sender: TObject);
begin
 CheckAndLoadToonel;
end;

procedure TToonelCheck.btnExitClick(Sender: TObject);
begin
 Application.Terminate;
end;

procedure TToonelCheck.mRestoreClick(Sender: TObject);
begin
 Application.Restore;
end;

procedure TToonelCheck.FormShow(Sender: TObject);
begin
 ShowWindow(Application.Handle,SW_HIDE);
end;

procedure TToonelCheck.ApplicationEventsMinimize(Sender: TObject);
begin
 ShowWindow(Application.Handle,SW_HIDE);
end;

end.

PM MAIL   Вверх
Elfebet
Дата 11.2.2008, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 545
Регистрация: 15.5.2006
Где: Украина. Запорожь е.

Репутация: 2
Всего: 14



юзай винапи


--------------------
Программист не должен всё знать... он должен знать где можно посмотреть
PM MAIL ICQ GTalk   Вверх
Alexeis
Дата 11.2.2008, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



CatFromSummer, да для простых прог подойдет и WinApi. Но удобнее писать на KOL (Delphi7). 
А вообще см. http://forum.vingrad.ru/index.php?show_typ...showtopic=82845
100 раз обсудалось.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0619 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.