我创建了一个在c#中包含DateRange类的库。我已经为该lib创建了.dll和.tlb并注册了.tlb文件。所有必要的步骤均已完成。

在Delphi中,我使用了导入类型库选项来生成一个单元,其中包含我在c#中创建的所有类的信息。

问题:我不知道如何使用DateRange类的成员。请帮我。

我在Delphi中使用的代码是...

program COMTesting;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  ComObj,
  MCenterComService_TLB in 'MCenterComService_TLB.pas';

var dr:DateRange;

begin
  dr:= createComObject(CLASS_DateRange) as DateRange;
  dr.fromdate:= date('4/16/2009');
  dr.todate:= date('4/16/2009');
end.



  系统提示:[DCC错误] COMTesting.dpr(18):E2003未声明的标识符:'fromdate'

最佳答案

未声明的标识符意味着DateRange接口没有名为fromdate的属性。在生成的MCenterComService_TLB.pas单元中查看DateRange声明。在那里您可能会找到Get_fromdate,Set_fromdate或类似方法。类型库导入器可能不会在接口上生成属性声明。不过,您仍然可以使用getter / setter方法。

您也可以自己手动添加属性声明。

09-13 04:20