![]() |
[TUdpSockUtil] - Absturz des Programms? Warum?
Hallo DP,
sorry, dass ich wieder nerve :) aber ich habe folgendes Programm:
Delphi-Quellcode:
Ich will mit den Programm testen, ob Befehle korrekt übertragen werden.
procedure TfrmServSimu.FormCreate(Sender: TObject);
begin udpSocket := TUdpSockUtil.Create(self); udpSocket.OnReceive := udpSocketRecieve; udpSocket.LocalPort := 2007; // Empfangport udpSocket.RemotePort := 7002; // Sendeport udpSocket.Open; // Empfänge annehmen end; procedure TfrmServSimu.FormDestroy(Sender: TObject); begin udpSocket.Close; udpSocket.Free; end; procedure TfrmServSimu.udpSocketRecieve(Sender: TObject); var sendIP : in_addr; msg : array of Byte; killStr : string; i : Integer; title, text : string; begin SetLength(msg, udpSocket.ReceiveLength); udpSocket.ReceiveBuf(msg, Length(msg), sendIP); lFunktion.Caption := 'Funktionsnummer: ' + IntToStr(msg[0]); case msg[0] of 0..3 : ; 4 : begin // Message title := ''; i := REQUEST_HEADER_LENGTH; while (i < High(msg)) and (msg[i] <> 0) do begin title := title + Chr(msg[i]); inc(i); end; text := ''; inc(i); while (i < High(msg)) and (msg[i] <> 0) do begin text := text + Chr(msg[i]); inc(i); end; mExtra.Lines.Text := 'Titel: "' + title + '"' + #13#10 + 'Text: "' + text + '"' + #13#10 + 'Icon: ' + IntToStr(msg[i + 1]); end; 5 : begin SetLength(killStr, Length(msg) - REQUEST_HEADER_LENGTH); for i := REQUEST_HEADER_LENGTH to High(msg) do killStr[i] := Chr(msg[i]); mExtra.Lines.Text := killStr; end; else begin MessageBox(0, PChar('Das Signal über Port 2007 mit den Funktionswert "' + IntToStr(msg[0]) + '" wurde entfangen.' + #13#10 + 'Da das Signal ausserhalb er Funktionswerte liegt wird das Signal ignoriert' + #13#10 + 'Sender-IP: ' + inet_ntoa(sendIP) + #13#10 + 'Dieser Vorfall wird von den Admins behandelt'), PChar('Illegaler Funktionswert'), MB_OK or MB_ICONWARNING); end; end; end; Aber sobald ich etwas abschicke bekomme ich einen Fehler: Zitat:
Habt ihr vielleicht eine Idee? MfG xZise |
Re: [TUdpSockUtil] - Absturz des Programms? Warum?
an welcher stelle im qc kriegst du die av?
|
Re: [TUdpSockUtil] - Absturz des Programms? Warum?
Nach dem Empfangen, also (bei mir :)) Zeile 26.
Irgendwie scheint das ganz seltsam, weil ich dann ganz normal weiter springe (ins else) und dannach im QT von der Komponente... |
Re: [TUdpSockUtil] - Absturz des Programms? Warum?
hm komisch hätte jetzt darauf getippt, dass du die kompo noch nciht erzeugt hättest...
|
Re: [TUdpSockUtil] - Absturz des Programms? Warum?
Moin!
Mach das mal so: :wink:
Delphi-Quellcode:
cu
udpSocket.ReceiveBuf(msg[0], Length(msg), sendIP);
Narses |
Re: [TUdpSockUtil] - Absturz des Programms? Warum?
Ich werde das mal so testen. :)
Klingt logisch, weil, wenn ich ein Array mit Filestream abspeichern möchte ja auch das übergeben muss :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:15 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