动态库中使用IdUDPServer的OnUDPRead事件时为何无效?

                            
测试时的代码如下:   
  unit   Unit1;  
   
  interface  
   
  uses  
      Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,  
      Dialogs,   IdUDPClient,   IdBaseComponent,   IdComponent,   IdUDPBase,  
      IdUDPServer,   StdCtrls,   ExtCtrls,   IdSocketHandle;  
   
  type  
      TForm1   =   class(TForm)  
          udpServerZhu:   TIdUDPServer;  
          udpClientZhu:   TIdUDPClient;  
          Memo1:   TMemo;  
          Memo2:   TMemo;  
          timTem:   TTimer;  
          Button1:   TButton;  
          Button2:   TButton;  
          procedure   Button1Click(Sender:   TObject);  
          procedure   timTemTimer(Sender:   TObject);  
          procedure   udpServerZhuUDPRead(Sender:   TObject;   AData:   TStream;  
              ABinding:   TIdSocketHandle);  
          procedure   Button2Click(Sender:   TObject);  
      private  
          {   Private   declarations   }  
          SendStr   :   String;  
      public  
          {   Public   declarations   }  
      end;  
   
  var  
      Form1:   TForm1;  
   
  implementation  
   
  {$R   *.dfm}  
   
  procedure   TForm1.Button1Click(Sender:   TObject);  
  begin  
      Memo1.Clear;  
      Memo2.Clear;  
      udpClientZhu.Host   :=   '192.168.1.11';  
      SendStr   :=   'Add   '+FormatDateTime('hhmmss',now);  
      udpClientZhu.Send(SendStr);  
      timTem.Enabled   :=   True;  
  end;  
   
  procedure   TForm1.timTemTimer(Sender:   TObject);  
  begin  
      SendStr   :=   'Send   '+FormatDateTime('hhmmss',now);  
      udpClientZhu.Send(SendStr);  
      Memo2.Lines.Add('正在发送:'+SendStr);  
  end;  
   
  procedure   TForm1.udpServerZhuUDPRead(Sender:   TObject;   AData:   TStream;  
      ABinding:   TIdSocketHandle);  
  var  
      InceptStr:   String;  
      len   :Integer;  
  begin  
      SetLength(InceptStr,   AData.Size);  
      AData.Read(InceptStr[1],   AData.Size);  
      InceptStr   :=   UpperCase(InceptStr);  
      len   :=   length(InceptStr);  
      Memo1.Lines.Add('系统收到:'+SendStr);  
  end;  
   
  procedure   TForm1.Button2Click(Sender:   TObject);  
  begin  
      timTem.Enabled   :=   False;  
  end;  
   
  end.  
   
    udpServerZhu   和udpClientZhu   的DefaultPort为9899,Active为True;其余属性为默认值!  
      可当我把这些控件及其事件运用到Dll库中时,事件udpServerZhuUDPRead就无效了!不知道这是为什么?用过此控件的高手们请帮忙讲一下!

查看回复