Я пытаюсь запустить некоторый код LotusScript (очень похожий на Visual Basic) в Lotus Domino на серверах Windows.
Код вызывает некоторые функции Windows API и отлично работает на 32-разрядных серверах Windows 2003, но нене работает на одном 64-битном сервере, на котором мы его пробовали.
Вот одно из наших объявлений внешних функций:
Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" _
(Byval lpFile As String, Byval lpDirectory As String, Byval lpResult As String) As Long
При попытке вызвать эту функцию LotusScript создаетсообщение об ошибке «Внешняя функция не найдена».
Я попытался удалить псевдоним из объявления и изменить псевдоним «FindExecutable» с тем же результатом.
У меня также:
-Для сравнения попытался вызвать функцию GetForegroundWindow в user32.dll - это работает.
- Использовал функцию Dir, чтобы подтвердить, что shell32 существует с путем "c: \ windows \ syswow64 \ shell32.dll", затем ...
- изменен lib в объявлении на полный путь к dll - при вызове функции появляется «Ошибка при загрузке DLL».
Есть ли что-то, что должнобыть сделано по-другому при вызове функций shell32 на 64-битном сервере?
Есть ли другие причины, по которым вызов функции не будет выполнен на одном конкретном сервере?