以下是unit单元的代码,定义udpserver; unit UnitUdpServer; interface uses ShareMem,SysUtils,Classes,IdUDPServer,IdUDPClient,IdSocketHandle,IdUDPBase; var WHReceiveStr:string; type MyControl=class(TIdUDPServer) public procedure MyUDPOnRead(Sender:TObject;AData:TStream;ABinding:TIdSocketHandle); end; type TMyClient=class(TIdUDPClient) end; implementation uses Unitudpclient; procedure MyControl.MyUDPOnRead(Sender:TObject;AData:TStream;ABinding:TIdSocketHandle); beginend; //End of Procedure--MyUdpOnRead end.下面是在unitclient中调用UnitUdpServer中的MyUDPOnRead unit Unitudpclient; ...function SearchReadIP(RemoteIP:string):TModuData; var CtrlServer:MyControl; begin CtrlServer:=MyControl.Create(nil); CtrlServer. CtrlServer.DefaultPort:=8800; CtrlServer.Active:=true; CtrlServer.OnUDPRead:=CtrlServer.MyUDPOnRead; end;请问这样是不是有错误??
你的以上代码呢?
unit UnitUdpServer;
interface
uses
ShareMem,SysUtils,Classes,IdUDPServer,IdUDPClient,IdSocketHandle,IdUDPBase;
var
WHReceiveStr:string;
type
MyControl=class(TIdUDPServer)
public
procedure MyUDPOnRead(Sender:TObject;AData:TStream;ABinding:TIdSocketHandle);
end;
type
TMyClient=class(TIdUDPClient)
end;
implementation
uses Unitudpclient;
procedure MyControl.MyUDPOnRead(Sender:TObject;AData:TStream;ABinding:TIdSocketHandle);
beginend; //End of Procedure--MyUdpOnRead
end.下面是在unitclient中调用UnitUdpServer中的MyUDPOnRead
unit Unitudpclient;
...function SearchReadIP(RemoteIP:string):TModuData;
var
CtrlServer:MyControl;
begin
CtrlServer:=MyControl.Create(nil);
CtrlServer.
CtrlServer.DefaultPort:=8800;
CtrlServer.Active:=true; CtrlServer.OnUDPRead:=CtrlServer.MyUDPOnRead;
end;请问这样是不是有错误??