unit unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls, raetselunit; type { tForm1 } tForm1 = class(tForm) procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure FormShow(Sender: TObject); private { private declarations } public { public declarations } raetsel: tRaetsel; end; var Form1: TForm1; implementation {$R *.lfm} uses unit2, hochhausunit, buchstabenunit; // tForm1 ********************************************************************** procedure tForm1.formCreate(sender: tObject); begin application.createForm(tForm2, form2); case form2.showmodal of mrBuchstabenraetsel: raetsel:=tBuchstabenRaetsel.create(form1); mrHochhausraetsel: raetsel:=tHochhausRaetsel.create(form1); else begin raetsel:=nil; application.terminate; end; end; end; procedure tForm1.FormDestroy(Sender: TObject); begin raetsel.free; end; procedure tForm1.FormShow(Sender: TObject); begin if assigned(raetsel) then raetsel.zeichnen; end; end.