[net.micro.mac] Keeping DA's around

lsr@apple.UUCP (Larry Rosenstein) (06/26/85)

There was a question a couple weeks ago about keeping DA's around after
launching a program.  I lost the original question, but I have an answer.

Desk accessories are implemented as drivers; most of the time they live on
the application's heap.  Launching an application (going back to the Finder
is the same as launching any application) completely wipes out the
application heap and the DA with it.  The launch code clears the device
control entry (DCE) for the driver to reflect the fact that the DA is no
longer around.

You can try placing the driver in the system heap, which is preserved
across program launches.  The launch code will zero out the DCtlWindow
fields of the DCE and also the DCtlStorage field if it is in the
application heap.  (You can't preserve the window because calling
InitWindows clears the window list.)

-- 
Larry Rosenstein
Apple Computer

UUCP:  {nsc, dual, voder, ios}!apple!lsr
CSNET: lsr@Apple.CSNET