我创建了一个在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方法。
您也可以自己手动添加属性声明。