Autor Beitrag
raven
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: Fr 06.06.03 15:52 
hi leutz ;)

ich möchte zu begin meines programms in einer Ini Datei prüfen ob 4 bestimmte sections vorhanden sind ... die ini datei soll beim starten des Progs in einem open dialog ausgwählt werden... wenn die 4 sections vorhanden sind kommt ne meldung OK und das prog wird angezeigt, wenn nich kommt ein fehlerdialog und das programm wird geschlossen, also nicht geöffnet... das prob is nur egal welche ini datei ich auswähle, ganz egal ob die sections excisitieren es kommt immer die fehlermeldung... ?!? wer erkennt hier den fehler?:

ia: ne stringvariable die den file path speichert ....
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
procedure TForm1.FormCreate(Sender: TObject);
var
ini:Tinifile;
begin
if open.execute then
begin
ia:=open.Files.Text;
ini:=tinifile.create(ia);
if (ini.SectionExists('Engine.GameEngine')=true) and (ini.SectionExists('D3DDrv.D3DRenderDevice')=true) and (ini.SectionExists('WinDrv.WindowsClient')=true) and (ini.SectionExists('Engine.Player')=true) then
begin
showmessage('ok!')
end
else
begin
messagedlg('Ungültige *.INI Datei!',mterror,[mbok],0);
application.Terminate;
end;
end;
end;


danke
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 06.06.03 21:37 
Geht. Ich vermisse lediglich, dass du die Variable "ini" am Schluss wieder freigibst. So sieht´s bei mir aus:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
  ini:=TIniFile.Create(ia);
  try
    if(ini.SectionExists('Engine.GameEngine')) and
      (ini.SectionExists('D3DDrv.D3DRenderDevice')) and
      (ini.SectionExists('WinDrv.WindowsClient')) and
      (ini.SectionExists('Engine.Player')) then
    begin
      showmessage('ok!')
    end else begin
      messagedlg('Ungültige *.INI Datei!',mterror,[mbok],0);
      application.Terminate;
    end;
  finally
    ini.Free;
  end;

Klappt. Ich vermute den Fehler eher hier:
raven hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
ia:=open.Files.Text;					

Wie wär´s stattdessen mit
ausblenden Delphi-Quelltext
1:
ia := open.FileName;