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

Re: [TRNSYS-users] Call external file through special cards with C++



Dear Werner:
Thank you for your help so much,Your solution is that to provide a dll which is programmed by fortran,then I can build a C++ class to read the file content according to the logical unit number,this is very smart.
However,what I just want to get the file path which is assigned in the specail cards in the new type.That is to say,I would like to get the path of the file in my type,not the content.
Can you provide me more advices? Thanks a lot!
Xingbin Lin

2010/6/4 keilholz, werner <werner.keilholz@cstb.fr>

Hi Xingbin,

 

I once proposed this solution :

https://www-old.cae.wisc.edu/pipermail/trnsys-users/2010/005500.html

 

It does not use the special cards, but the external file tab, like FORTRAN components.

 

In TRNSYS 17, there is a special FILE keyword, which solves this problem. I attach a sample component with source code using it (but this requires Trnsys 17, does not work with 16).

 

Werner

 

 

De : xingbin lin [mailto:lynxingbin@gmail.com]
Envoyé : vendredi 4 juin 2010 15:31
À : TRNSYS-users@cae.wisc.edu
Objet : [TRNSYS-users] Call external file through special cards with C++

 

Hello everyone,

 

I built a new type in which I need call external file through special cards in trnsys 16,and I exported it as C++,in this type,I wanted to get the path of external file by using the access  function getLabel(int,int) which was defined in TRNSYS.h header file.

 

But when I runned the simulation,it  prompted "Access  violation at address ###### in module 'dforrt.dll'".The function getLabel(int,int)  defined in "TRNSYS.h" is that "extern "C" __declspec(dllimport) char* _cdecl  TRNSYSFUNCTIONS_mp_GETLABEL(int , int );#define getLabel       TRNSYSFUNCTIONS_mp_GETLABEL".

 

I searched this problem in internet,somebody said maybe the reason existed in the process of calling the dll between  C++ and Fortran.
Please tell me how can I solve this exception and any suggestions.

 

Thanks.

 

Xingbin Lin