19.12.2008, 18:03 | #1 |
Участник
|
Самостоятельные формы и формы открывающиеся из другой формы.
Всем доброго дня,
с АОT я могу открывать формы, но не все. Некоторым нужен активный буфер, при открытии других просыпается Debugger. Где я могу посмотреть, какую форму можно открыть с AOT, а какую нет. Спасибо |
|
19.12.2008, 18:07 | #2 |
Боец
|
обычно проверка происходит в
\Forms\FormName\Methods\init - это по-хорошему, но не всегда так. |
|
|
За это сообщение автора поблагодарили: Dima_Dima (1). |
19.12.2008, 18:07 | #3 |
Участник
|
В общем случае нигде, кроме как методом проб и ошибок Ну и по традиции: а зачем Вам понадобилась такая инфа?
|
|
|
За это сообщение автора поблагодарили: Dima_Dima (1). |
19.12.2008, 18:08 | #4 |
MCITP
|
Цитата:
Обычно на ините формы идет проверка "входящих" параметров, и если их нет выбрасывается ошибка.
__________________
Zhirenkov Vitaly |
|
|
За это сообщение автора поблагодарили: Dima_Dima (1). |
19.12.2008, 18:14 | #5 |
Участник
|
|
|
19.12.2008, 18:19 | #6 |
MCITP
|
Ну да, с замечанием согласен, для "сложных" форм с "движком" может быть не на самой форме, а в движке, но сути это сильно не меняет..
__________________
Zhirenkov Vitaly |
|
19.12.2008, 18:27 | #7 |
Боец
|
X++: static void formRunTest(Args _args) { TreeNode treeNode = TreeNode::findNode("\\Forms\\Address"); counter idx; HWND clientHWND , childHWND ; // close forms ; while (treeNode) { idx ++; if (idx > 10) // just for first 10 froms break; try { treeNode.AOTrun(); // close forms --> clientHWND = WinApi::findWindowEx(infolog.hWnd(), 0, "MDIClient", ""); childHWND = WinApi::findWindowEx(clientHWND, nullvalue(childHWND), "", ""); if (childHWND) WinApi::sendMessage(childHWND, 0x0112, 0xF060, ''); // close forms <-- } catch { info (strFmt("Form %1 need arguments", treeNode.treeNodeName())); } treeNode = treeNode.AOTnextSibling(); } } Последний раз редактировалось DSPIC; 19.12.2008 в 19:02. Причина: закрытие форм |
|
|
За это сообщение автора поблагодарили: player (1). |