[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [amibroker] Re: ADK printf



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/