[futurebasic] Re: [FB] Bad DCOD call

Message: < previous - next > : Reply : Subscribe : Cleanse
Home   : May 1999 : Group Archive : Group : All Groups

From: "Pete" <furbies@...>
Date: Fri, 14 May 1999 15:19:36 +1000
>>I eventually (after too many hours in front of my G3) managed to fix the
>>problem (at least for now)
>>
>>I don't know how to explain what I did but I now know what I need to do to
>>keep the DCOD and calling app happy (I think?)
>>
>>All I know is that it relates to where the shared globals memory is defined.
>
> Shared globals?  Sorry, there ain't no such thing.  It works like this:

BIG SNIP

> HTH
> Mark

I had the same globals declared in the app and the DCOD.

like this:

DIM RECORD shared
    DIM 255 aString1$
    DIM 255 bString$
DIM END RECORD _sharedSz

To pass the same Globals (or to share them) between the app and the DCOD,
when I called the DCOD, I passed the address of the "shared" globals in the
app to the DCOD, and then the DCOD did a blockmove to copy the values in the
Globals in the app to the DCOD's globals

(Not all the globals in the app are copied over just a few)

This was what was a major source of the problems
There were other probs too.

Now I create a handle the size of the DIM REC
(except the DIM REC it's self doesn't allocate memory)
in the app and and pass the handle to the DCOD and then the DCOD uses the
app's version of the DIM REC to do things.


like this:

DIM RECORD shared
    DIM 255 aString1$
    DIM 255 bString$
DIM END RECORD .sharedSz


h& = fn newhandle _clear (sharedSz)

h&..aString$ = "some text"


And now all seems well

P...