首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

指针类型的接口有关问题

2012-02-08 
指针类型的接口问题我有一个指针IMyInterface,定义一个tpIMyInterface ^IMyInterface在程序里面我有一实

指针类型的接口问题
我有一个指针IMyInterface,定义一个
tpIMyInterface = ^IMyInterface

在程序里面我有一实现IMyInterface的类TMyObject,定义一个
tpMyObject = ^TMyObject,然后在某个过程do里面

procedure do; 
var
List : TList;
MyInterfacePtr : tpIMyInterface;
MyObjectPtr : tpMyObject;
begin
List := TList.Create;
MyObjectPtr^ := TMyObject.Create;
List.add(MyObjectPtr);
MyInterfacePtr := List.Items[0];
MyInterfacePtr^.doSomething//错误
end;

请教为什么,如何把TLIST里面保存的指针传递给一接口指针!

//////////////////////////////
此外另外一个问题,为什么我使用 
tpTForm = ^TForm;
MyFormPtr : tpTForm;

...

(MyFormPtr^ as tpIMyInterface)//无法编译

...
请教为什么,如何使用指针类型的AS




[解决办法]
让我还原一下你的类声明:

Delphi(Pascal) code
type  tpIMyInterface = ^IMyInterface;  IMyInterface = interface    ['{CA88C314-ECE7-46DD-869B-9CDBE0FC05DA}']    procedure doSomething;  end;  tpMyObject = ^TMyObject;  TMyObject = class(TInterfacedObject, IMyInterface)  public    procedure doSomething;  end;{ TMyObject }procedure TMyObject.doSomething;begin  ShowMessage('hello world');end; 

热点排行