Как импортировать tlb и пространство имен в c ++ во время выполнения, когда выполняется какое-либо условие?
-
12-09-2019 - |
Вопрос
Обычно мы импортируем файл 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