在一个unit文件中手工创建
UDPServer:=TIdUDPServer.Create(Nil);
但是UDPServer.OnUDPRead:=XXXXXXX(参数无误)报类型不对的错误(方法指针与过程)
于是把XXXXXXX写在了
Type
MyControl=class(TComponent)
public
procedure XXXXXXX(...)
end;
可UDPServer.OnUDPRead:=MyControl.XXXXXXX报错类型不对(事件与过程)不过很久以前曾经用类似的方法搞定过,现在却不记得问题出在哪里了,还请大虾多多指教!
UDPServer:=TIdUDPServer.Create(Nil);
但是UDPServer.OnUDPRead:=XXXXXXX(参数无误)报类型不对的错误(方法指针与过程)
于是把XXXXXXX写在了
Type
MyControl=class(TComponent)
public
procedure XXXXXXX(...)
end;
可UDPServer.OnUDPRead:=MyControl.XXXXXXX报错类型不对(事件与过程)不过很久以前曾经用类似的方法搞定过,现在却不记得问题出在哪里了,还请大虾多多指教!
如果参数无误,看看是不是少引用IdSocketHandle单元
可是究竟是哪不对呢?
ABinding: TIdSocketHandle);
begin
IdUDPServer1.OnUDPRead:=XXXXXXX;
end;
以下是unit的全部内容 烦劳各位高手指点迷津
===================================================
unit uUDPServer;
interface
uses
SysUtils,classes,
IdUDPServer, IdSocketHandle;
var
UDPServer:TIdUDPServer;
type
MyControl=class(TComponent)
public
procedure XXXXXXX(Sender:TObject;AData:TStream;ABinding:TIdSocketHandle);
end;implementation
procedure MyControl.XXXXXXX(Sender:TObject;AData:TStream;ABinding:TIdSocketHandle);
begin
//
end;initialization
begin
UDPServer:=TIdUDPServer.Create(Nil);
UDPServer.OnUDPRead:=MyControl.XXXXXXX;
end;end.
interface
uses
SysUtils,classes,
IdUDPServer, IdSocketHandle;
var
UDPServer:TIdUDPServer;
type
MyControl=class(TComponent)
public
procedure XXXXXXX(Sender:TObject;AData:TStream;ABinding:TIdSocketHandle);
end;implementation
procedure MyControl.XXXXXXX(Sender:TObject;AData:TStream;ABinding:TIdSocketHandle);
begin
//
end;var
MyCtrl: MyControl;
initialization
begin
UDPServer:=TIdUDPServer.Create(Nil);
MyCtrl:=MyControl.Create(nil);
UDPServer.OnUDPRead:=MyCtrl.XXXXXXX;
end;end.
interface
uses
SysUtils,classes,
IdUDPServer, IdSocketHandle;
var
UDPServer:TIdUDPServer;
type
MyControl=class(TComponent)
public
class procedure XXXXXXX(Sender:TObject;AData:TStream;ABinding:TIdSocketHandle);
end;implementation
class procedure MyControl.XXXXXXX(Sender:TObject;AData:TStream;ABinding:TIdSocketHandle);
begin
//
end;initialization
begin
UDPServer:=TIdUDPServer.Create(Nil);
UDPServer.OnUDPRead:=MyControl.XXXXXXX;
end;end.