PureBytes Links
Trading Reference Links
|
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" <paul.tsho@xxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
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 amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <groups@xxx> 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.tsho@xxx>
>> To: <amibroker@xxxxxxxxxxxxxxx>
>> 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 amibroker@xxxxxxxxxxxxxxx, "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
>
>
>
------------------------------------
**** 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
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/amibroker/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:amibroker-digest@xxxxxxxxxxxxxxx
mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx
<*> To unsubscribe from this group, send an email to:
amibroker-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|