Hello,

Yes. In fact these functions are not special.
They take fixed number of params, but they define
default values for all those missing params as Null (EMPTY_VAL),
then at run time the function checks for Nulls.
That's all, no magic here.

Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message ----- 
From: "Paul Ho" <[email protected]>
To: <[email protected]>
Sent: Saturday, August 15, 2009 6:17 PM
Subject: [amibroker] Re: ADK printf


> is it possible to write dll functions that takes variable no of arguments 
> similiar yo printf
> /paul
> --- 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
>
>
>

Reply via email to