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

Вниз

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

 
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 вся ветка

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

Наверх





Память: 0.47 MB
Время: 0.009 c
3-78304
UncleRu
2002-10-02 20:40
2002.10.24
картинки в Oracle9i


14-78658
Cker
2002-10-05 00:13
2002.10.24
Unicode


6-78579
Le!
2002-08-20 08:32
2002.10.24
Вопрос: Как не потерять данные при разрыве связи?


3-78203
NewI
2002-09-30 08:42
2002.10.24
Как получить кол-во записей в TQuery. RecordCount не


7-78698
Сережа
2002-08-16 09:27
2002.10.24
Закрытие Windows





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