CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  网络通信/分布式开发

这个简单的聊天室程序,编译是出错~!!~?

楼主fhvk(Green tea)2006-03-10 17:43:45 在 Delphi / 网络通信/分布式开发 提问

源码如下:  
  =============================  
  unit   talkudp;  
   
  interface  
   
  uses  
      Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,  
      Dialogs,   StdCtrls,   Buttons,   ExtCtrls,   IdUDPClient,   IdBaseComponent,  
      IdComponent,   IdUDPBase,   IdUDPServer;  
   
  type  
      Tcommblock   =   record  
              sendername,msg:string[100];  
      end;  
      TForm1   =   class(TForm)  
   
          Panel1:   TPanel;  
          yuanchengip:   TLabeledEdit;  
          yuanchengdk:   TLabeledEdit;  
          nicheng:   TLabeledEdit;  
          localport:   TLabeledEdit;  
          bitset:   TBitBtn;  
          Panel2:   TPanel;  
          word:   TEdit;  
          bitsend:   TBitBtn;  
          duihua:   TMemo;  
          IdUDPServer1:   TIdUDPServer;  
          IdUDPClient1:   TIdUDPClient;  
          procedure   bitsetClick(Sender:   TObject);  
          procedure   bitsendClick(Sender:   TObject);  
          procedure   IdUDPServer1UDPRead(Sender:   TObject;   AData:   TStream;  
              ABinding:   TIdSocketHandle);  
   
      private  
          {   Private   declarations   }  
      public  
          {   Public   declarations   }  
   
      end;  
   
  var  
      Form1:   TForm1;  
      const   RECIEVETIMEOUT   =   5000;  
   
   
  implementation  
   
  {$R   *.dfm}  
   
   
  procedure   TForm1.bitsetClick(Sender:   TObject);  
  begin  
          if   (trim(yuanchengip.Text)='')   then  
                  messagebox(handle,'IP端口不能为空','警告',mb_ok+mb_iconwarning)  
          else  
          if   localport.Text=''   then  
                  messagebox(handle,'本地端口不能为空','警告',mb_ok+mb_iconwarning)  
          else  
              begin  
                      idudpclient1.Host:=trim(yuanchengip.Text);//设置远程ip  
                      idudpclient1.Port   :=strtoint(trim(yuanchengdk.Text));  
                      idudpclient1.ReceiveTimeout:=RECIEVETIMEOUT;  
                      idudpserver1.DefaultPort:=strtoint(localport.text);  
                      idudpserver1.Active:=true;  
                      bitsend.Enabled   :=true;  
              end;  
  end;  
   
  procedure   TForm1.bitsendClick(Sender:   TObject);  
  var   comm:Tcommblock;  
  begin  
          comm.sendername:=nicheng.Text;  
          comm.msg:=word.Text;  
          duihua.Lines.Add(comm.sendername+':   '+comm.msg);  
          idudpclient1.SendBuffer(comm,sizeof(comm));    
  end;  
   
  procedure   TForm1.IdUDPServer1UDPRead(Sender:   TObject;   AData:   TStream;  
      ABinding:   TIdSocketHandle);  
  var   comm:tcommblock;  
  begin  
          adata.ReadBuffer(comm,adata.Size);  
          duihua.Lines.Add(comm.sendername+':   '+comm.msg);  
  end;  
   
  end.  
  ========================================  
  出错信息:[Error]   talkudp.pas(31):   Undeclared   identifier:   'TIdSocketHandle';  
  刚接触Delphi的网络应用,各位兄弟帮助以下~!~ 问题点数:20、回复次数:1Top

1 楼liangqingzhi(老之)回复于 2006-03-10 18:02:56 得分 20

这是一个bug,放一个IdUDPServer时它没有自动添加IdSocketHandle单元。  
  加上一句uses   IdSocketHandle;就好了Top

相关问题

  • mfc的源程序编译出错
  • 编译后的程序执行出错。
  • 编译时程序提示出错?
  • 编win32 dll 程序时,编译出错
  • 为何此程序编译出错了?
  • 用ant编译helloworld程序出错
  • 编译出错
  • 编译出错??
  • 编译出错!!
  • 编译出错

关键词

  • idudpserver
  • tlabelededit
  • tform
  • tobject
  • procedure
  • sender

得分解答快速导航

  • 帖主:fhvk
  • liangqingzhi

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo