![]() |
UDP - Indy - Socket Error #10004
Hallo,
ich habe ein kleines Problem mit folgendem Programm. Immer wenn ich es beende und vorher was übers Netzwerk gemacht habe (UDP verwendet) krieg ich beim beenden den Socketfehler #10004 ausgegeben. Ich versuche dabei alle Verbindungen im FormClose zu deaktivieren. Aber auch wenn dies nicht geschieht kommt der Fehler. Wo drann kann das liegen und wie kann ich das vermeiden?
Delphi-Quellcode:
alle INDY Komponenten werden mit Active := false gestartet
procedure TForm2.Button4Click(Sender: TObject);
begin if not IdUDPServer1.Active then IdUDPServer1.Active := true; with IdUDPClient1 do begin if not Active then Active := true; Broadcast(idIPWatch1.CurrentIP, 10025) end; end; procedure TForm2.IdUDPServer1UDPRead(Sender: TObject; AData: TBytes; ABinding: TIdSocketHandle); begin ListBox1.Items.Add(Copy(BytesToString(Adata), 0, length(Adata))); end; procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin IdUDPClient1.Active := false; IdUDPServer1.Active := false; IdIPWatch1.Active := false; end; |
Re: UDP - Indy - Socket Error #10004
hilft vielleicht wenn du folgendes einbaust ( nicht getestet)
Delphi-Quellcode:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin IdUDPClient1.Active := false; IdUDPServer1.Active := false; IdIPWatch1.Active := false; // hinzugefügt ob try except nötig ist weiss ich nicht ich kapsle sowas aus sicherheitsgründen immer try IdUDPClient1.Disconnect; except end; end; |
Re: UDP - Indy - Socket Error #10004
Ich hab das gleiche Problem.
Ich setze den TidUDPServer auf Aktiv und später über ein OnClick Ereignis eines Buttons wieder auf Active := false. Genau bei dieser Anweisung erscheint die oben genannte Exception. Lasse ich das Active := false weg kommt die Exception beim Schließen des Programmes. Kennt jemand eine Lösung dazu? Hier nochmal der ganze Quellcode:
Delphi-Quellcode:
Viele Grüße
procedure TfrmMain.btnStartServerClick(Sender: TObject);
begin udpServer.Active := not udpServer.Active; end; |
Re: UDP - Indy - Socket Error #10004
Hi
Hab des gleiche Problem Gibts schon Lösungen? |
Re: UDP - Indy - Socket Error #10004
Kommen denn die Fehlermeldungen auch, wenn das Programm außerhalb von Delphi läuft?
Viele Indy-Kompos haben (leider) die Eigenschaft, wenn das Programm in der Delphi-IDE läuft, Fehler anzuzeigen, aber außerhalb von Delphi dann nicht mehr. Ist jedenfalls meine Erfahrung damit. |
Re: UDP - Indy - Socket Error #10004
hmm ne es wird nur mit debugger eine fehlermeldung angezeigt ... aber des ist schon komisch und nervend
Hat es den einen grund für die fehlermeldung oder ist des nur so eine art statusmeldung? |
Re: UDP - Indy - Socket Error #10004
Liste der Anhänge anzeigen (Anzahl: 1)
hmm blöde indys hab auch ein speicherleak wegen dennen
|
Re: UDP - Indy - Socket Error #10004
*push*
|
Re: UDP - Indy - Socket Error #10004
Gleiches Problem bei mir. Finde einfach keine Lösung!
|
Re: UDP - Indy - Socket Error #10004
Hi,
habt ihr schon mal folgendes probiert :
Delphi-Quellcode:
udpServer.Active := False;
udpServer.Bindings.Clear; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:37 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