Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 349
  • Last Modified:

VB can't find Fortran DLL file

I have recently upgraded to VB 5 and Visual Fortran from VB4 and Fortran powerstation.  A VB program that I upgraded is supposed to call subroutines in two Fortran DLL's that I wrote.  (All this worked before I upgraded my compilers.)  Now the VB gives me a 'File not found' error when ever I try to call a function from my DLLs.  I have tried putting the DLL various places (windows/sys; in the .exe directory; etc.), including giving it a full path name when I declare it in VB.  Why can't the VB find my DLL?
0
als7
Asked:
als7
  • 2
  • 2
1 Solution
 
cymbolicCommented:
If you haven't done so already, use notepad to view your project file and see if their aren't some conflicting references in it.  If so, just delete them and then your new declarations in VB should take precedence.
0
 
als7Author Commented:
I looked in the *.vbp file and I couldn't see any conflicting references.
0
 
vmpnCommented:
If you use 16bit version of VB4 and DLL's writen in Fortran for 16bit, since VB5 is 32bit application it may not recognize the 16bit DLL.

If I am wrong please provide the DECLARE Statments from your program and the name(s) of DLL you use.

Sincerely,
VMPN
0
 
als7Author Commented:
My previous VB program and DLL were both 32-bit, as are the current ones.  Here is my declaration:

Public Declare Sub Write_Chain Lib "d:\vb32prj\fm3new\drawchan.dll" _
 Alias "_WRITE_CHAIN@24" (ByVal nuke$, l1&, ByVal Temp_Path$, l2&, ByVal Perm_Path$, l3&)

The dll name is 'drawchan.dll'.
0
 
vmpnCommented:
Here is your problem you "d:\vb32prj\fm3new\drawchan.dll" _
                                                 Alias "_WRITE_CHAIN@24" (ByVal nuke$, l1&, ByVal Temp_Path$, l2&, ByVal Perm_Path$, l3&)

but it should be:
"d:\vb32prj\fm3new\drawchan.dll" _ function_name
                                                 Alias "_WRITE_CHAIN@24" (ByVal nuke$, l1&, ByVal
                                               Temp_Path$, l2&, ByVal Perm_Path$, l3&)

Sincerely,
VMPN
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now