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

Reply via email to