IDevLabel = interface(IDispatch)
    ['{64AE44EB-2761-49F3-8BF4-7F4E87E88E1A}']
    function  Get_LabelLayerManager: DevLayerManager; safecall;
    procedure Set_LabelLayerManager(const value:    DevLayerManager);safecall;
    function  Get_Text: WideString; safecall;
    procedure Set_Text(const value: WideString); safecall;
    function  Get_LabelOffsetX: Integer; safecall;
    procedure Set_LabelOffsetX(value: Integer); safecall;
    function  Get_LabelOffsetY: Integer; safecall;
 .........象这种定义中的interface关键字是用来干吗的,表示什么;这里的safecall也是粗体显示
 IDevLayerManagerDisp = dispinterface  //这里disinterface是关键字,是不是和上面的interface相对应,是相反的一种定义?
    ['{BC8EC2B5-03D0-46DF-931D-1223606E4018}']
    procedure Add(const DevLayer: IDevLayer); dispid 1;
    property Count: Integer readonly dispid 2;
    property Items[ind: Integer]: IDevLayer readonly dispid 3;
    procedure Delete(ind: Integer); dispid 4;
    procedure Clear; dispid 5;
    property Map: _DMap dispid 7;
    function  GetIndex(csRigType: Integer): Integer; dispid 9;
    procedure Free; dispid 6;
    function  GetRigType(ind: Integer): Integer; dispid 8;
  end;
还有象下面这种interface定义里经常有什么read,write关键字又是什么意思???
 property Text1: WideString read Get_Text1 write Set_Text1;
    property Text2: WideString read Get_Text2 write Set_Text2;
    property Text3: WideString read Get_Text3 write Set_Text3;
拿别人的代码来研究真是苦死我了,都看不懂,大家如果有这方面的资料也请告诉我!谢谢!

解决方案 »

  1.   

    interface 是接口。read write为属性的读写。我建议你先找一本基础书看吧。
      

  2.   

    同意楼上的!read write为属性的读写,后面还可以接Default设置默认属性,还记得在集成环境中的控件的属性设置吗?就是通过这种机制实现的!
      

  3.   

    推荐code6421前辈的三篇文章浅谈Interface
    http://www.dreams.idv.tw/~code6421/Doc/Interface.htmlInterface Designing
    http://www.dreams.idv.tw/~code6421/Doc/Interface2.htmlAdvanced Interface Volume 1 - Data Transfer Kit
    http://www.dreams.idv.tw/~code6421/Doc/Interface3.htmlDTK 下载
    http://www.dreams.idv.tw/~code6421/files/dtk.zip
      

  4.   

    dispinterface 是派遣接口,由它下面的 GUID 如 ['{BC8EC2B5-03D0-46DF-931D-1223606E4018}'] 所指定的接口来实现