28.04.2008, 17:37 | #1 |
Участник
|
Проблема с передачей контролов из формы в класс
Всем доброго времени суток!
Есть задача: создать поле 'Наименование ячейки' в WMSLocation и в определенных случаях отображать его на некоторых формах при отображении складской аналитики 'Ячейка'. Создаю на нужной форме (InventTransBOM - Строки журнала спецификаций) контрол для отображения нового поля, перекрываю нужный класс InventDimCtrl_Frm_... (дописываю в нем метод для отображения (сокрытия) нового контрола на форме) - все работает прекрасно! Контрол отображается в зависимости от обображения аналитики 'Ячейка'. Решил немного усовершенствовать - передвинуть контрол в группу аналитик, чтобы он следовал сразу за контролом 'Ячейка'. Сделал свойство группы аналитик на форме AutoDataGroup = No, передвинул контрол, после чего начались необъяснимые явления ))) На ините формы инициализируется класс journalFormTrans, куда передаются некоторые контролы формы. X++: void init() { ; journalFormTrans = new InventJournalFormTrans_Mov_BOM(element); super(); journalFormTrans.parmCtrlCheckJournal(checkJournal); journalFormTrans.parmCtrlPostJournal(postJournal); journalFormTrans.parmCtrlInfolog(showInfolog); journalFormTrans.parmCtrlVoucherGrid(inventJournalTrans_Voucher); journalFormTrans.parmCtrlVoucherTab(voucher); journalFormTrans.parmCtrlLineLogImage(lineLogImage); journalFormTrans.formInitPost(); } Стоит поменять свойство моего контрола на AutoDeclaration = No (для моей задачи нужно чтоб было Yes), как все опять работает нормально. В чем может быть дело ума не приложу? Контролы передаются по именам, как может влиять добавление нового контрола (точнее даже просто установка его свойства AutoDeclaration) на порядок передачи их в класс - просто загадка!!! Пробовал переливать на другое приложение - та же картина. Кто нибудь сталкивался с чем-нибудь подобным или я делаю что-то криминальное? Ax 4.0, SQL server 2005 |
|