安装了indy9 打开一个telnet client的列子,
f9 开始报告
the idtelnetdemoconnect method referenced by idtelnetdemo.
onconnect has an incompatible parameter list.remove the reference我靠我同意。remove就remove 把
接着再来
the idtelnetdemodataavailable method referenced by idtelnetdemo.
ondataavailable has an incompatible parameter list.remove the reference?
我再靠  remove吧
运行。抛出异常:ondataavailable event is nil
完蛋。各位拜托了。

解决方案 »

  1.   

    很明显是当前安装的控件与程序中所用的控件不兼容造成的,
    你虽然Remove IT了,但是原有的函数或属性将无法被使用,
    由此你最好查找到相应的东东是什么,然后在替换一下。例如,
    In Delphi6:
      with Idsmtp do
      begin
        Request.UserID := ....;
      end;
    In Delphi7:
      with Idsmtp do
      begin
        Request.UserName := ....;
      end;
    你可以这样判断
    在程序最前面加编译头,
    {$define delphi_v6}
    {$define delphi_v7}
    然后改写上面语句,
      with Idsmtp do
      begin
        {$ifdef delphi_v6}
        Request.UserID := ....;
        {$endif}
        {$ifdef delphi_v7}
        Request.UserName := ....;
        {$endif}
      end;当你知道你所使用的Delphi是版本6时可以将上面的
    {$define delphi_v7}用“//”注释掉;
    版本7时可以将上面的
    {$define delphi_v6}用“//”注释掉就可以了。:)