Thema: Delphi instanz freigeben

Einzelnen Beitrag anzeigen

Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

instanz freigeben

  Alt 5. Dez 2004, 06:54
moin

ich habe folgendes:

Delphi-Quellcode:
procedure TForm1.ToolButton1Click(Sender: TObject);
begin
  if not assigned(MyServerSocket) then
  begin
    MyServerSocket := TMyServerSocket.Create(self);
    MyServerSocket.ServerHost := 'irc.euirc.net';
    MyServerSocket.Active := true;
    ToolButton1.ImageIndex := 1;
  end
  else
  begin
    MyServerSocket.Free;
    ToolButton1.ImageIndex := 0;
  end;
end;

MyServerSocket ist TMyServerSocket, abgeleitet von TServerSocket....
das problem ist nun folgendes, wenn ich meinen button anklicke und die instanz auf nil zeigt (not assigned) dann wird das objekt erzeugt, wenn sie schon existiert (else teil) dann wird sie wieder freigegeben...

das funktioniert auch bis zum zweiten buttonklick, wenn ich nun aber ein drittes mal drauf klicke bleibt der button gedrückt und das programm friert ein..... habe gedacht das ich vielleicht vor dem freigeben noch "Active := false" machen muss, aber wird dadurch auch nicht besser... ist irgendwas falsch?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat