Есть .dll созданная при помощи Corman Lisp IDE.
.dll-ка рабочая, заранее была заготовлена в папке \examples
Так же со средой идет утилита dllclient.exe для теста этой самой .dll и все тестится успешно.
Копирую эту библиотеку в \system32
Зависимости – тянет за собой msvcr80.dll (C run-time из Visual Studio 2005) и еще парочку библиотек самой среды Corman Lisp, значит все это тоже кладем в папку \system32
Проверяю Dependency walker, вроде все нормально, все что нужно есть, только одно замечание :
„Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.”
Игнорирую сообщение
Пробую связать свою dllsample.dll с Visual Basic 6
Вот что получается:
- Код: Выделить всё
Declare Function lisp_add Lib "dllsample.dll" (ByVal x As Long, ByVal y As Long) As Long
т.е. функция принимает х, у и возвращает их сумму
- Код: Выделить всё
Private Sub Command1_Click()
Label1.Caption = lisp_add(3, 4)
End Sub
по клику на Command1 получаю следующее сообщение:
Microsoft Visual C++ Runtime Library
Program: C:\Program Files\Microsoft Visual Studio\VB6.exe
R6034
An application has made an attempt to load the C runtime library incorrectly.
Please contact the application’s support team for more information
Нажимаю Oк, получаю уже
Microsoft Visual Basic
Run-time error ‘48’
File not found: dllsample.dll
Тогда пробую сначала зарегистрировать
regsvr32.exe "C:\WINDOWS\system32\dllsample.dll"
получаю
Microsoft Visual C++ Runtime Library
Program: C:\Windows\system\regsvr32.exe
R6034
An application has made an attempt to load the C runtime library incorrectly.
Please contact the application’s support team for more information
Нажимаю Ок, появляется еще одно сообщение:
Ошибка при вызове LoadLibrary(“C:\WINDOWS\system32\dllsample.dll”) – Произошел сбой в програмне инициализации библиотеки динамической компоновки (DLL).
Может кто-то сталкивался с подобным?
На машине стоит WinXP sp2, и одновременно Visual Studio 98 c Visual Studio 2005 вроде обе работают друг другу не мешают
С уважением,
Игорь