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