Помогите бедному человеку.
Есть длл: R_Ex.dll, в ней есть экспортируемая функция: R_FORMULA(ByVal OutStr as String) as Byte
Надо заставить Эксель выполнить эту функцию. Делаю так:
Public Declare Function R_Formula Lib "H:\inout\R_EX\R_Ex.dll" Alias "R_FORMULA" (ByVal OutStr As String) As Byte
Sub Test()
Dim Str As String
Str = String(1024, "8")
Call R_Formula(Str)
MsgBox (Str + " Len:" + CStr(Len(Str)))
End Sub
На что при вызове процедуры получаю Run-Time error '53' (File not found)
Путь указан абсолютный, длл там точно есть, работает (проверяли), эта функция опять-таки там есть.
Где я не прав?
Warstone,
ошибка "File not found" может возникать не только по очевидной причине отсутствия самой DLL, но и если отсутствуют файлы, необходимые для её работы (у DLL есть зависимости). Попробуйте воспользоваться
Dependency Walker, чтобы их обнаружить.
Наука изощряет ум; ученье вострит память.
(c) Козьма Прутков