Recompiling BLADED .dll for 64-bit

Hi, Aisha.

Theoretically, there is no difference in how the Bladed DLL is called between FAST v7 and v6. You may see some differences with messages returned from the DLL because FAST v8 is a little more rigorous in dealing with null characters that are at the end of C strings, but if you’ve written the DLL in Fortran, you shouldn’t see any difference in FAST v8. The name “DISCON.IN” was hard-coded in FAST v7; in FAST v8 you specify that name in the ServoDyn input file. What the DLL does with that name (either reads a file with that name or skips it), is outside the realm of FAST.

In your screen shot below, the “**** FAST START ****” appears to be written in the DLL, unless you’ve modified the FAST source code. The message with all the “\DISCON.IN” stuff is in the error message returned from the DLL. The aviFAIL argument from your subroutine must be less than 0, which tells FAST it encountered a fatal error. So, whatever error has been encountered originated inside the DLL.

The first thing I would check is that the arguments in your DLL are specified correctly. (e.g., avrSWAP should still be 4-byte reals even though the address to that array is 64-bits instead of 32-bits). The fact that the message returned from the DLL is so strange makes me think there may be a problem with the DLL arguments.