2

I have a VB6 application which utilizes NI4882 api (VBIB32) with gpib-32.dll and is working fine in all deployed PCs (windows server 2003 32 bit).

However, recently we have a new PC (windows server 2019 64 bit) and the application could not find the gpib-32.dll even though i checked the dll is in C:\Windows\SysWOW64. The error "File not found: gpib-32.dll" prompted out when the apps called function from the dll.

I am not sure if this is the dll compatibility issue on 64bit or is there something that I missed?

Edit:

this is some of the DLL entry function declaration:

' NI-488.2 DLL entry function declarations

Declare Function ibask32 Lib "gpib-32.dll" Alias "ibask" (ByVal ud As Long, ByVal opt As Long, value As Long) As Long

Declare Function ibbna32 Lib "gpib-32.dll" Alias "ibbnaA" (ByVal ud As Long, sstr As Any) As Long

Declare Function ibcac32 Lib "gpib-32.dll" Alias "ibcac" (ByVal ud As Long, ByVal v As Long) As Long

' the rest .....
StayOnTarget
  • 11,743
  • 10
  • 52
  • 81
aDev
  • 95
  • 1
  • 1
  • 11
  • 1
    Generally speaking, that VB error message can be misleading. It should read "The file gpib-32.dll **or one of its dependencies** not found", i.e. another file (DLL) might be missing. Use something like Dependency Walker and make sure all imports are present. Or in this particular case you might have run into [this specific case](https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019L7oSAE). – Hel O'Ween Oct 28 '21 at 07:59
  • Why is it installed in SysWow64? You could/should just put it in the same folder as the EXE that loads it. This is not a COM DLL which might have to be registered system-wide – StayOnTarget Oct 28 '21 at 11:25

0 Answers0