Frontier DLL programming problem with xOdbDefined
Brent Simmons
brent at userland.com
Thu Jan 17 09:50:04 PST 2002
Whenever I need to get a length byte, I just use a simple Frontier script.
string.hex (sizeOf ("scratchpad.testvalue"))
This way I don't have to rely on counting it properly.
-Brent
At 4:27 PM +0100 1/17/02, Steven Manschot wrote:
>Hi,
>
>I've made a test dll with a function called MagickTest3:
>
>odbBool CALLBACK MagickTest3 (tydllparamblock * data, XDLLProcTable
>* proctable) {
> odbRef odb;
>
> odb = (*(proctable->xOdbGetCurrentRoot)) ();
>
> if (odb != NULL) {
> if ((*(proctable->xOdbDefined)) (odb, "\x12"
>"scratchpad.testvalue")) { // <-- Fails
> return(TRUE);
> }
> }
>
> return (FALSE);
>}
>
>In the scratchpad table, in the Radio.root odb, I created a number
>called "testvalue".
>The function returns FALSE and I have no idea why...
>
>In the examples for writing a DLL there's a function called
>"Counter" with sets a value called "user.myextdllvalue". This one
>works fine with the xOdbDefined function. Is it because it creates
>the value itself instead?
>
>BTW what is the purpose of the "\x12" in front of "scratchpad.testvalue"?
>
>Thanks in advance,
>
>Steven Manschot.
More information about the Frontier-Users
mailing list