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;
コメント