28.05.2003, 11:06 | #1 |
Участник
|
Обновление экрана Аксапты во время выполнения приложения
Как сделать обновление экрана во аремя выполнения приложения?
Ситуация следующая: На каком то этапе выполнения программы мне необходимо вывести информацию, о том что процесс не завис, и что то считает. Эту информацию вывожу с помощью функции info("INFO") проблема в том что это окно с информацией выводится только после того как завершается программа, и аксапта переходит в интерактивный режим. Есть ли какие способы это сделать? например pause 1; или что то типа того. |
|
28.05.2003, 11:10 | #2 |
Banned
|
infolog.viewUpdate(). Но вообще-то, нормальный способ - использовать SysOperationProgress.
|
|
28.05.2003, 11:29 | #3 |
Участник
|
Мне надо выводить кое-какие расчеты во время выполнения,
не только как для отладки, но и для пользователя, что бы он не скучал. Поэтому ПрогрессБар мне не подходит Кстати, а есть возможность прокрутить из программы окно для информации на последнюю строчку? А то тут вообщем записей не то что бы много, но создается это окно с каким то размером, и следующие строки уже не видны. так как выходят за границу окна. За предыдущий совет спасибо, работает |
|
28.05.2003, 11:52 | #4 |
Banned
|
Цитата:
Изначально опубликовано ddadream
Мне надо выводить кое-какие расчеты во время выполнения, не только как для отладки, но и для пользователя, что бы он не скучал. Поэтому ПрогрессБар мне не подходит |
|
28.05.2003, 12:04 | #5 |
Участник
|
Ну не подходит по той причине что мне нужно вывести не одну строчку,
а штук 3-5 для информации, пока просчитывается следующий программный блок. Да и история не сохраняется, что бы посмотреть потом, а что же все таки получилось в результате. |
|
28.05.2003, 12:25 | #6 |
Banned
|
Хм... Ну ладно, вот варианты решения:
|
|
28.05.2003, 13:26 | #7 |
Участник
|
Цитата:
Изначально опубликовано EVGL
[list][*]Если речь идет о 3.0... Цитата:
[list][*]Можно похимичить с Infolog, создать на нем метод, который делал бы FormTreeControl.selectSetFirstVisible(itemIdx)
Потому что, даже если химичить, то не понятно как. У этого класса вообще вроде как нету перемещения информации в окне, есть только функция которая может вернуть , то что находится в этом окне. А о каких либо изменениях размера, или прокрутки в нем, я что то функций не нашел. Можно конечно через winapi, но помоему это не стоит таких разборок Цитата:
это что прогресс бар будет треть экрана занимать |
|
28.05.2003, 13:56 | #8 |
Banned
|
Цитата:
Изначально опубликовано ddadream
Потому что, даже если химичить, то не понятно как. У этого класса вообще вроде как нету перемещения информации в окне, есть только функция которая может вернуть , то что находится в этом окне. |
|
28.05.2003, 14:54 | #9 |
Участник
|
А что это ? передача команды ?
|
|
28.05.2003, 15:18 | #10 |
Banned
|
Цитата:
А что это ?
|
|
28.05.2003, 17:50 | #11 |
Участник
|
это видимо функция построения окна,
и назначение всяких иконок и текста в заголовке и т.д. но там нет ничего про размер и то что мне надо. |
|
28.05.2003, 18:02 | #12 |
Banned
|
Ok. На мой поверхностный взгляд, эта функция как раз и заполняет окно инфолога, добавляя новые элементы в дерево на соответствующей форме. А что, если модифицировать этот класс так, чтобы по нашему приказу обзор дерева смещался на последнюю веточку дерева? Я полагаю, что для этого годится метод FormTreeControl.selectSetFirstVisible. Что касается размера - не уверен, можно ли здесь что-нибудь сделать.
|
|
28.05.2003, 18:31 | #13 |
Участник
|
Даа , ситуация хитрая.
Как только я создаю через класс, так сказать свой Info окошко, то при закрытии формы где я его создал, закрывается и сам info. ну, это понятно почему. а вот та функция похоже работать не хочет, надо будет попробовать встроить другой контрол, заместо дерева. в котором есть какие-никакие функции управления. ну или накрайняк, написать свой class Info. спасибо за советы, надо подумать определиться, делать или нет. если придется, тогда решение вроде есть. |
|
28.05.2003, 18:49 | #14 |
Banned
|
Если функцию хорошо попросить, она сразу захочет работать:
PHP код:
|
|
28.05.2003, 19:50 | #15 |
Участник
|
void selectFirstVisible(int x)
{ FormTreeItem treeItem; treeItem = new FormTreeItem(); treeItem.data(tmpInfoTable.recId); errorTree.setItem(treeItem); errorTree.selectSetFirstVisible(treeItem.idx()); // !!! } вставил такой метов в класс Info. вызываю его, и нифига не происходит |
|
29.05.2003, 12:53 | #16 |
Участник
|
почему то этот метов всегда возвращает 0,
treeItem.idx() |
|