tools@tektronix.UUCP (Tom Milligan) (11/13/85)
I tried posting this from one of our other machines, but I don't think
it made it out. So, if this is something you've seen before, sorry...
I am trying to use a Modal Dialog Box within a DA, and trying to process
it using the ModalDialog toolbox call. Unfortunately, this doesn't seem
to work very well, resulting in system crashes. Has anyone done this
successfully? If so, I would
appreciate some pointers.
A brief skeleton of how I'm (unsuccessfully) trying to do it (in Aztec C)
is as follows:
open()
{
.
.
DCEPtr->dCtlWindow = GetNewDialog(...);
.
.
}
control()
{
.
.
switch (event) {
case accEvent:
SelectWindow(DCEPtr->dCtlWindow);
if (firsttimethrough) {
ModalDialog(...);
}
.
.
.
}
A code fragment from someone who has done this would be great. Lacking that
however, good ideas are most welcome.
Thanks,
Tom Milligan
tektronix!tekig5!tommberry@tolerant.UUCP (David Berry) (11/20/85)
> I am trying to use a Modal Dialog Box within a DA, and trying to process > it using the ModalDialog toolbox call. Unfortunately, this doesn't seem > to work very well, resulting in system crashes. Has anyone done this > successfully? If so, I would > appreciate some pointers. > > open() > { > . > . > DCEPtr->dCtlWindow = GetNewDialog(...); DCEPtr->dCtlWindow->windowKind = DCEPtr->dCtlRefNum; > . > . > } The setting of windowKind must be done regardless (as far as I've been able to determine) how the window is going to be used if you expect/want it's events to get back to the DA. In fact, some applications will probably puke all over you if you don't since the will be trying to do updates on windows which they don't recognize and/or know what to do with. How to prevent your application from being bombed by some DA that doesn't handle it's windows correctly is another problem entirely. Basically though you should ignore any window events that don't belong to a window you know about. -- David W. Berry ...!ucbvax!tolerant!berry [Don't shoot the Tolerant Systems, I'm just the consultant]