[TRNSYS-users] Compaq visual fortran 6.1A
David Chèze
david.cheze at clipsol.com
Wed Dec 1 00:00:43 PST 2004
Michaël Kummert a écrit :
> 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
>
>
When I tried to recompile the main TRNDll, I get the following error
message with each type:
C:\Program Files\Trnsys16\SourceCode\Types\Type109.f90
f90: Error: Unrecognized keyword "arg_temp_created" for option "-check"
C:\Program Files\Trnsys16\SourceCode\Kernel\View.for
f90: Error: Unrecognized keyword "arg_temp_created" for option "-check"
C:\Program Files\Trnsys16\SourceCode\Kernel\TrnsysConstants.f90
f90: Error: Unrecognized keyword "arg_temp_created" for option "-check"
etc... for all types : it sounds like if CVF 6.1 is not able to re-
compile/build the TRNDll, isn't it? Is there any option I should(n't)
activate?
Moreover it's possible to create multiDll project with CVF 6.1A (See the
screenshot attached file) and until I use the "use TRNSYSconstants"
there wasn't pb and I was able to build the "CLIPSOLDll.dll". Since I
have to adapt all of my previous user types to new TRNSYS 16
programming, I have not yet attempted to run simulation that uses these
types. So I can't say categorically that it works well about the
multiDll structure.
Thanks
--
David Chèze
--
Développement produit
CLIPSOL - www.clipsol.com
PAE Les Combaruches
73100 Aix-les-Bains - France
tel:0479349818
-------------- next part --------------
A non-text attachment was scrubbed...
Name: screenshot.jpg
Type: image/jpeg
Size: 396181 bytes
Desc: not available
URL: <http://lists.onebuilding.org/pipermail/trnsys-users-onebuilding.org/attachments/20041201/d2588e12/attachment-0005.jpg>
More information about the TRNSYS-users
mailing list