Как сделать TLB30.06.2023, 20:11. Показов 4814. Ответов 34
Метки нет (Все метки)
Все говорят об этих волшебных штуках, о том, какие возможности и удобства.., но никто ни говорит, как их делать. Видел статью как это делается с помощью специальной проги на Delfi, можно ли ее использовать для VB?
0
|
|
| 30.06.2023, 20:11 | |
|
Ответы с готовыми решениями:
34
*.tlb файлы - как их делать и как они работают ????
|
|
Вернулся
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
|
|
| 05.07.2023, 06:31 | |
|
testuser2, а чего ты не попробуешь на VB6? Да и вообще чего ты так на этом VBA помешался. Программировал бы лучше на VB6.
0
|
|
| 05.07.2023, 07:38 [ТС] | ||
|
Добавлено через 12 минут На Пайтоне подобная концепция реализована в виде библиотеки скриптов. Недавно запись была про это. https://www.cyberforum.ru/blog... g8158.html Удобно - надо какую-то задачу сделать - выбрал нужный скрипт. Но мне не нравится, что там при выполнении скрипта, выводится какая-то билиберда консолью, вообще не понимаю в этом смысла.
0
|
||
| 06.04.2025, 12:44 [ТС] | |
|
Хотелось бы все-таки понять, как скомпилировать с помощью midl, мне это нужно чтобы создать декларацию с LONG_PTR. Я пробовал компилить даже нормальные, рабочие idl-ы, не получается, все время чего-то не хватает, чего-то там кричит про cl.exe. Стыдно сказать, даже к ИИ обращался с вопросом, но он не дал мне божественного знания, а только все время
0
|
|
| 06.04.2025, 12:49 [ТС] | ||||||
|
The trick, у меня есть своя простейшая tlb-шка всего с одной функцией. Я ее откры OleView и сохранил от туда файл IDL и попытался скомпилить с ключем /tlb последний раз это было так. Я уже наустанавливал всякой "требухи" типо Windows Kits, Даже VS 2017 Community установил не че не помагает (
0
|
||||||
|
Модератор
|
|||||||||||
| 06.04.2025, 13:09 | |||||||||||
|
testuser2, нужно сначала настроить пути типа такого:
2
|
|||||||||||
| 06.04.2025, 13:34 [ТС] | ||
|
Все-таки от статичности TLB видимо ни куда не уйти. А в TLB можно делать парметр, допустим какой-нибудь второ с дефолтным значением, а остальные обычные?
0
|
||
|
Модератор
|
|
| 06.04.2025, 14:18 | |
|
2
|
|
| 06.04.2025, 15:36 [ТС] | ||||
|
Добавлено через 30 минут typedef void* PtrPtr ?Добавлено через 6 минут Вижу, есть аттрибут ptr https://learn.microsoft.com/ru... 2/midl/ptr Но еще бы понять, может ли это добавить каких-то возможностей Vb..
0
|
||||
| 24.04.2025, 16:39 [ТС] | |
|
Получилось все-таки скомпилировать с помощью midl-а таким образчиком
1 сначала нужно найти vcvars32.bat (или vcvars64.bat) 2 открыть окно команд от администратора и выполнить батник 3 выполнить midl "путь к .tlb" tlb компилируется и попадает в системный каталог SysWOW64 (или System32, как полагаю, я использовал vcvars32.bat)
0
|
|
| 02.08.2025, 13:23 [ТС] | ||||||||||||||||||||||
|
Нашел, как настоящий LongPtr добавлять в tlb, для этого нужно добавлят импорт
Добавлено через 21 минуту Еще одну вещь увидел в stdole2.tlb тип OLE_COLOR определен как unsigned long, вау, думаю, а не работает ли unsigned в VBA. Неа, код выполняется без ошибок )(
Дальше об экспериментах
1
|
||||||||||||||||||||||
| 23.11.2025, 07:49 [ТС] | ||||||||||||||||
|
Опять же не понятная ситуация
В VBE7 есть модуль Constants
Разобрался. В Atl-проекте, в демонстрационном модуле автоматически добавляется заголовок такого вида #include "название_проекта_i.h" (в моем случае ATLVBA_i.h), я думал, что это необходимо и добавлял этот инклд во все новые модли. Но это вот как раз мешало откомпилировать константы в idl-модуле, поскольку все константы и функции из idl автоматически попадают в ATLVBA_i.h, а посколь ATLVBA_i.h был заинклюден в несколько модулей, то в них автоматически попадают определения из ATLVBA_i.h, т.е. из файла idl. И все вроде в порядке, но с константами из idl почему-то происходит такая фигня, что они как-будто переопределяются в каждом модуле по-новой и начинают друг с другом конфликтовать. В обем убрал во всех своих модулях #include "ATLVBA_i.h" и компиляция прошла нормально и константа появилась в Object-браузере.
0
|
||||||||||||||||
| 23.11.2025, 07:49 | |
|
Как сделать Typelib (.TLB) файл для компонентов ActiveX Как зарегистрировать msdatsrc.tlb Как получить библиотеку типа *.tlb из COM-объекта *.exe Как в редакторе tlb (COM) указать тип параметра "HBITMAP *p" Дерегистрация TLB Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|