1.如何设置一个元件类的实例对象的事件?
例如TButton的实例对象A,应如何安排当点击A时产生事件的代码"close"?2.ServerSocket.Socket.ActiveConnections在客户机关闭连接时不
会自动刷新其值???3.自定义Function或procedure过程中元件不可使用,总是显示[Error] Unit1.pas(121): Undeclared identifier: 'xxxx'?4.元素的何种属性(或方法)能进行前后(可视性)层叠排序?(例如程序中将一个被位图A遮住的位图B置前可视)5.Image元件的HWND,HDC在哪里?6.var i:integer;
begin
i:=int(5.3);//出错:integer与Extended冲突7.delphi的socke如果两段数据发送太快接收方会出现粘连在一起的情况,应如何避免?如何解决?8.delphi有否类似于VB的doEvents函数?
假设有一timer值为1000(1秒),默认enable为false,在timer的onTime添加事件如下
timer.tag:=1;添加一按钮事件如下:
timer.enable:=true;
while timer.tag=0 do
begin end;
close;
则窗口永远不会关闭

解决方案 »

  1.   

    1.如何设置一个元件类的实例对象的事件?
    例如TButton的实例对象A,应如何安排当点击A时产生事件的代码"close"?
    对实例对象的事件动态赋值,相当与C#中的委托。比如:
             A.onclose:=Closeevent;但要注意事件的参数与过程的参数的一致性。2.ServerSocket.Socket.ActiveConnections在客户机关闭连接时不
    会自动刷新其值???
        客户机关闭时,ActiveConnections 的数目会减少,为什么要它不会自动刷新?3.自定义Function或procedure过程中元件不可使用,总是显示[Error] Unit1.pas(121): Undeclared identifier: 'xxxx'?
      将function 或procedure 放在 interface 接口中,让其成为全局过程或函数。4.元素的何种属性(或方法)能进行前后(可视性)层叠排序?(例如程序中将一个被位图A遮住的位图B置前可视)   bringtofront 方法。
    5.Image元件的HWND,HDC在哪里?
      hwnd 没有,hdc 是image1.Canvas.Handle;6.var i:integer;
    begin
    i:=int(5.3);//出错:integer与Extended冲突
      
    改为:
    Var
      i:Extended;
    begin
      i:=Round(5.3);
      

  2.   

    6.改用Trunc函数
    function Int(X: Extended): Extended;
    function Trunc(X: Extended): Int64;
      

  3.   

    to:刘阿木
    1.能否举个小例子?
    2.客户机关闭时ActiveConnections 并不会自动减少.
    你亲手试一下?
    3.仍错
    提示:[Error] Unit1.pas(5): Statements not allowed in interface part
    4.成功了!
    5.多谢!
    6.感谢刘阿木与木的
    Trunc和Round均可
      

  4.   

    Round是四舍五入,Trunc是取整,不一样的
      

  5.   

    3、你的function或procedure是在哪里声明的?