Как импортировать tlb и пространство имен в c ++ во время выполнения, когда выполняется какое-либо условие?

StackOverflow https://stackoverflow.com/questions/1108537

Вопрос

Обычно мы импортируем файл tlb при запуске программы, например

#include < stdio.h >
#import " sql.tlb "

Но мне нужно импортировать файл tlb, когда выполняется определенное условие в середине программы

как я могу это сделать?для загрузки dll есть LoadLibrary() но для загрузки tlb я могу использовать LoadLibrary().

Поскольку tlb генерируется с помощью .dll?

Это было полезно?

Решение

Вы можете загрузить библиотеку типов во время выполнения с помощью LoadTypeLib Загружаемый тип.

ITypeLib *ptlib;
LoadTypeLib("sql.tlb", &ptlib);

Что вы тогда делаете с ptlib это как бы повисает в воздухе, поскольку вы на самом деле не говорите, что вы пытаетесь с этим сделать.

ptlib является объектом, поддерживающим ITypeLib ( итпелиб ) интерфейс.В нем есть методы, которые вы можете вызывать для перечисления и повторения типов в библиотеке типов.Обычно вы используете его в сочетании с другими интерфейсами, такими как ITypeInfo ( Ит - код ) и так далее.

Я нашел более полный документ в стиле учебника здесь.Кроме того, это ссылка здесь содержит более подробную информацию, а также показывает заголовочный файл и библиотеку ссылок, которые вам нужно использовать.

Header                    oaidl.h, oaidl.idl
Library                   oleaut32.lib, uuid.lib
Windows Embedded CE       Windows CE 2.0 and later
Windows Mobile            Windows Mobile Version 5.0 and later
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top