[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [TRNSYS-users] Compaq visual fortran 6.1A


I'm trying to change/develop user components and everything (CVF configurations, building of the different Dlls with old TRNSYS user types etc...) was ok until I decide to insert "use TRNSYSconstants" in one of my subroutine, compiler returning the following message:

T:\TypesUtil\Type242\Type242.f90(89) : Error: The module file cannot be read. Its format requires a more recent F90 compiler. [TRNSYSCONSTANTS]

Should I necessarly update my CVF to 6.6 or is there something i can do wrong ?

Module files (.mod) are compiler-dependent so you cannot mix different compiler versions. Theoretically, you could get rid of that error by recompiling the main TRNSYS DLL (TRNDll.dll) with your compiler. However, in your case you would have a different problem, which is that CVF versions prior to 6.6B do not fully support the instructions to build a multi-DLL project that are used in the TRNDll source code.

So in short, yes, you do have to upgrade to CVF 6.6B in order to be able to use the module files.

A more general note on adding user Types in external DLL's:
You can create Types in any programming language with a compiler that is able to create Windows DLL's. The advantage of using CVF6.6b (or IVF) is that you are able to directly "use" the data modules, which means you can use kernel constants and functions without having to re-declare them. If you are using another compiler (in Fortran or not), you are still able to create a user Type that uses the access functions, but you have to declare them correctly (see e.g the Trnsys.h file for C/C++ Types). So, again in theory, you should be able to create an external DLL with CVF 6.1 if you do not use the modules but rather access the kernel variables through access functions. This assumes CVF 6.1 is able to create working Windows DLL's, which I don't think is true. Please let us know if you succeed in doing so.

I hope this helps,

Michaël Kummert

-- _________________________________________________________

Michaël Kummert

Solar Energy Laboratory - University of Wisconsin-Madison
1303 Engr Res Bldg, 1500 Engineering Drive
Madison, WI 53706

Tel: +1 (608) 263-1589
Fax: +1 (608) 262-8464
E-mail: kummert@xxxxxxxxxxxxx

SEL Web Site: http://sel.me.wisc.edu
TRNSYS Web Site: http://sel.me.wisc.edu/trnsys
TRNSYS-users mailing list