Thema: Delphi IdIRC.Free flasch?

Einzelnen Beitrag anzeigen

Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#11

Re: IdIRC.Free flasch?

  Alt 28. Jan 2010, 11:40
Hallo,

Zitat von DelTurbo:
Wieso schreibst du hier was von close???

Nochmal, die PN hat garnix hiermit zu tun. Bitte behandel PN einzeln und antworte mir auf die PN. Nicht hier im thread. Ich peil im moment wirklich nixmehr.
Bitte lies Dir Deinen ersten Post im Thread hier nochmal durch:

Zitat von DelTurbo:
ich erstelle zur laufzeit mehrere IdIRC´s. Nun möchte ich natürlich auch Disconnecten können. Hier mal ein code-snipsel...

Delphi-Quellcode:
IrcServer[i].Timer1.Enabled:=False;
IrcServer[i].Timer1.Free;
IrcServer[i].Timer2.Enabled:=False;
IrcServer[i].Timer2.Free;
IrcServer[i].IdIrc.Disconnect('ATDisconnect');
IrcServer[i].IdIrc.IOHandler.Close; // <- da ist es !!!
IrcServer[i].IdIrc.Free;
Zitat von DelTurbo:
Zurück zu diesem Thread hier:
Für dieses beispiel hier ist close unerheblich. Es geht hier um einen per laufzeit erstellten und auch genutzen IdIRC. Wichtig, er muss einmal connecten. Sonst tritt der fehler nicht auf.

Zur laufzeit!!!
Erstellen und löschen geht.
Erstellen, Connecten und löschen geht nicht.

Die PN musst du bitte gesondert behandeln. Sonst kommen wir total durcheinander. Und das sind wir wohl schon
Das erst ein Connect gemacht werden soll, ist klar. Lies meine Antwort bitte nochmal, dort steht was ich beim Testen mache: Connect, FormClose und Connect, Disconnect, FormClose.

Und ich habe eben beides geprüft: Zur Laufzeit erstellt (by Code) und über die Form auch.

Zitat von DelTurbo:
Bei dem .Free bekomm ich immer eine zugriffs verletzung. Ist das nicht richtig mit .Free? Bei den Timern geht das. Ich bin da nun etwas verwirrt.
Doch, Free ist richtig. Und dabei bekomme ich keine Zugriffsverletzung, mit oder ohne Disconnect vor dem Free... Das wundert mich ja.

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat