<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.EmailStyle18
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:#1F497D;}
span.EmailStyle19
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:#1F497D;}
span.EmailStyle20
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:#1F497D;}
span.EmailStyle21
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:#1F497D;}
span.EmailStyle22
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page Section1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=FR link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal><span style='color:#1F497D'>Daniel, <o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='color:#1F497D'>I tried it out
quickly it and seemed to work to the point where DYNDATA tries to read the data
file (I don’t have one, so I didn’t check further).<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='color:#1F497D'>It looks like it is
called correctly. Are you sure your data file is OK? <o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='color:#1F497D'>It may be a good idea
to remove the last argument. It is optional and implements a jump; with your
setup, it would mean something like “GOTO 0” – no idea what
happens in this case. You could try to replace <o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-AU style='font-size:8.0pt;font-family:"Courier New";
color:blue'>extern</span><span lang=EN-AU style='font-size:8.0pt;font-family:
"Courier New"'> <span style='color:#A31515'>"C"</span> <span
style='color:blue'>__declspec</span>(<span style='color:blue'>dllimport</span>)
<span style='color:blue'>void</span> <span style='color:blue'>_cdecl</span>
DYNAMICDATA(<span style='color:blue'>int</span>* lu,<span style='color:blue'>int</span>*
nind,<span style='color:blue'>int</span> nx[],<span style='color:blue'>int</span>*
ny,<span style='color:blue'>double</span> x[],<span style='color:blue'>double</span>
y[],<span style='color:blue'>int</span> info[],<span style='color:blue'>int</span>*
n);<span style='color:blue'><o:p></o:p></span></span></p>
<p class=MsoNormal><span lang=EN-AU style='font-size:8.0pt;font-family:"Courier New";
color:blue'>by<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-AU style='font-size:8.0pt;font-family:"Courier New";
color:blue'>extern</span><span lang=EN-AU style='font-size:8.0pt;font-family:
"Courier New"'> <span style='color:#A31515'>"C"</span> <span
style='color:blue'>__declspec</span>(<span style='color:blue'>dllimport</span>)
<span style='color:blue'>void</span> <span style='color:blue'>_cdecl</span>
DYNAMICDATA(<span style='color:blue'>int</span>* lu,<span style='color:blue'>int</span>*
nind,<span style='color:blue'>int</span> nx[],<span style='color:blue'>int</span>*
ny,<span style='color:blue'>double</span> x[],<span style='color:blue'>double</span>
y[],<span style='color:blue'>int</span></span><span lang=EN-AU
style='color:#1F497D'> </span><span lang=EN-AU style='font-size:8.0pt;
font-family:"Courier New"'>info[]);<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-AU style='font-size:8.0pt;font-family:"Courier New"'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='color:#1F497D'>(That’s what I
did in my test).<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='color:#1F497D'>If the problem
persists, you should ask one of the FORTRAN gurus to try out our data file in a
FORTRAN version. <o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='color:#1F497D'>Good luck,<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='color:#1F497D'>Werner<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p>
<div>
<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'>
<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>De :</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
Daniel.Kiehlmann@csiro.au [mailto:Daniel.Kiehlmann@csiro.au] <br>
<b>Envoyé :</b> mercredi 21 avril 2010 03:06<br>
<b>À :</b> keilholz, werner; TRNSYS-users@engr.wisc.edu<br>
<b>Objet :</b> RE: [TRNSYS-users] DYNAMICDATA function in C++<o:p></o:p></span></p>
</div>
</div>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><span lang=EN-AU style='color:#1F497D'>Hi Werner, <o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-AU style='color:#1F497D'>Thank you for your
answer.<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-AU style='color:#1F497D'>I checked it and I
know that the dynamicdata function is causing the error in TRNSYS.<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-AU style='color:#1F497D'>I send you the
function of the TRNSYS header file and the part of the code where it calls the
that function (it’s the example which is explained in the TRNSYS manual).<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-AU style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-AU style='font-size:8.0pt;font-family:"Courier New";
color:blue'>extern</span><span lang=EN-AU style='font-size:8.0pt;font-family:
"Courier New"'> <span style='color:#A31515'>"C"</span> <span
style='color:blue'>__declspec</span>(<span style='color:blue'>dllimport</span>)
<span style='color:blue'>void</span> <span style='color:blue'>_cdecl</span>
DYNAMICDATA(<span style='color:blue'>int</span>* lu,<span style='color:blue'>int</span>*
nind,<span style='color:blue'>int</span> nx[],<span style='color:blue'>int</span>*
ny,<span style='color:blue'>double</span> x[],<span style='color:blue'>double</span>
y[],<span style='color:blue'>int</span> info[],<span style='color:blue'>int</span>*
n);<span style='color:green'><o:p></o:p></span></span></p>
<p class=MsoNormal style='text-indent:36.0pt;text-autospace:none'><span
lang=EN-AU style='font-size:8.0pt;font-family:"Courier New";color:blue'> <o:p></o:p></span></p>
<p class=MsoNormal style='text-indent:36.0pt;text-autospace:none'><span
lang=EN-AU style='font-size:8.0pt;font-family:"Courier New";color:blue'>...<o:p></o:p></span></p>
<p class=MsoNormal style='text-indent:36.0pt;text-autospace:none'><span
lang=EN-AU style='font-size:8.0pt;font-family:"Courier New";color:blue'>int</span><span
lang=EN-AU style='font-size:8.0pt;font-family:"Courier New"'> nind = 2;<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-AU
style='font-size:8.0pt;font-family:"Courier New"'>
<span style='color:blue'>int</span> nx[2];<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-AU
style='font-size:8.0pt;font-family:"Courier New"'>
<span style='color:blue'>int</span> ny = 2;<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-AU
style='font-size:8.0pt;font-family:"Courier New"'>
<span style='color:blue'>double</span> x[2];<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-AU
style='font-size:8.0pt;font-family:"Courier New"'>
<span style='color:blue'>double</span> y[2];<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-AU style='font-size:8.0pt;font-family:"Courier New"'>
<span style='color:blue'>int</span> n=0;<span style='color:green'><o:p></o:p></span></span></p>
<p class=MsoNormal><span lang=EN-AU style='font-size:8.0pt;font-family:"Courier New";
color:green'> ...<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-AU
style='font-size:8.0pt;font-family:"Courier New"'>
nx[0] = 3; <span
style='color:green'>//3 values of second variable in file<o:p></o:p></span></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-AU
style='font-size:8.0pt;font-family:"Courier New"'>
nx[1] = 2; <span
style='color:green'>//2 values of first variable in file<o:p></o:p></span></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-AU
style='font-size:8.0pt;font-family:"Courier New"'>
X[0] = T_evap;
<span style='color:green'>//input1
<o:p></o:p></span></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-AU
style='font-size:8.0pt;font-family:"Courier New"'>
x[1] = T_cond;
<span style='color:green'>//input2<o:p></o:p></span></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-AU
style='font-size:8.0pt;font-family:"Courier New"'>
<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-AU
style='font-size:8.0pt;font-family:"Courier New"'>
DYNAMICDATA(&logical_unit,&nind,nx,&ny,x,y,info,&n);<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-AU
style='font-size:8.0pt;font-family:"Courier New";color:green'><o:p> </o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-AU
style='font-size:8.0pt;font-family:"Courier New"'>
xout[0]=y[0];<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-AU
style='font-size:8.0pt;font-family:"Courier New"'>
xout[1]=y[1];<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-AU
style='font-size:8.0pt;font-family:"Courier New"'>
...<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-AU
style='font-size:8.0pt;font-family:"Courier New"'><o:p> </o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-AU
style='font-size:8.0pt;font-family:"Courier New"'><o:p> </o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-AU
style='font-size:8.0pt;font-family:"Courier New"'><o:p> </o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-AU
style='font-size:8.0pt;font-family:"Courier New"'><o:p> </o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-AU
style='font-size:8.0pt;font-family:"Courier New"'>Kind Regards<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-AU
style='font-size:8.0pt;font-family:"Courier New"'>Daniel<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-AU style='color:#1F497D'><o:p> </o:p></span></p>
<div>
<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'>
<p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;
font-family:"Tahoma","sans-serif"'> keilholz, werner
[mailto:werner.keilholz@cstb.fr] <br>
<b>Sent:</b> Tuesday, 20 April 2010 6:27 PM<br>
<b>To:</b> Kiehlmann, Daniel (DET, Newcastle); TRNSYS-users@engr.wisc.edu<br>
<b>Subject:</b> RE: [TRNSYS-users] DYNAMICDATA function in C++<o:p></o:p></span></p>
</div>
</div>
<p class=MsoNormal><span lang=EN-AU><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>Hi Daniel, <o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='color:#1F497D'>It it hard to tell
without looking @ some code, but I would bet on some argument type mismatch, or
array size mismatch (your arrays must match the constants in
TrnsysConstants.f90). <o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='color:#1F497D'>The TRNSYS kernel
functions mainly want arguments passed by reference, like in <o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='color:#1F497D'>int a; doit(&a);<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='color:#1F497D'>Set a breakpoint on
the line that calls the function , F5 in DevStudio, navigate to Trnsys.exe,
point to the deck to run, inspect the variables when the breakpoint is hit. F11
will basically debug into the TRNDll by using the debug version (you need to
recompile TRNDll with a Fortran compiler). <o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='color:#1F497D'>Hope that helps (a
little),<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='color:#1F497D'>Werner <o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p>
<div>
<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'>
<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>De :</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
Daniel.Kiehlmann@csiro.au [mailto:Daniel.Kiehlmann@csiro.au] <br>
<b>Envoyé :</b> mardi 20 avril 2010 05:20<br>
<b>À :</b> TRNSYS-users@engr.wisc.edu<br>
<b>Objet :</b> [TRNSYS-users] DYNAMICDATA function in C++<o:p></o:p></span></p>
</div>
</div>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><span lang=EN-AU>Dear all,<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-AU><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-AU>I’m trying to create a new component
in C++ with a dynamicdata function.<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-AU><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-AU>It works when I build the solution in C++,
but pulls out following error when I run this component in TRNSYS:<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-AU><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-AU>“Access violation at address 100048CC
in module ‘TRNDLL.DLL’. Read of address 00000002”<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-AU><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-AU>Does anyone has some experience in using
the dynamicdata function in C+ and can help me out?<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-AU><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-AU><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-AU>Thanks very much in advance<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-AU><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-AU>Daniel Kiehlmann<o:p></o:p></span></p>
</div>
</body>
</html>