Поскольку сейчас разбираюсь с тлб, как их делать и использовать, вопросов постоянно возникает много. Так что буду их выкладывать сюда по мере возникновения :
1. Поскольку MkTypLib пока что мне нравится значительно больше, чем midl, вопрос первый: в чем различия между синтаксисом odl и idl? На сколько я понимаю, oleViewer декомпилирует именно в идл. А есть ли что-то, что декомпилирует в одл? И вообще - есть ли ещё какие-нибудь декомпиляторы тлб, кроме этого убогого? Самое странное и досадное, что код после декомпиляции ой как не всегда компилируется обратно. То есть, разобрать тлб, что-то там поправить, а потом собрать обратно - не всегда получается.
2. Есть ли ещё какие-нибудь тулзы для компиляции тлб, кроме MkTypLib и MIDL? На сколько я понимаю, такую компиляцию можно как-то делать через апи - так может существует-таки тулза, которая делает тлб без этих посредников? Ценнее всего было бы что-то вроде бейсиковского object brawser-a, но с возможностью редактирования
3. Можно ли изменить тлб, вшитую в ActiveX? Например, дописать туда модульные функции?
5. Вопросы по idl/odl. В бейсике можно объявить переменную или константу с любыми знаками в имени, заключив имя в квадратные скобки. Как прописать то же в идл/одл?
6. Пишу importlib("my.tlb"); , сама тлб лежит в той же папке, что и идл - мидл говорит, что файла не нашел. Можно ли сделать, чтобы находил, не перекладывая сам файл?