Я создал lib, который содержит класс DateRange в С#. Я создал .dll и .tlb для этой библиотеки и зарегистрировал файл .tlb. Все необходимые шаги были выполнены.
В Delphi я использовал опцию библиотеки типов импорта для создания единицы, которая содержит информацию обо всех классах, которые я создал в С#.
Проблема: я не знаю, как использовать член класса 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. Взгляните на объявление DateRange в сгенерированном модуле MCenterComService_TLB.pas. Там вы, вероятно, найдете методы Get_fromdate, Set_fromdate или аналогичные. Возможно, импортер библиотеки типов не генерирует объявления свойств на интерфейсах. Тем не менее, вы все равно можете использовать методы getter/setter.
Вы также можете вручную добавить объявления свойств.