Просветите про IDL
От: Аноним  
Дата: 06.11.01 07:10
Оценка:
Господа подскажите IDL необходим только для компиляции COM-а
или инфу сгенерированную с помощью Ole View все же можно как-то
пролинковать к проекту?


IDL файл содержит интерфейс и CLSID по кот. можно добыть объект, но как?

Andrew
Re: Просветите про IDL
От: Ростислав Глухов Россия http://www.geocities.com/rg2204/
Дата: 06.11.01 07:33
Оценка:
Здравствуйте Аноним, Вы писали:

для компиляции IDL существует утилита MIDL
позволяет создавать прокси (для стандартного маршаллинга)
стуб, библиотеку типов
при желании, ипользуя длинный путь, эту TLB можно #import'нуть
- А Вы что курите?
— Минздрав предупреждает
Re[2]: Просветите про IDL
От: SAndrey  
Дата: 06.11.01 08:35
Оценка:
Здравствуйте Ростислав Глухов, Вы писали:

РГ>Здравствуйте Аноним, Вы писали:


РГ>для компиляции IDL существует утилита MIDL

РГ>позволяет создавать прокси (для стандартного маршаллинга)
РГ>стуб, библиотеку типов
РГ>при желании, ипользуя длинный путь, эту TLB можно #import'нуть

Благодарю за ответ (я только начал работать с Com).

И следующий вопрос: после того как я скомпилировал *.IDL в *.h и *.tlb,
я подключил *.h к проекту и получил кучу ошибок, что бы это значило?
Re[3]: Просветите про IDL
От: Ростислав Глухов Россия http://www.geocities.com/rg2204/
Дата: 06.11.01 09:00
Оценка:
Здравствуйте SAndrey, Вы писали:

SA>Благодарю за ответ (я только начал работать с Com).

Пожалуйста... (а что, старички за ответы не благодарят?:)

SA>И следующий вопрос: после того как я скомпилировал *.IDL в *.h и *.tlb,

SA>я подключил *.h к проекту и получил кучу ошибок, что бы это значило?
я бы импортнул TLB
- А Вы что курите?
— Минздрав предупреждает
Re[4]: Просветите про IDL
От: SAndrey  
Дата: 06.11.01 09:25
Оценка:
Здравствуйте Ростислав Глухов, Вы писали:

РГ>Здравствуйте SAndrey, Вы писали:


SA>>Благодарю за ответ (я только начал работать с Com).

РГ>Пожалуйста... (а что, старички за ответы не благодарят?:)

SA>>И следующий вопрос: после того как я скомпилировал *.IDL в *.h и *.tlb,

SA>>я подключил *.h к проекту и получил кучу ошибок, что бы это значило?
РГ>я бы импортнул TLB

Я понял откуда ошибки. Этот midl сгенерил код
типа AffectEnum AffectRecords = 3, где AffectEnum — перечислимый тип,
а коппиль пропускает только AffectEnum AffectRecords = (AffectEnum) 3 ; (не Borland, однако)

А почему бы Вы импортили TLB ?
И почему при импорте DLL появляются названия интерфейсов с каким-то ...Ptr ?
Например из msado15.dll вытаскивается что-то типа _ConnectionPtr вместо _Connection
Re[5]: Просветите про IDL
От: Ростислав Глухов Россия http://www.geocities.com/rg2204/
Дата: 06.11.01 09:58
Оценка:
Здравствуйте SAndrey, Вы писали:

SA>Здравствуйте Ростислав Глухов, Вы писали:


SA>А почему бы Вы импортили TLB ?

Привычка:) частенько IDL недоступен

SA>И почему при импорте DLL появляются названия интерфейсов с каким-то ...Ptr ?

SA>Например из msado15.dll вытаскивается что-то типа _ConnectionPtr вместо _Connection
Это обертки над указателями
попимо этого импорт по умолчанию генерит еще и обертки функций,
там при неправильном HRESULT генерится exception (see *.tli)

использовать их или нет — отдельный вопрос,
для начала, наверное, стоит попробовать (с ними проще)
для отказа
#import "XXX.tlb" raw_interfaces_only, raw_native_types, named_guids
- А Вы что курите?
— Минздрав предупреждает
Re[6]: Просветите про IDL
От: SAndrey  
Дата: 06.11.01 10:15
Оценка:
Здравствуйте Ростислав Глухов, Вы писали:

РГ>для отказа

РГ>#import "XXX.tlb" raw_interfaces_only, raw_native_types, named_guids


Понял спасибо.

Ростислав, я побывал на Вашем сайте и заметил, что Вы
работали с MSSQL (ADO) отсюда вопрос (почти по теме обсуждения, вернее обучения :))

создаю _Connection и _Recordset
выполняю запрос все работает !(эврика)

А как сделать две связанные таблицы(заполнение второй зависит от выбранной записи в первой),
как передать связующие параметры.

Я работаю с базами в Delphi и там, естественно, не отображаются
внутренности ADO, а есть желание разобраться.
Re[7]: Просветите про IDL
От: Ростислав Глухов Россия http://www.geocities.com/rg2204/
Дата: 06.11.01 10:59
Оценка:
Здравствуйте SAndrey, Вы писали:

SA>А как сделать две связанные таблицы(заполнение второй зависит от выбранной записи в первой),

SA>как передать связующие параметры.

такой задачей не сталкивался
я бы ловил от rset'a событие MoveComplete
и рефрешил дочернюю таблицу (тогда уж лучше хранимую процедуру)
- А Вы что курите?
— Минздрав предупреждает
Re[8]: Просветите про IDL
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.11.01 20:29
Оценка:
Здравствуйте Ростислав Глухов, Вы писали:

РГ>Здравствуйте SAndrey, Вы писали:


SA>>А как сделать две связанные таблицы(заполнение второй зависит от выбранной записи в первой),

SA>>как передать связующие параметры.

РГ>такой задачей не сталкивался

РГ>я бы ловил от rset'a событие MoveComplete
РГ>и рефрешил дочернюю таблицу (тогда уж лучше хранимую процедуру)

Добавлю что параметры надо описать в SQL знаком "?" (вопроса). И добавить их к команде (только через нее можно работать с параметризованными запросами).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Просветите про IDL
От: Ростислав Глухов Россия http://www.geocities.com/rg2204/
Дата: 07.11.01 08:19
Оценка:
Здравствуйте SAndrey, Вы писали:

SA>А как сделать две связанные таблицы(заполнение второй зависит от выбранной записи в первой),

SA>как передать связующие параметры.

Да! в форуме про БД это обсуждалось в веточке "проблемы с пониманием"
- А Вы что курите?
— Минздрав предупреждает
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.