I need some advice about using modal dialog windows.

What I'm trying to do is to not process any info on the dialog box
regarding insert/edit/delete records on a DB, but on the main window -
the dialog will check only if values entered are ok, set the
appropriate ButtonPushed value and then let the main window process
everything.

So, here's an example of what I have:

A "ButtonsPushed" module with the following constants:
 OK = 1
 Cancel = 2
 Yes = 3
 No = 4
 Save = 5
 DontSave = 6

The modal window "winDialog" has the following:

 Public Property ButtonPushed As Integer

 Sub Display(t As String)
   Title = t
   // Show Window
   ShowModal
 End Sub

 On PushButtonOK Action Event:
   // do stuff to check values entered
   // If everything ok
   ButtonPushed = OK
   Hide

 On PushButtonCancel Action Event:
   ButtonPushed = Cancel
   Hide

 On Windows' CancelClose Event:
  // In case user clicks the close "X"
  If Not appQuitting Then
    ButtonPushed = Cancel
    Hide
    Return True
  End If

Then on main window I use the following to call the modal window:

Sub SomeMethod()

  Dim aDialog As New winDialog
  aDialog.Display("This is the title")

  Select Case SEDialog.ButtonPushed
   Case Cancel
     // user cancelled/closed
   Case OK
    // get dialog field values and do stuff
  End Select

End Sub

Questions:
1. Is the above a correct approach on using modal windows in order to
the main window get the dialog's field values to do all the process
(like inserting, editing, deleting records on a DB)?

2. Is it necessary the check I'm making on the dialog's CancelClose
event for the appQuitting? Or that's not necessary because the dialog
window gets destroyed once it exits the SomeMethod?

3. I'm a little concerned on using the above names for global
constants like OK, Cancel, Yes (and so on), because I'm afraid that
any of them becomes a reserved word on a future RB version. Should I
change them or it's improbable that a future RB version uses such type
of reserved words?

Thanks,
Carlos


_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>

Reply via email to