![]() |
TIdIRC Fehler mit der Userliste
Hi,
ich habe ein paar Fragen zu TIdIRC. Ich schaffe es, dass es sich zum Server connected, jedoch kann ich nicht auf die Channelliste zugreifen (ist immer leer) und ich bin der einzige User auf dem Server (obwohl im Begrüßungstext 479 steht). Zum connecten verwende ich:
Delphi-Quellcode:
und der Zugriff auf die Userlist:
Caption := Settings.Name;
IdIRC1.Username := Settings.Username; IDIRC1.RealName := Settings.Realname; IDIRC1.Nick := Settings.Nickname; IDIRC1.Password := Settings.PWD; IDIRC1.Port := Settings.Port; IDIRC1.Host := Settings.Server; IDIRC1.Connect (4000); First := false;
Delphi-Quellcode:
Was mach ich falsch?
For e := 0 To IDIRC1.Users.Count-1 Do
ComboBox1.Items.Add(IDIRC1.Users.Items[e].Nick) Ach und beim Beenden des Programms kommt auch immer ein Fehler ... |
Re: TIdIRC Fehler mit der Userliste
So, die User und Channelliste habe ich :)
War etwas zu ungeduldig :) Jetzt ist nur noch der Fehler beim Beenden:
Delphi-Quellcode:
Timer1.Enabled:= false;
If IdIRC1.Connected then begin IdIRC1.Disconnect(true); end; IdIRC1.Free; Free; |
Re: TIdIRC Fehler mit der Userliste
das letzte free ?!
|
Re: TIdIRC Fehler mit der Userliste
Das stimmt schon, im letzten Free wird der Fehler erzeugt,
aber wenn ich das nicht verwende wird das Fenster nicht richtig geschlossen (mdi) |
Re: TIdIRC Fehler mit der Userliste
fenster.close oder fenster.visible := false ?!
|
Re: TIdIRC Fehler mit der Userliste
der tritt in jedem Fall auf. Verwende jetzt nur folgendes zum Schließen
Timer1.Enabled := false; Action := caFree; |
Re: TIdIRC Fehler mit der Userliste
na dann :)
wo wird denn der code ausgeführt ? |
Re: TIdIRC Fehler mit der Userliste
in der onClose routine vom mdi-fenster
|
Re: TIdIRC Fehler mit der Userliste
hmm
wenn du dort das ding free'st will delphi aber noch das ding closen.. da ja die OnClose vor dem closen kommt und du da aber schon das fenster vernichtest, kann delphi nimmer closen -> exception weil zugriff auf nicht vorhandenes objekt |
Re: TIdIRC Fehler mit der Userliste
Ich verwende halt diesen Quelltext
![]() Er gibt ja nicht eine exception aus, sondern idIRC beschwert sichm dass es nicht mehr verbunden ist ... |
Re: TIdIRC Fehler mit der Userliste
Zitat:
debug mal und schau wo der fehler genau kommt und was genau geschrieben wird und wo der idirc noch was machen will, nach dem disconnecten |
Re: TIdIRC Fehler mit der Userliste
Habe ich probiert, daraufhin stürzt immer mein PC komplett ab
(Jetzt gerade wieder) Ich denke das Indy noch nach dem Beenden noch senden will und deshalb einen Fehler produziert. |
Re: TIdIRC Fehler mit der Userliste
ich glaub du hast da den selben fehler wie ich immer hatte..
und den hab ich nur, wenn ich einen thread debugge und delphi an dem breakpoint in einem thread stoppt.. dann friert mir die GUI ein (windows komplett) und der rest von windows rennt normal weiter nach 10-20 minuten geht dann alles wieder das ist ein ziemlich komischer fehler.. den ich aber in vergangener zeit oft hervorgerufen hab, als ich netzwerk programme gecoded hab.. client und server zeugs und nur wenn ich debuggt habe.. also breakpoints benutzt hab |
Re: TIdIRC Fehler mit der Userliste
Du bist den Fehler nicht zufällig losgeworden?
|
Re: TIdIRC Fehler mit der Userliste
ähm ich hab es einfach vermieden, in thread code breakpoints zu setzen ^^
mehr hab ich nicht testen können, da es echt oft geknallt hat, und mir die gui eingefrohren ist. überprüf beim nächsten mal, ob deine applikationen weiter laufen im hintergrund und warte mal so 10 minuten .. dann müsste es wieder funzen ( die gui hat sehr sehr sehr langsam aufgebaut ) alsob ich 1 mhz hätte //nachtrag das ist mir auf winXP und win2k3 und win2000 so schon passiert.. mit delphi 7 und 6 und auch verschiedenen projekten.. aber alle mit indy (wobei es nicht damit zusammen hängen muss wenn es nur mit threads zu tun hat wie ich vermute) |
Re: TIdIRC Fehler mit der Userliste
Bis auf den Fehler habe ich alles in Grif gekriegt :)
Ich probiere mal eine andere Indy-Version aus, vielleicht haben die dort den Bug behoben ... Übrigens hat es wirklich so funktioniert wie du gesagt hast, nach ca. 10 Minuten hat der PC wieder reagiert. |
Re: TIdIRC Fehler mit der Userliste
Klappt jetzt übrigens auch, für alle anderen die ähnliche Probleme haben:
Delphi-Quellcode:
procedure TForm3.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin if idIRC1.Connected then begin if ExitStr = '' then ExitStr := InputBox ('Reason', 'Reason:', ''); CanClose := false; IDIRC1.Quit(ExitStr); Timer3.Enabled := true; end; end; procedure TForm3.Timer3Timer(Sender: TObject); begin Timer3.Enabled := false; Close; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz