![]() |
#3 |
Участник
|
В итоге переписали метод на .Net
Глюк ядра обошли. X++: //pkoz 16.06.2011 // GRD_R2301_reservationMany_pkoz //pkoz 16.06.2011 // обходим глюк ядра когда в диалог попадал текст из статус бара // [url]http://msdn.microsoft.com/ru-ru/library/6wc4zekd.aspx[/url] public client //server static DialogButton yesNo_Net( str _text, DialogButton _defaultButton, str _title = "@SYS11132", str _bottomText = '') { DialogButton ret; System.Windows.Forms.MessageBoxDefaultButton NetDefaultButton; InteropPermission interopPerm; ; if (clientKind() == ClientType::COMObject) return _defaultButton; // GRD_CheckDialogInTTS("Box::yesNo_Net"); // GRD_CheckDialogInTTS_pkoz, Ловим диалоги внутри транзакции, pkoz, 17.12.2008 if( SysTaskRecorderEventManager::parmRecording() ) return SysTaskRecorderGlobal::handleDialogButton(DialogBoxType::YesNoBox, _text, _title, _bottomText, _defaultButton); /* return new DialogBox(DialogBoxType::YesNoBox, _text, _title, _bottomText, _defaultButton).retval(); */ // get dll interop permission interopPerm = new InteropPermission(InteropKind::ClrInterop); interopPerm.assert(); if (_defaultButton == DialogButton::Yes) { NetDefaultButton = System.Windows.Forms.MessageBoxDefaultButton::Button1; } else { NetDefaultButton = System.Windows.Forms.MessageBoxDefaultButton::Button2; } if (System.Windows.Forms.DialogResult::Yes == System.Windows.Forms.MessageBox::Show( _text, _title, // для _bottomText места не нашлось - и фиг с ним System.Windows.Forms.MessageBoxButtons::YesNo, System.Windows.Forms.MessageBoxIcon::Question, NetDefaultButton ) ) { ret = DialogButton::Yes; } else { ret = DialogButton::No; } return ret; } |
|
|
За это сообщение автора поблагодарили: lev (3). |