Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2008, 19:39   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,899
Вопрос Запуск exe с готовыми настройками

Пытаюсь запустить lithtech.exe с готовыми настройками. Проблема возникла при указании пути на файл. Если путь указать с помощью OpenDialog всё нормально, если написать самому то игра начинается запускаться и тут же слетает (окно появляется и тут же исчезает). Если же нужный файл лежит в одной папке с lithtech.exe, то запуск производится нормально даже по указанному в Edit пути.
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Label1: TLabel;
    OpenDialog1: TOpenDialog;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Path: string;

implementation

{$R *.dfm}

const CMDL_MAIN     : String = 'lithtech.exe -windowtitle "Aliens versus Predator 2 - Shouldercannon"';
      CMDL_REZES    : String = ' -rez AVP2.rez -rez sounds.rez -rez Alien.rez -rez Marine.rez -rez Predator.rez -rez Multi.rez -rez AVP2dll.rez -rez AVP2l.rez -rez AVP2p.rez -rez AVP2p1.rez -rez AVP2SP.rez';
      CMDL_SETTINGS : String = ' +DisableMusic 0 +DisableSound 0 +DisableMovies 1 +EnableTripBuf 1 +DisableHardwareCursor 0 +enableretaillevels 1';
      CMDL_NETWORK  : String = ' +gsa 1 +gsa_ip {%IP%} +gsa_port {%PORT%}';

procedure TForm1.Button1Click(Sender: TObject);
begin
OpenDialog1.Execute;
Edit1.Text:=(ExtractFilePath(OpenDialog1.FileName));
end;

procedure TForm1.Button2Click(Sender: TObject);
var ExPath : String;
    List:TStringList;
begin
Path:=Edit1.Text;

if not FileExists(Path+'lithtech.exe') then begin
ShowMessage('File not found '+ Path+'lithtech.exe');
exit;
end;

ExPath := Path + CMDL_MAIN + CMDL_REZES + CMDL_SETTINGS + CMDL_NETWORK;

ShowMessage(ExPath);

WinExec(pchar(ExPath), SW_SHOW);
end;

end.
Shouldercannon вне форума Ответить с цитированием
Старый 25.12.2008, 20:17   #2
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Сообщений: 279
По умолчанию

Задай рабочую директорию перед запуском.
Сказал и загрустил от бесспорности своей правоты.
0nni вне форума Ответить с цитированием
Старый 25.12.2008, 20:34   #3
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,899
По умолчанию

Цитата:
Задай рабочую директорию перед запуском.
Тобишь сразу прописать путь если да, то это я делал.
Shouldercannon вне форума Ответить с цитированием
Старый 25.12.2008, 21:08   #4
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Сообщений: 279
По умолчанию

перед выполнением WinExec напиши
Код:
ChDir();
в качестве параметра используй путь к папке с программой.
Либо через ShellExecute(), тоже с заданием рабочей папки.
Сказал и загрустил от бесспорности своей правоты.
0nni вне форума Ответить с цитированием
Старый 25.12.2008, 21:56   #5
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,899
По умолчанию

Огромное спасибо! Работает.
Shouldercannon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск *.exe из программы Djaconda Паскаль, Turbo Pascal, PascalABC.NET 22 01.03.2012 00:27
запуск exe Manitu Помощь студентам 11 02.05.2008 19:03
Прописать запуск exe-файла Manitu Помощь студентам 4 07.03.2008 10:31
Запуск exe с параметрами Altera Общие вопросы Delphi 2 26.02.2008 21:25
Запуск exe-файла из приложения TerVovik Помощь студентам 4 12.12.2007 16:21