Your original email does include the larger question of "How do I update
a control without dismissing the Dialog?" The answer points is: Alter
Control
Alter Control will give you the ability to change the values of control
while the Dialog remains active. I would suggest that rather than call
the dialog again in your REFRESH_ONDS_DETS_DIALOG sub, simply make a
call to Alter Control using the DEF_POPUPMENU_ID constant as the control
ID. The MapBasic Help documentation should really help you out in this
regard...
Good luck!
- Ian Erickson
Terry McDonnell wrote:
Ian
Thanks very much for the prompt reply and the sample code. You know,
I'd just sussed that just before your message arrived. I suddenly went
"DOH! Remember that in MB the dialog doesn't "bear fruit" till the OK
button is hit, dummy!". I'd just changed the code and successfully
tested it, by putting:
If CommandInfo( CMD_INFO_DLG_OK) Then
Call REFRESH_ONDS_DETS_DIALOG
End If
... at the end of the dialog, and getting rid of the calling clause,
when your message arrived.
I'd just forgotten about this principle, esp. as this was my first time
trying to put a handler routine on a combo.
Too tired to carry on now but I'll look at your code properly tomorrow
All the best
Terry
-----Original Message-----
From: Ian Erickson [mailto:[EMAIL PROTECTED]
Terry,
MapBasic does not process the "Into" clause of a Dialog Control
statement until the dialog allowed to finish. How do you "finish" a
dialog statement? A user action on an OKButton, a CancelButton or a
Dialog Remove statement.
So how can you get the value of the lnOSID value *prior* to the dialog
closing? Use a handler function like your REFRESH_ONDS_DETS_DIALOG sub
and use the ReadControlValue function.
[SNIP]
--
Ian Erickson
AnalyGIS, LLC
See AnalyGIS at work:
http://65.39.85.13/google/
http://65.39.85.13/virtualearth/
_______________________________________________
MapInfo-L mailing list
[email protected]
http://www.directionsmag.com/mailman/listinfo/mapinfo-l