Einzelnen Beitrag anzeigen

shmia

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

Re: Exception EAccessViolation Form Free

  Alt 1. Feb 2005, 12:27
Zitat von shidap:
Delphi-Quellcode:
procedure Tfrmsaselogin.FormCreate(Sender: TObject);
StartMainRptScreen(Application, SaseAdoConn, strUserId, strAccessLevel);

   If Assigned(frmsaselogin) then
      frmsaselogin.Free;
Du darfst in FormCreate nicht das eigene Formular freigeben!!
(wenn es doch nötig ist, kann man die Methode Release verwenden)
Du darfst ausserdem nicht in einer Methode auf eine Objektvariable der eigenen Klasse zugreifen.
Du kannst aber ein Klassenfunktion schreiben, um ein Formular modal anzuzeigen:

Delphi-Quellcode:
Tfrmsaselogin = class(TForm)

public
   class function ShowLoginDialog:integer;
end;

class function Tfrmsaselogin.ShowLoginDialog:integer;
var
   f : Tfrmsaselogin;
begin
   f := Tfrmsaselogin.Create(nil);
   try
      result := f.ShowModal;
      
      StartMainRptScreen(Application, SaseAdoConn, strUserId, strAccessLevel);

   finally
      f.Free;
   end;
end;
Zum Beenden einer Anwendung benutzt man:
   Application.Terminate;
Andreas
  Mit Zitat antworten Zitat