Einzelnen Beitrag anzeigen

White-Tiger

Registriert seit: 21. Dez 2007
3 Beiträge
 
Turbo Delphi für Win32
 
#1

INI lesen vor Application.Run

  Alt 11. Feb 2008, 20:19
Also als 1. sry für die eventuell dämliche Frage...
Und zwar wie der Title schon vermuten lässt habe ich ein Problem damit meine Werte in der INI Datei zulesen bevor Application.Run ausgeführt wird..

Somit ich möchte die INI direkt in der Projekt Datei lesen

Nur leider kommt mir schon alleine bei der Überprüfung ob die Section existiert das sie es nicht tut obwohl sie es tut.
Selbst wenn ich dies rausnehme gehts nicht, im gegenteil dann bekomme ich sogar eine Fehler Meldung

"Zugriff verletzung bei Adresse"

Kann man keine INI's direkt in der Projekt datei lesen?

Delphi-Quellcode:
program SauerbratenLauncher;

uses
  Forms,
  Unit1 in 'Unit1.pas{Form1},
  Unit2 in 'Unit2.pas{Form2},
  Windows, SysUtils, Dialogs, IniFiles, ShellAPI;

{$R *.res}
var
  i: integer;

begin
  Application.Initialize;
  Application.Title := 'Sauerbraten Launcher';
  // Param Check
  i:= 1;
  while i < ParamCount do
  begin
    if ParamStr(i) = '-serverthen
    begin
      ShowMessage('Parameter -server bestätigt'#13#10+
                'Übergebener Wert war '+ParamStr(i+1)+' !!!');
      Config:= TIniFile.Create(ExtractFileDir(ParamStr(0))+'Sauerbraten Launcher\sv_profs.ini');
      try
        {
        if Config.SectionExists(ParamStr(i+1)) then
        begin
          ExecuteFile(Config.ReadString(ParamStr(i+1) ,'Path','bin/sauerbraten.exe'),
          '-d -l"'+Config.ReadString(ParamStr(i+1) ,'Map','base/metl4')+
          '" -n"'+Config.ReadString(ParamStr(i+1) ,'Name','New Serve')+
          '" -c"'+Config.ReadString(ParamStr(i+1) ,'Player','6')+
          '" -p"'+Config.ReadString(ParamStr(i+1) ,'PW','New PW')+
          '" -o"'+Config.ReadString(ParamStr(i+1) ,'MasterMode','0')+'"', '', false);
        {
        end
        else
          ShowMessage('Error! Konnte das Profil "'+ParamStr(i+1)+'" nicht finden');
      finally
        Config.Free;
      end;
      Exit;
    end;
    i:=i+1;
  end;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Application.Run;
end.
René
MfG White-Tiger
  Mit Zitat antworten Zitat