
The def table can be extended to hardcode the offset of the routine.


Powerstation has been around since 2000 - it was the replacement for MSFortran (I still have a copy of that somewhere!) but MS still needs some directive to tell it which routines to export. I found that when I first started using Windows in 1986. The newer MS compilers have streamlined the process but you still need a few extras (ImportDLL etc) - basically the MS route isn't as streamlined as the *nix route. Using only 2 variables, I get indeed a message that is missing, which meets perfectly the name convention you mentioned. The first thing I noticed is that you either used "compiler directives" like !DEC$ etc., are these not necessary?Ībout the def file, it's not clear to me whether the name of the library, in your case "testlib" should be the same as the name of your DLL, or the function in your DLL. Is it therefore necessary to use the "INTERFACE" statement in the function "simpson"? (Never knew what these interfaces were for anyway.) Amazing, I didnt know it for looking up your fortran power station compiler!! Something that doesn't have to do anything with building DLL's but that I saw in your example and was new to me, is that you seem to use your function f1 as an argument to your function simpson ? When I load the executable, it doesn't show "twice_" on the PI import window however, I suppose that Dependency Walker only works with DLL's, right? You can't see which variables are going in or out, can you? "twice_" as the function name indeed on the export window. Thanks for the tip about Dependency Walker, I'll use it to check commercial dll's. I suppose that the necessity to use these commands is compiler dependent It seems to work fine without these compiler commands that seem to be called "compiler directives".
