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] 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. Thanks. Xingbin Lin |
Attachment:
Component1.cpp
Description: Component1.cpp
Attachment:
Component1.tmf
Description: Component1.tmf