Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

запуск приложения


jslayer ©   (2007-10-09 10:58:00) 

Мне нужно сразу после запуска приложения читать данные из ini-файла. Не могу найти какое событие происходит при запуске приложения. Событие Form1.Create , Form1.Activate и т.д. не подходят, т.к. формы нет, а есть просто иконка в трее. Подскажите какое событие происходит при запуске приложения? Или может что-то еще можно использовать?


jslayer   (2007-10-12 10:45:00) [1]


> Дык, я ж поставил :)За троечку еще надо побороться ;)


Ну, это дело времени


jslayer   (2007-10-12 10:45:00) [2]


> Дык, я ж поставил :)За троечку еще надо побороться ;)


Ну, это дело времени...


Leonid Troyanovsky   (2007-10-12 09:59:00) [3]


> jslayer ©   (12.10.07 04:34) [13]

> Это видимо замечания мне. Леонид, может отметки поставите
> еще, ну как в школе.

Дык, я ж поставил :)
За троечку еще надо побороться ;)

--
Regards, LVT.


jslayer   (2007-10-12 04:34:00) [4]


> Проба, как оказалось, была неудачной.

Проба оказалась вполне удачной,все прекрасно работает. Вам, леонид, тоже спасибо за ответы.


> Так и не выяснено, чем приложение с формой отличается от
> других.Не понято, что такое события OnCreate & etc.Не читан
> даже хелп, скажем, про Using TIniFile: On subsequent execution
> of this application, the INI values are read in during creation
> of the form and written back out in the OnClose event.

Это видимо замечания мне. Леонид, может отметки поставите еще, ну как в школе. Решение вопроса было направлено на решение конкретной задачи, пока не более. Очень рад, что Вы так заботитесь о моем образовании.


> Иконки закончились, т.е. все пораспуздырились.

пора.. что? нда уж. :)


Leonid Troyanovsky   (2007-10-10 09:37:00) [5]


> Slym ©   (10.10.07 06:05) [9]

> нифигасе иконочка в трее

Иконки закончились, т.е. все пораспуздырились.

--
Regards, LVT.


Leonid Troyanovsky   (2007-10-10 09:32:00) [6]


> jslayer ©   (10.10.07 07:01) [10]

> Да это просто пробный проект :)

Проба, как оказалось, была неудачной.

Так и не выяснено, чем приложение с формой отличается от других.
Не понято, что такое события OnCreate & etc.
Не читан даже хелп, скажем, про Using TIniFile:
On subsequent execution of this application, the INI values are read in during creation of the form and written back out in the OnClose event.

--
Regards, LVT.


jslayer   (2007-10-10 07:01:00) [7]

Блин, спасибо вообще! :) эта самая трассировка помогла


> Slym ©   (10.10.07 06:05) [9]
> Application.CreateForm(TForm1, Form1);нифигасе иконочка
> в трее

Да это просто пробный проект :) А для иконы у меня компонент

Спасибо всем большое!


Slym   (2007-10-10 06:05:00) [8]

Application.CreateForm(TForm1, Form1);
нифигасе иконочка в трее


ASoft   (2007-10-10 05:56:00) [9]

...
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
  GetDir(0,sPath);
  sIniFile := TIniFile.Create(sPath + '\settings.ini');
  unit1.Form1.Label1.Caption := sIniFile.ReadString('11', '22', S);
  sIniFile.Free;
Application.Run;
end.

иногда трассировка помогает %)


jslayer   (2007-10-10 05:11:00) [10]

Действительно нужно сам файл проекта (*.dpr) изменять.
Разобрался с записью в ini, все получается:

program Project1;
uses
 Forms,
 Unit1 in 'Unit1.pas' {Form1},
 IniFiles;

var
 sIniFile: TIniFile;
 sPath : String[60];

{$R *.res}

begin
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.Run;
   GetDir(0,sPath);
   sIniFile := TIniFile.Create(sPath + '\settings.ini');
   sIniFile.WriteString('11','22','33');
   sIniFile.Free;
end.

А вот чтение не выходит. Пробую так:

program Project1;
uses
 Forms,
 Unit1 in 'Unit1.pas' {Form1},
 IniFiles;

const
 S = 'xyz';

var
 sIniFile: TIniFile;
 sPath: String[60];

{$R *.res}

begin
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.Run;
   GetDir(0,sPath);
   sIniFile := TIniFile.Create(sPath + '\settings.ini');
   unit1.Form1.Label1.Caption := sIniFile.ReadString('11', '22', S);
   sIniFile.Free;
end.


Leonid Troyanovsky   (2007-10-09 14:23:00) [11]


> KSergey ©   (09.10.07 13:33) [5]

> До создания иконки в трее? Или после создания формы?

Утверждалось, что формы нет.
А "создавать" иконку до окна смысла нет.

--
Regards, LVT.


KSergey   (2007-10-09 13:33:00) [12]

А в какой момент хочется читать?
До создания иконки в трее? Или после создания формы?


Leonid Troyanovsky   (2007-10-09 12:46:00) [13]


> jslayer ©   (09.10.07 10:58)  

>  не подходят, т.к. формы нет, а есть просто иконка в трее.
>  Подскажите какое событие происходит при запуске приложения?

Например, WM_CREATE.

--
Regards, LVT.


clickmaker   (2007-10-09 11:24:00) [14]


> Подскажите какое событие происходит при запуске приложения?

program MyApp;

uses
 Windows,
 Sysutils;

{$R *.RES}

begin
 //     <------------- попадаешь вот сюда

end.


Ega23   (2007-10-09 11:10:00) [15]


program ARM;

uses
 Windows,
 Forms,
 UMainWindow in 'UMainWindow.pas' {MainForm},
 ..........

{$R *.RES}
var
hnd : THandle;

begin

 // Это - проверка на запуск одной копии программы

 hnd:=CreateMutex(nil, false, PChar('FuckihgLife'));
 if GetLastError = ERROR_ALREADY_EXISTS then
 begin
  Beep(100, 200);
  ReleaseMutex(hnd);
  Exit;
 end;

 // А вот тут можешь читать свой ini

   {$IFDEF MINI_PROFILER}
     miniprof.resFileName := 'ARM_profile.txt';
     MiniProfiler.SectionBegin(Nil,'Applcation');
   {$ENDIF}

 Application.Initialize;
 Application.CreateForm(TMainForm, MainForm);
 Application.Run;
   {$IFDEF MINI_PROFILER}
     MiniProfiler.SectionEnd();
   {$ENDIF}
end.


Ega23   (2007-10-09 11:08:00) [16]

Нет никаких событий.


Наверх

Титульная страница Поиск, карта сайта Написать письмо