Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.11.04;
Скачать: [xml.tar.bz2];

Вниз

запуск приложения   Найти похожие ветки 

 
jslayer ©   (2007-10-09 10:58) [0]

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


 
Ega23 ©   (2007-10-09 11:08) [1]

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


 
Ega23 ©   (2007-10-09 11:10) [2]


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.


 
clickmaker ©   (2007-10-09 11:24) [3]


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

program MyApp;

uses
 Windows,
 Sysutils;

{$R *.RES}

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

end.


 
Leonid Troyanovsky ©   (2007-10-09 12:46) [4]


> jslayer ©   (09.10.07 10:58)  

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

Например, WM_CREATE.

--
Regards, LVT.


 
KSergey ©   (2007-10-09 13:33) [5]

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


 
Leonid Troyanovsky ©   (2007-10-09 14:23) [6]


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

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

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

--
Regards, LVT.


 
jslayer ©   (2007-10-10 05:11) [7]

Действительно нужно сам файл проекта (*.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.


 
ASoft   (2007-10-10 05:56) [8]

...
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.

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


 
Slym ©   (2007-10-10 06:05) [9]

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


 
jslayer ©   (2007-10-10 07:01) [10]

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


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

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

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


 
Leonid Troyanovsky ©   (2007-10-10 09:32) [11]


> 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.


 
Leonid Troyanovsky ©   (2007-10-10 09:37) [12]


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

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

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

--
Regards, LVT.


 
jslayer ©   (2007-10-12 04:34) [13]


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

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


> Так и не выяснено, чем приложение с формой отличается от
> других.Не понято, что такое события 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-12 09:59) [14]


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

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

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

--
Regards, LVT.


 
jslayer ©   (2007-10-12 10:45) [15]


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


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


 
jslayer ©   (2007-10-12 10:45) [16]


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


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



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.11.04;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.048 c
15-1191363637
Суслик
2007-10-03 02:20
2007.11.04
Файл HOSTS


2-1191990597
Al500
2007-10-10 08:29
2007.11.04
Подскажите пожалуйста, возможно ли неявно вызвать процедуру


2-1192106178
GamerZone
2007-10-11 16:36
2007.11.04
Статус сервера


11-1175282665
Trible
2007-03-30 23:24
2007.11.04
Checkbox для ecmListEdit


2-1192036643
Riply
2007-10-10 21:17
2007.11.04
Запись в память и "выравнивание".





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский