Д6 ругается на out-параметр "Type 'TGUID' has no type info"
От: Clickmaker Россия http://relaxander.webest.net/
Дата: 07.04.03 12:34
Оценка:
Есть интерфейс ISGAdmin, у него метод CreateObject. Фрагмент из *_tlb.pas выглядит так:

ISGAdmin = interface(IAppServer)
    ['{55418851-8C45-11D3-B603-008048D553DA}']
    function  CreateObject(const ClassName: WideString; out IID: TGUID; out Obj: ISGObject): HResult; safecall;


...
При компиляции всего этого хозяйства в Д6 вылезает ошибка "Type 'TGUID' has no type info". В хелпе про нее написано, что возникает она, если применить ф-ию TypeInfo к типу, который этого самого type info не имеет. TGUID его действительно не имеет, поскольку record. Но поскольку я не применяю ее явно, сделал вывод, что это неявно делает Дельфя. Ошибка исчезает, если TGUID заменить на OleVariant. На этом я бы и успокоился, но мне очень неудобно юзать вариант вместо TGUID, тем более, что в Дельфи 5 все это прекрасно компилится и работает. Если кто решал такую задачку, отзовитесь пожалуйста. Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.