Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#15

Re: Nochmal: Ermiteln ob Objekt freigegeben wurde

  Alt 13. Dez 2005, 15:50
Du darfst die Variable Form2 nicht verwenden!!!
Empfehlung: globale Variable Form2 löschen.

Delphi-Quellcode:
function FindOrCreateForm(FormClass: TFormClass; var Reference):Boolean;
var
   i : Integer;
begin
   for i := Screen.CustomFormCount-1 downto 0 do
   begin
      if Screen.CustomForms[i].ClassType = FormClass then
      begin
         TCustomForm(Reference) := Screen.CustomForms[i];
         Result := True; // gefunden
         Exit;
      end;
   end;
   Application.CreateForm(FormClass, Reference);
   Result := False; // neu erzeugt
end;


procedure TForm1.Button1Click(Sender: TObject);
var
   frm : TForm2;
begin
  if FindOrCreateForm(TForm2, frm) then
  begin
    Memo1.Lines.Add(DateTimeToStr(now)+' Create');
  end
  else
  begin
    Memo1.Lines.Add(DateTimeToStr(now)+' schon da');
  end;

  Frm.Caption := 'Test';
  Frm.Show;
  Frm.WindowState := wsNormal; // falls minimiert -> sichtbar machen
end;
Andreas
  Mit Zitat antworten Zitat