|
|
|
Декларирование 32 bit DLL в 64 bit VBA
|
|||
|---|---|---|---|
|
#18+
С Новым годом господа ! Имею 32 bit DLL созданную компилятором Delphi 7 Пытаюсь задекларир-ть функцию в 32 bit VBA Excel - порядок Код: pascal 1. Аналогичное сделал в 64 bit версии Excel - ошибка - "НЕТ файла DLL" Код: pascal 1. Особенность DLL созданные Microsoftom - 32 bit декларирую-ся нормально Код: pascal 1. 2. Скомпилированную версией Delphi - не может найти как файл. Кто-то сталкивался с такой ситуацией ? Спасибо. P.S. - смену компилятора не предлагать - пока нет возможности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.12.2019, 19:58 |
|
||
|
Декларирование 32 bit DLL в 64 bit VBA
|
|||
|---|---|---|---|
|
#18+
user32 в данном случае вовсе не означает, что будет загружена 32bit версия dll. Просто и 64bit называется user32.dll. А так, понятное дело, в 64 разрядном приложении нельзя использовать 32 битные dll ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.12.2019, 20:14 |
|
||
|
Декларирование 32 bit DLL в 64 bit VBA
|
|||
|---|---|---|---|
|
#18+
Michael Longneck user32 в данном случае Это пример подключения Вы хотели сказать что если к примеру заменить user32.dll взять ее из 32-bit версии OS в Microsofte - то ТОЖЕ не будет работать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2020, 00:22 |
|
||
|
Декларирование 32 bit DLL в 64 bit VBA
|
|||
|---|---|---|---|
|
#18+
Разумеется. Без специальных сложных и неоправданных ухищрений работать не будет. В случае же user32.dll я не уверен даже, что возможно её "взять" не той битности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2020, 00:49 |
|
||
|
Декларирование 32 bit DLL в 64 bit VBA
|
|||
|---|---|---|---|
|
#18+
HOME_X Вы хотели сказать что если к примеру заменить user32.dll взять ее из 32-bit версии OS в Microsofte - то ТОЖЕ не будет работать ? А как это может работать чисто технически? Когда загружается длл, она просто попадает в адресное пространство процесса, функции длл ничем не отличаются от функций из родного процесса ( в том смысле, что для их вызова используется CALL, а не прерывание). x64 и x86, это, считай, два разных процессора, с таким же успехом можно пробовать выполнить код процессора другой архитектуры, ARM, например. Когда был переход Win16->Win32 в ntvdm создали специальный механизм, который позволял (с болью) вызывать 16битные длл из Win32, сейчас такого механизма (Win64<->Win32) нет, насколько я знаю. Хотя, такой механизм, наверное, можно создать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2020, 01:47 |
|
||
|
|

start [/forum/topic.php?fid=58&tid=2038717]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 384ms |

| 0 / 0 |
