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" <[email protected]> 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" <juliangoods...@...> 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 > > >
