|  leuchtfeuer hat folgendes geschrieben  : | 
		  | Dankeschön an alle  Das hat mir alles sehr geholfen, besonders die große Erklärung. | 
Sehr erfreut, dass dir mein kleines Tutorial geholfen hat. Doch das ist noch lange nicht alles, denn wir haben noch nicht geklärt, wie Informationen von Form2 an Form1 übertragen werden können. Beim Aufruf der Form2 von Form1 aus mit der Function ShowModal gibt diese beim Schliessen von Form2 einen Wert zurück, denn du in Form2 selber festlegen kannst, und zwar mit 
Modalresult. Beim Aufruf von Form2 via ShowModal hat ModalResult standardmässig den Wert 0, der in der Konstante mrNone festgelegt ist. Wenn du in Form2 der Variablen ModalResult einen anderen Wert als 0 zuweist, wird Form2 automatisch geschlossen. Wenn du Form2 mit Close schliesst, wird ModalResult automatisch auf mrCancel gesetzt. Soweit zur Informationsübergabe beim Schliessen von Form2.
Es gibt aber auch Fälle, wo Form1 auf Aktionen in Form2 reagieren soll, während Form2 sichtbar ist. Dazu muss man in beiden Units ein paar Vorbereitungen treffen. Zuerst braucht man einen neuen Type in Form2, der in etwa so aussieht:
		                     
             Delphi-Quelltext
                        Delphi-Quelltext                    
           	 										| 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
 10:
 11:
 12:
 13:
 
 | unit Unit2;
 interface
 
 uses
 ...
 
 type
 TUpdateEvent = Procedure of Object;
 
 type
 TForm2 = class(TForm)
 ...
 | 
		
	  
Als nächstes braucht man ein Property in Form2:
		                     
             Delphi-Quelltext
                        Delphi-Quelltext                    
           	 										| 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 
 | ...private
 fUpdateForm2 : TUpdateEvent;
 
 public
 ...
 Property OnUpdateForm2 : TUpdateEvent read fUpdateForm2 write fUpdateForm2;
 ...
 | 
		
	  
Das Ereignis in Form2, das in Form1 Reaktionen hervorrufen soll, wird so ausgelöst:
		                     
             Delphi-Quelltext
                        Delphi-Quelltext                    
           	 										| 1:
 | if Assigned(fUpdateForm2) then fUpdateForm2;					 | 
		
	  
Das heisst, dass du zB in einer Button-Ereignisbehandlung, deren Resultat in Form1 sichtbar sein soll, am Ende einfach diese Codezeile einfügst.
Um jetzt in Form1 darauf reagieren zu können, machst du dir erstmal eine Procedure, die die Reaktionen ausführt:
Procedure TForm1.ReaktionAufForm2Ereignis;
begin
  MachIrgendwas;
end;
Damit Form1 aber weiß, wann ReaktionAufForm2Ereignis ausgeführt werden soll, weist du vor dem Aufruf von Form2 dem soeben in Form2 deklarierten Ereignis deine Reaktions-Procedure zu:
		                     
             Delphi-Quelltext
                        Delphi-Quelltext                    
           	 										| 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
 10:
 
 | procedure TForm1.Button1Click(Sender: TObject);begin
 Form2.Radio1Checked := Radio1.Checked;
 Form2.Radio2Checked := Radio2.Checked;
 Form2.Radio3Checked := Radio3.Checked;
 ...
 Form2.OnUpdateForm2 := ReaktionAufForm2Ereignis;
 Form2.Show;
 ...
 end;
 | 
		
	  
Damit wird jetzt jedesmal, wenn in Form2 
if Assigned(fUpdateForm2) then fUpdateForm2; ausgeführt wird, in Form1 ReaktionAufForm2Ereignis aufgerufen.