procedure TForm1.FormActivate(Sender: TObject); begin form1.Caption := label1.Caption ; end;
procedure TForm1.btnFindClassClick(Sender: TObject); var FormClass : TFormClass; Existing: boolean; i: integer; begin //Rechercher si la classe existe à l'aide de GetClass qui //a l'avantage de ne pas déclencher d'exception //s'il ne parvient pas à trouver la classe, contrairement //à FindClass FormClass := TFormClass(GetClass(Label1.Caption)); //Si le classe est enregistrée if FormClass <> nil then begin Existing := False; //Rechercher la première fenêtre de la classe for i := 0 to Screen.FormCount - 1 do if Screen.Forms[i] is FormClass then begin //Montrer la fenêtre Screen.Forms[i].Show; //Restaurer ses dimensions ShowWindow(Screen.Forms[i].Handle, SW_Restore); Existing := True; break; end; //S'il n'y a pas de fenêtre visible de ce type if not Existing then //alors, il faut en créer une with FormClass.Create(Self) do Show; end; end;
Unit2 type TForm2 = Class(TForm); end; var Form2: TForm2; implementation // etc initialization RegisterClass(TForm2); end.