Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.18;
Скачать: CL | DM;

Вниз

Setup в приложении   Найти похожие ветки 

 
Amirka   (2004-03-30 09:58) [0]

Здравствуйте!
Такая проблема:
У меня есть приложение, которое запускается только с диска. При этом требуется до начала работы приложения установить кодеки, проигрыватели и т.д. Склепал в InnoSetup программу, которая устанавливает все что надо, и записывает в одну из системных папок файл presence.dat.
При следующем запуске диска моя маленькая программка проверяет, есть ли файл, если есть, запускает мою основную программу, если нет, то setup.
Пока программа проверки была отдельной, все работало, когда вставил в основную программу - появились проблемы.

Проверка стоит у меня в dpr до  Application.CreateForm(...), тем не менее главная форма создается (появляется окно), потом запускается setup, а потом срабатывает Application.terminate, а надо, чтобы в случае необхоимости запуска setup работа основной программы никак не проявлялась
Какие будут предложения?


 
Digitman ©   (2004-03-30 10:05) [1]

приводи полный код dpr


 
Amirka   (2004-03-30 10:13) [2]

procedure CheckSetup;
var
 windowsdirectory:string;
 SearchRec: TSearchRec;
 result:integer;
 windir:string;
 p:Pchar;
begin
   p:=stralloc(MAX_PATH+1);
   windows.getwindowsdirectory(p,max_path+1);
   windowsdirectory:=p;
   strdispose(p);
result:=FindFirst(windowsdirectory+"\"+"presence.dat", faAnyFile, SearchRec);
if result=0 then
//ShellExecute(0, "open", "data\viewer.exe", nil, nil, SW_SHOWNORMAL)
 Exit
 else begin

 ShellExecute(0, "open", "setup.exe", nil, nil, SW_SHOWNORMAL);    Application.terminate;
 end;
 end;

begin
CheckSetup;
 Application.Initialize;
 ComServer.UIInteractive := False;
 Application.Title := "Учебник "Защита компьютерной информации"";
 Application.CreateForm(TForm1, Form1);
 Application.CreateForm(TFormPDF, FormPDF);
 Application.CreateForm(TForm2, Form2);
 Application.Run;
end.


 
Романов Р.В. ©   (2004-03-30 10:25) [3]

function CheckSetup: Boolean;
begin
...
end;

begin
if CheckSetup then
begin
Application.Initialize;
ComServer.UIInteractive := False;
Application.Title := "Учебник "Защита компьютерной информации"";
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TFormPDF, FormPDF);
Application.CreateForm(TForm2, Form2);
Application.Run;
end;
end.


 
Amirka   (2004-03-30 10:33) [4]

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



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

Текущий архив: 2004.04.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.065 c
3-1079719384
Goida
2004-03-19 21:03
2004.04.18
Остановка процедуры на сервере...


1-1080397559
TGrigory
2004-03-27 17:25
2004.04.18
Как сделать приподнимающуюся кнопку при наведении на нее мышой


6-1076693078
Swimmer
2004-02-13 20:24
2004.04.18
Сканирование лок. сети и поиск программы-сервера по ней


8-1073173913
Checist [root]
2004-01-04 02:51
2004.04.18
Gif -> JPG


1-1080880743
Kair
2004-04-02 08:39
2004.04.18
Messages