|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
|||||||||||
OLE(Object Linking and Embedding)?24.01.2024, 23:07. Показов 14725. Ответов 167
Здравствуйте! Приступил к изучению темы OLE, если кто-то эту тему понимает, то ему не составит труда пояснить что это за зверь такой, ну, или пояснить некоторые моменты, мелочи. Вот одна такая "мелочь"
Почему автор объявляет класс так: Кликните здесь для просмотра всего текста
Это что-то абсолютно мне не знакомое, и, если на win32 DLL-библиотека собирается, то для win64 уже нет, ругается
0
|
|||||||||||
| 24.01.2024, 23:07 | |
|
Ответы с готовыми решениями:
167
Error linking glsl Program Object Как увидеть содержание типа OLE Object с помощью Delphi-Ole Conteiner? Изменить Свойство Ole Object |
|
COM‐пропагандист
|
|||||||||||||
| 13.02.2024, 05:50 | |||||||||||||
0
|
|||||||||||||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
||||||||||||||
| 13.02.2024, 17:33 [ТС] | ||||||||||||||
CALLER1.rar IMALLOC1.rar
0
|
||||||||||||||
|
COM‐пропагандист
|
||||||||
| 13.02.2024, 17:55 | ||||||||
0
|
||||||||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
|
| 13.02.2024, 22:00 [ТС] | |
|
0
|
|
|
Модератор
|
|||||||||||||||||||||||
| 14.02.2024, 09:06 | |||||||||||||||||||||||
DAlloc::AddRef() и DAlloc::Release() c ULONG на SIZE_T?Конечно, оно редко используется, а c++ позволяет это делать, но зачем?
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um\Unknwnbase.idl
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um\Unknwn.h
Не по теме:
Разве не Вы портировали с Windows 95 и на более современный c++?
0
|
|||||||||||||||||||||||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
|||
| 14.02.2024, 17:12 [ТС] | |||
|
0
|
|||
|
2736 / 891 / 331
Регистрация: 10.02.2018
Сообщений: 2,128
|
|
| 14.02.2024, 18:21 | |
Сообщение было отмечено politoto как решение
Решение
Liss29, сделал такой вариант, всё собирается и работает под х86 и под х64. Исправления:
1) Переделал клиента из C++ в Си (lpVtbl->, this, &IID, extern "C") 2) Убрал файлы IMALLOC1.lib и Dalloc.h из каталога клиента 3) Экспортируемая в клиент функция CreateAllocator добавлена в Caller1.c явно без использования Dalloc.h 4) Сделал солюшен к двум проектам для компиляции из студии (у меня VC19) 5) В настройках проекта клиента прописал пути к библиотекам и подключение IMALLOC1.lib 6) В настройках солюшена прописал зависимости, что бы задать порядок компиляции проектов Всё вроде, может и ещё чего поправил, уже не помню. Если сделал не то, что хотели, то скажите, чего еще не хватает.
1
|
|
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
||
| 14.02.2024, 23:04 [ТС] | ||
|
0
|
||
| 15.02.2024, 12:21 | |
|
Не по теме: Liss29, посмотрите какую-то книжку сугубо по СОМ, например "Дейл Роджерсон - основы СОМ", при условии что вы знаете на базовом уровне С++, может и поймете суть. Не знаю. СОМ адово сложная технология, я до сих пор понимаю его на уровне копи-паст, там нет логики (ну или надо понимать ООП досконально, хз).
0
|
|
|
COM‐пропагандист
|
||
| 15.02.2024, 12:44 | ||
|
СОМ — это совершенно простая технология, это всего лишь вызов функции по указателю.
0
|
||
|
336 / 129 / 18
Регистрация: 26.12.2010
Сообщений: 501
|
|
| 15.02.2024, 17:00 | |
|
Замабувараев, любая технология, когда ее освоил, кажется простой. Но поначалу, со стороны, это адский ад. Особенно COM WMI на лоу левеле, это какой-то наркоман придумал поди.
А так, вот пример навскидку - чем отличается CLSID от IID ? Без глубокого знания ООП нереально понять (я и до сих пор не понимаю).
0
|
|
|
2736 / 891 / 331
Регистрация: 10.02.2018
Сообщений: 2,128
|
||
| 15.02.2024, 18:31 | ||
|
CLSID идентифицирует реализацию. Например, может быть несколько библиотек реализующих один интерфейс, доступ к нужной библиотеке можно получить с помощью её уникального CSLID. CoCreateInstance и прочие функции загружающие библиотеки. IID идентифицирует интерфейс. Например, один объект поддерживает несколько интерфейсов, доступ к нужному интерфейсу можно получить по его уникальному IID. IUnknown::QueryInterface и многие другие функции запрашивающие нужные интерфейсы.
1
|
||
|
COM‐пропагандист
|
|||
| 15.02.2024, 18:40 | |||
|
В первом случае это число используется как номер структуры (CLSID), во втором случае это число используется как номер массива с указателями на функции (IID). Можно было бы взять 64‐битное число, но его уникальность не гарантируется, а для 128‐битного числа вероятность совпадения очень мала. Добавлено через 7 минут Технология не может быть плохой просто потому что кто‐то сделал функцию с несколькими параметрами которые возвращают указатели на структуру (массив). Я считаю, что вызывать функции по указателю (вмести имени) — это не настолько сложно, чтобы называть это адским адом и чудовищно сложным процессом.
0
|
|||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
||||
| 15.02.2024, 22:04 [ТС] | ||||
, а теперь оказался вон где... какой-то COM.
0
|
||||
|
COM‐пропагандист
|
|||
| 15.02.2024, 22:53 | |||
|
Вы либо явно вызываете функцию по указателю через lpVtbl, либо за вас это делает компилятор. По‐другому и быть не может. COM = VTable, а VTable = массив с указателями. Если не будет VTable, то не будет никакого COM. Добавлено через 42 минуты В этом вашем проекте ещё нет ничего специфического для COM. Проект всё ещё не выходит за рамки базового синтаксиса языка C++ стандарта 1998 года.
0
|
|||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
||||
| 15.02.2024, 23:19 [ТС] | ||||
|
Добавлено через 3 минуты Не по теме:
Добавлено через 6 минут Не по теме: На кой ... она(COM) нужна, если есть С++, совместимость, но разве на плюсах нельзя добиться совместимости, дак зачем этот монстр нужен, ах да, один компонент может содержать несколько интерфейсов объекты С++ такого не могут, но всё же, зачем?
0
|
||||
|
2736 / 891 / 331
Регистрация: 10.02.2018
Сообщений: 2,128
|
|||
| 16.02.2024, 00:21 | |||
0
|
|||
|
COM‐пропагандист
|
|||
| 16.02.2024, 05:23 | |||
|
1
|
|||
|
Модератор
|
|
| 16.02.2024, 07:35 | |
|
0
|
|
| 16.02.2024, 07:35 | |
|
Access and Excel OLE object ActiveX ole-object с Delphi на Qt Access and Excel OLE object Импорт файла из OLE Object в attachment Как вставить рисунок с OLE object таблицы EXCEL в таблицу Acces Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата)
Этот документ предназначен для того, чтобы новый чат Claude мог продолжить
работу без необходимости заново разбираться в. . .
|
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса
Калибровка параметров симбиотической модели: технический обзор
Содержание:
Введение
Постановка проблемы
Технические аспекты реализации
Процесс внедрения изменений
|
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0»
https:/ / ibb. co/ NnkGpfMd
Представленная интегрированная схема описывает непрерывную нелинейную. . .
|