Если я использую библиотеку типов (.tlb) в проекте VB6, нужно ли распространять ее вместе с .exe? - PullRequest
5 голосов
/ 10 мая 2010

Если я использую библиотеку типов в проекте VB6, нужно ли мне распространять файл .tlb (и, возможно, даже зарегистрировать его?) Вместе с откомпилированным файлом exe на целевом компьютере?

Ответы [ 4 ]

1 голос
/ 10 июля 2014

По своему опыту, я всегда распространяю файл .TLB вместе с .EXE, включая регистрацию, это помогло мне предотвратить множественные ошибки времени выполнения, такие как «Ошибка времени выполнения 429: компонент ActiveX не может создать объект».

1 голос
/ 12 мая 2010

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

Предположим, библиотека типов определяет структуру A, и ваше приложение содержит такую ​​процедуруЕсли библиотека типов не зарегистрирована, ваше приложение не может запуститься - отображается сообщение об ошибке.

Sub testSub1(ByRef mybadarray() As A)

но это будет нормально

Sub testSub2()
  Dim ok As A ' OK provided you never actually Call testSub2 at runtime '
0 голосов
/ 10 мая 2010

Только если вы используете многопоточность, т.е. ActiveX EXE или in-proc с функциями CoMarshalInterThreadInterfaceInStream и т. Д.

0 голосов
/ 10 мая 2010

Нет, ты не.Он используется только во время компиляции.

...