In U++ a dialog is a TopWindow. Instead of TopWindow::Run() call TopWindow::Execute(). If you have a cancel or ok button in dialog you may call TopWindow::ExecuteCancel/OK() which return true if that button is pressed. You transfer values by simply accessing class members or functions or whatever type you use (that's C++ not U++).