Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Record в Type Library [Delphi, Windows]


cargo ©   (2006-04-28 03:58:00) 

Вот значит, никогда не доводилось использовать тип Record в Type Library, и с удивлением обнаружил что не оно работает. Например:

Record1 имеет поле Field1
COM-объект Obj имеет read-only свойство Rec, которое возвращает запись Record1. Обработка метода GetRec показана ниже

function TObj.Get_Rec: Record1;
begin
 Result.Field1 := 1;
end;


Но когда я пытаюсь посмотреть значение поля в ASP (Response.Write MyObj.Rec.Field1), оно мне говорит "An unhandled data type was encountered.". В чем может быть проблема?


cargo   (2006-04-28 12:49:00) [1]

В TLB Record1 определен вот так,

 Record1 = packed record
   Field1: Integer;
 end;


а свойство объекта Rec вот так:


 IObj = interface(IDispatch)
   ['{3E5EA4A0-65C4-4B92-BE70-695187F2349B}']
   function Get_Rec: Record1; safecall;
   property Rec: Record1 read Get_Rec;
 end;

 IObjDisp = dispinterface
   ['{3E5EA4A0-65C4-4B92-BE70-695187F2349B}']
   property Rec: {??Record1}OleVariant readonly dispid 203;
 end;


isasa   (2006-04-28 10:41:00) [2]

А что, в TLB(IDL) тоже тип record1 ?
Среди поддерживаемых стандартных, его нет, а стоит, скорее всего, variant.


Наверх

Титульная страница Поиск, карта сайта Написать письмо