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) = '-server' then
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.