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 > > > > > > >
