Hello, No, unused params should be set as follows:
vars[ n ].type = VAR_FLOAT; vars[ n ].val = EMPTY_VAL; Best regards, Tomasz Janeczko amibroker.com ----- Original Message ----- From: "Julian" <[email protected]> To: <[email protected]> Sent: Sunday, August 16, 2009 6:21 AM Subject: [amibroker] Re: ADK printf > Cheers Tomasz, > > I went as far as eight. Never would've guessed 21! :) > You should add that to the ADK doco as it's a special case. > > When you say fill all vars with EMPTY_VAL, do you mean set AmiVar.type = > VAR_NONE? > > Paul, the following article talks about wrapping variable length argument > functions. > http://www.swig.org/Doc1.3/Varargs.html > > Regards, > Julian. > > --- In [email protected], "Tomasz Janeczko" <gro...@...> wrote: >> >> Hello, >> >> AmiBroker ADK requires you to pass the number of arguments regardless. >> The magic value for printf call is 21. >> >> AmiVar vars[ 21 ]; >> >> SiteInterface.CallFunction( "printf", 21, vars ); >> >> You need to fill all unused vars with EMPTY_VAL . >> >> Best regards, >> Tomasz Janeczko >> amibroker.com >> ----- Original Message ----- >> From: "Paul Ho" <paul.t...@...> >> To: <[email protected]> >> Sent: Saturday, August 15, 2009 4:55 PM >> Subject: [amibroker] Re: ADK printf >> >> >> > When functions of variable arguments are implemented. the three dots as in >> > printf(const char*str, ...) tells the compiler not >> > to >> > do any parsing of arguments but simply pass all arguments as a block of >> > memory on the stack pointed to by str. However this is >> > intercepted by Amibroker's wrapper codes that is reinforcing the ArgsTable >> > and NumArg protocol. I reckon if you copy all your >> > arguments as a single block of memory pointed to by a char pointer and >> > make Args.string = charptr and use the CallFunction with >> > this 1 argument, The printf on the other side may be waiting for it. >> > Let us know if this work >> > Havent tried it myself though. >> > /Paul. >> > --- In [email protected], "Julian" <juliangoodsell@> wrote: >> >> >> >> How do you call this function from the ADK? >> >> >> >> SiteInterface.CallFunction("printf", ?, ?); >> >> I get invalid number of arguments. >> >> >> >> Is there another way to write to the Interpretation window? >> >> >> >> Jules. >> >> >> > >> > >> > >> > >> > ------------------------------------ >> > >> > **** IMPORTANT PLEASE READ **** >> > This group is for the discussion between users only. >> > This is *NOT* technical support channel. >> > >> > TO GET TECHNICAL SUPPORT send an e-mail directly to >> > SUPPORT {at} amibroker.com >> > >> > TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at >> > http://www.amibroker.com/feedback/ >> > (submissions sent via other channels won't be considered) >> > >> > For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG: >> > http://www.amibroker.com/devlog/ >> > >> > Yahoo! Groups Links >> > >> > >> > >> > > > > > ------------------------------------ > > **** IMPORTANT PLEASE READ **** > This group is for the discussion between users only. > This is *NOT* technical support channel. > > TO GET TECHNICAL SUPPORT send an e-mail directly to > SUPPORT {at} amibroker.com > > TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at > http://www.amibroker.com/feedback/ > (submissions sent via other channels won't be considered) > > For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG: > http://www.amibroker.com/devlog/ > > Yahoo! Groups Links > > >
