- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is my first time putting together an application and a DLL using the Intel library. I have them both in the same Visual Studio 2005 project. I set the application to be dependent of the dll. Everything compiles fine, but when the application goes to call the function within the DLL I get the following error:
forrtl: severe (157): Program Exception - access violation
Image PC Routine Line Source
BLUEMAX5.dll 10030E77 Unknown Unknown Unknown
This project previously worked in the old Compaq Fortran Compiler. Am I missing a compiler or linker setting or what?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Your code may need to call LoadLibrary and GetProcAddress in order to access functions within the DLL. For example,
[cpp] INTERFACE INTEGER FUNCTION MAPIInitialize (lpMapiInit) !DEC$ATTRIBUTES STDCALL:: MAPIInitialize INTEGER lpMapiInit END FUNCTION END INTERFACE POINTER(lpMAPIInitialize,MAPIInitialize) and then, later on, hMapiLib = LoadLibrary("mapi32.dll"C) IF (hMapiLib /= 0) THEN lpMAPIInitialize= GetProcAddress(hMapiLib,"MAPIInitialize"C)[/cpp]
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Did you completely rebuild all objects that were compiled with CVF? At what statement in the program does the error occur?
I don't think dynamic loading is the answer for you - it is probably something simple.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Did you completely rebuild all objects that were compiled with CVF? At what statement in the program does the error occur?
I don't think dynamic loading is the answer for you - it is probably something simple.
I completely rebuilt everything. Here is the code in the main application. It fails at the line where it calls BMInit, which is the first function within the DLL. This is the exact same code that worked with the old Compaq Fortran.
CALL GETARG(1, DIRPATHS)
CALL GETARG(2, SCNFILE ) DFTIME = 0.01D0
CALL BMINIT
STOP
END
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I think we're going to need to see your project, and this should be handled through Intel Premier Support. Please open an issue there and attach a ZIP of your project(s) with all files needed to build and run the application.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page