Ok, sehr simples Beispiel. (nicht getetstet kein Delphi zur Hand)
Delphi-Quellcode:
procedure TForm1.HoleDaten1Click(Sender: TObject);
var
i: Integer;
begin
if connect then//DBConnect
begin
try
form2:= TForm2.Create(self);
form2.show;
//hole daten
for i:= 0 to 100 do
begin
//ix Daten einlesen oder wie auch immer!
form2.ProgressBar1.Position:= i;
end;
except
Form2.Close;
raise//wenn was passiert
end;
Form2.Close;
end
else
begin
//no connect
end;
end;
Solange er in dieser Schleife(Procedure) ist kann er weder Form2 bewegen noch Main anklicken!
1. Vorteil, Form2 brauch nicht mal zu wissen das es Form1 gibt(uses).
2. Vorteil, Es bleibt alles in Main einschliesslich der gesamten Kontrolle.
3. Vorteil, Die Variablen bleiben Privat müssen nicht Public oder sogar Global gesetzt werden( je nach dem wie ich die units einbinde).
4. Vorteil, Ich habe nicht '2' getrennte Anordnungen um sicher zustellen das alles in der Form2, wenn sie Showmodal ist, auch richtig funktioniert und muss mir keinen Kopf machen die Daten nun noch zur MainForm zu schicken!
Wenn das nicht Save ist?
Was will man mehr
Gruss alfold