今天一直在Delphi6下调试程序,出现以下问题:
  我Import一个ActiveX (ocx),这个控件具有一个属性为Buffer(IcBox1.Buffer : [Index : SmallInt] : SmallInt ),是可读写的.可是我在Delphi下却不能给他赋值,结果我分别在VB,C++Biulder,VC++下调用这个OCX,结果buffer属性正常,可读写.于是我非常奇怪中,为什么只有Delphi里这个属性不能赋值.后来不小心察看了这个ocx引入Delphi的类型文件,发现:
procedure TIcbox.Set_Buffer(Index: Smallint; Param2: Smallint);
begin
  Exit;
end;
于是当场晕倒.修改如下:
procedure TIcbox.Set_Buffer(Index: Smallint; Param2: Smallint);
begin
    DefaultInterface.Buffer[Index] := Param2;
//  Exit;
end;
这下就好了.这里我主要想问一下,是不是在Delphi里,引入ocx要得Set方法要自己写实现吗?还是这是Delphi的问题.
本人Delphi6打最近的了2个补丁.