Вниз
Скачать: CL | DM;

Как перезагрузить программу?   Найти похожие ветки 

← →
AlexHEY   (2002-10-11 22:45) [0]

У меня в OnCreate главной формы загружаються настройки из ini
файла. Как можно програмно перезагрузить программу?


← →
Song ©   (2002-10-11 22:48) [1]

Создать батник с запуском проги, запустить батник, закрыть.


← →
TTCustomDelphiMaster ©   (2002-10-11 22:51) [2]

Запустить вторую копию через ShellExecute и закрыть первую.


← →
AlexHEY   (2002-10-11 22:52) [3]

А пример? :)


← →
Kotka ©   (2002-10-11 23:10) [4]

Сам хоть раз пошевели мозгами или кнопкой F1!


← →
AlexHEY   (2002-10-11 23:14) [5]

Кнопка F1 не работает :)
Мозги тоже :)


← →
Дремучий ©   (2002-10-11 23:20) [6]

смешно...
:))

1)выносишь чтение ини файла в отдельную процедуру.
2)вызываешь ее в онКриэйт
3)вызываешь в других местах

П.С. брать пример с мелкософта - дурной тон, ты б комп перегрузил, чтоб настройки из инифайла перечитать.
:)


← →
AlexHEY   (2002-10-11 23:23) [7]

:)
А как можно вызвать процедуру которая находится в другом модуле?


← →
Дремучий ©   (2002-10-11 23:32) [8]

1)я такие процедурки выношу в отдельный модуль, обычно обзываю его global.pas Вот пример такого модуля...

unit global;

interface
uses Forms, Sysutils, Controls, IniFiles, general;

var
IniFile :TIniFile;

OpDay :TDate;
Date1,Date2 :TDate;

KlientFileName,
DataFileName :string;
ClientCode :integer;
PlaceCode :integer;

DirAppRoot,
DirAppDataDefault,
DirAppData,
DirAppDataBase,
DirAppDataNSI,
DirAppReport :string;

const
//имя раздела ини~файла
OptionsSection = "Options";

procedure ReadOptions;
procedure SaveOptions;

implementation

procedure ReadOptions;
begin
IniFile:= TIniFile.Create(ChangeFileExt(Application.ExeName,".ini"));
try
DirAppData:= IniFile.ReadString(OptionsSection, "DirAppData", DirAppDataDefault);
DirAppDataBase:= IniFile.ReadString(OptionsSection, "DirAppDataBase",DirAppDataDefault);
DirAppDataNSI:= IniFile.ReadString(OptionsSection, "DirAppDataNSI",DirAppDataDefault);

KlientFileName:= QuotedStr(DirAppDataNSI + "klient.dbf");
finally
IniFile.Free;
end;
end;

procedure SaveOptions;
begin
//возможно изменился DirAppDataNSI
KlientFileName:= QuotedStr(DirAppDataNSI + "klient.dbf");

IniFile:= TIniFile.Create(ChangeFileExt(Application.ExeName,".ini"));
try
IniFile.WriteString(OptionsSection, "DirAppData", DirAppData);
IniFile.WriteString(OptionsSection, "DirAppDataBase", DirAppDataBase);
IniFile.WriteString(OptionsSection, "DirAppDataNSI", DirAppDataNSI);
finally
IniFile.Free;
end;
end;

initialization
DirAppRoot:= DirToPath(ExtractFileDir(Application.ExeName));
DirAppReport:= DirAppRoot + "Report\";
DirAppDataDefault:= DirAppRoot + "Data\";

ReadOptions;
end.


2)в модулях из которых нужно вызывать пишешь uses global;
Вот пример

unit options;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask, ToolEdit, IniFiles, Buttons, ExtCtrls, ComCtrls,
general;

type
TfmOptions = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Panel1: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label3: TLabel;
edDirAppData: TDirectoryEdit;
GroupBox1: TGroupBox;
Label1: TLabel;
edDirAppDataBase: TDirectoryEdit;
Label2: TLabel;
edDirAppDataNSI: TDirectoryEdit;
TabSheet2: TTabSheet;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
procedure BitBtn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
fmOptions: TfmOptions;

implementation
uses global;
{$R *.DFM}

procedure TfmOptions.FormCreate(Sender: TObject);
begin
......


← →
AlexHEY   (2002-10-11 23:37) [9]

Огромное спасибо!!!
пойду чинить F1 и............


← →
Kotka ©   (2002-10-11 23:37) [10]

>Кнопка F1 не работает

Что, не выдержала частых нажатий?


← →
AlexHEY   (2002-10-12 22:14) [11]

>Kotka © (11.10.02 23:37)

:)


← →
int64 ©   (2002-10-13 04:37) [12]

Обязательно перезагружать? Что вы тут развели бодягу, когда для решения задачи может хватить и запуска OnCreate.



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.012 c
3-78210
surkis
2002-10-04 11:58
2002.10.24
Помогите с плиз Access-овским паролем


3-78284
User0
2002-10-01 14:26
2002.10.24
Почему Event-ы не ловятся ?


1-78525
Squ
2002-10-14 10:12
2002.10.24
Подскажите где найти простенький де-архиватор?


3-78234
brestmarket
2002-09-29 02:02
2002.10.24
Как определить: видна сейчас на экране опред. кол-ка DBGrid?


8-78542
vic_774N
2002-06-25 11:33
2002.10.24
ключ к MMTools




   Наверх