[TRNSYS-users] Compaq visual fortran 6.1A

Michaël Kummert kummert at engr.wisc.edu
Tue Nov 30 09:40:45 PST 2004


David,

> 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 at engr.wisc.edu

SEL Web Site: http://sel.me.wisc.edu
TRNSYS Web Site: http://sel.me.wisc.edu/trnsys



More information about the TRNSYS-users mailing list