Delphi/C++Builder XE2 の TIdUDPServer で UDPRead イベントが使えない
Delphi/C++Builder XE2 の TIdUDPServer で UDPRead イベントが使えない
イベントの作成で、そもそもエラーが出るわけですが
どうも、定義が違っているとかで、別の場所へ正しい procedure を作成して
イベントの作成で、そもそもエラーが出るわけですが
procedure IdUDPServer1UDPRead(AThread: TIdUDPListenerThread; AData: TArray<system.byte>; ABinding: TIdSocketHandle);それを回避して、
procedure IdUDPServer1UDPRead(AThread: TIdUDPListenerThread; AData: TArray<byte>; ABinding: TIdSocketHandle);のようにして、データを送ってやっても、いっこうにイベントが発生していない
どうも、定義が違っているとかで、別の場所へ正しい procedure を作成して
private procedure IdUDPServerUDPRead(AThread: TIdUDPListenerThread; AData: TBytes; ABinding: TIdSocketHandle);手作業でイベントを登録すればよいらしい(参照)
procedure TForm1.FormCreate(Sender: TObject); begin IdUDPServer1.OnUDPRead := IdUDPServerUDPRead; end;文字列データの受け取りは、こんな感じ
procedure TForm1.UDPServerUDPRead(AThread: TIdUDPListenerThread; AData: TBytes; ABinding: TIdSocketHandle); begin Caption := TEncoding.default.GetString(AData, 0, Length(AData)); end;
コメント