- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am not a .Net expert but I have come across this: Your Fortran DLL must be compiled with some Fortran for .Net (e.g. Salford FTN95 or Lahey) to be compatible to be included as a reference in your .Net application. If your DLL is compiled with CVF or IVF, then you have to declare it in VB as before (or use DLLIMPORT).
I thinkSteve provided some sample on this forum for mixed VB.Net - IVF. Just search the forum.
Sabalan.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I was hoping to hear what Steve did to compile those examples to which you allude. The details discussed during all cases which I havefound on this forumdid not address compilation and dealt with matters already resolved in my instancewhen we were usingVB6.0
As regards the Fortran compiler. I figured that with IVF integrated with Visual Studio.Net 2003, that detail would be satisfied. However, I must be missing something regarding the Fortran project settings.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You cannot add an Intel (or Compaq) Fortran DLL as a "reference" to a .NET assembly, as stated above. You must instead call it using the mechanism for unmanaged code. I did post examples - I'm away on business this week so don't have my samples handy, but there's not much to change from CVF.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks, Steve,
It was the transition from VB6 to VB.Net which was giving pause; not the CVF to IVF. Indeed, the routine working with VB6 was compiled with IVF. However, you told me what I needed to know which was that you need to put the full pathname in the declare statement rather than making the dll a "reference". Once that was clear, I noted that this is what allrelated examples I found on this forum seem to have done.
So all that was wrong was that VB.Net was not finding the dll. The reason it worked in VB6 was presumably because the executable in VB6 was fully compiled rather than in debug mode viathe Visual Studio.Net interface. Thus the dll being in the same directory as the exe was found by the latterwithout incident.
I have tried copying the dll into the debug directory of VB.Net and simplifying the declare statement. That does not work. Even worse was placing the dll directory name along the "reference path" of the VB.Net project after which it could not even find system files! Presumably, that was the same bad idea in a different form from my making the dll a reference.
So, for the debug phase of the development, the full pathname of the dll will be included in the declare statement; to be simplified when the solution is finally released.
Cheers!
Tom
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page