Autor Beitrag
Regan
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Di 22.08.06 18:24 
Hallo,
ich habe ein programm, bei dem in form 2 diesen code habe:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.itemliste1Click(Sender: TObject);
var I:Integer;
sektionsdatei:String;
ini:Tinifile;
begin
i:=itemliste1.ItemIndex;
ini:=Tinifile.Create(ExtractFilePath(ParamStr(0))+'\data\items.ini');
sektionsdatei:=ini.ReadString(IntToStr(i),'pfad','');
Form3.Laden(sektionsdatei,itemliste1.Items.Strings[i],'Items');
Form3.ShowModal;
end;

damit rufe ich diese Procedure in Form3 auf:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
var
geladen:Boolean;

...

procedure TForm3.Laden(Dateiname:String;Sektionsname:String;Oberbegriff:String);
var i:Integer;
    ini:TInifile;
begin
Form3.Caption:=Oberbegriff;
RadioGroup1.Caption:='Elemente von '+Sektionsname;
ini:=Tinifile.Create(ExtractFilePath(ParamStr(0))+'data\'+Dateiname);
For i:=0 to ini.ReadInteger(Sektionsname,'anzahl',0)-1 do
begin
  RadioGroup1.Items.Add(ini.ReadString(Sektionsname,IntToStr(i),''));
end;
ini.Free;
if RadioGroup1.Items.Count<>0 then
begin
  Panel1.Visible:=true;
  RadioGroup1.ItemIndex:=0;
  RadioGroup1.OnClick(self);
  geladen:=true;
end
else
begin
  Panel1.Visible:=false;
  ShowmEssage(ExtractFilePath(ParamStr(0))+'data\'+Dateiname+' konnte nicht geladen werden!');
  geladen:=false;
end;
end;

nun möchte ich die Form beenden, wenn geladen=false ist. Mein Problem: Diese Procedure, wird ausgeführt, bevor ich das fenster anzeige. in welches ereignis muss ich dann hineinschreiben, wenn überprüft werden soll, ob geladen=false ist, und mit welchem befehl schließe ich dann die Form3?

MfG
Regan
Coder
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1383
Erhaltene Danke: 1

WinXP
D2005 PE
BeitragVerfasst: Mi 23.08.06 23:37 
Könntest du nicht statt geladen:=false; einfach gleich Form2.Hide; schreiben?
Regan Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Do 24.08.06 11:09 
sehr gute idee. ich habe nun einfach dsa Form3.ShowModal in die Form3 procedure reingenommen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
if RadioGroup1.Items.Count<>0 then
begin
  Panel1.Visible:=true;
  RadioGroup1.ItemIndex:=0;
  RadioGroup1.OnClick(self);
  Form3.ShowModal; //statt geladen=true
end
else
begin
  Panel1.Visible:=false;
  ShowmEssage(ExtractFilePath(ParamStr(0))+'data\'+Dateiname+' konnte nicht geladen werden!');
end;

vielmals danke