|
|
|
Ошибка в гриде
|
|||
|---|---|---|---|
|
#18+
Всем привет! Есть одна проблема, над которой давно бьюсь, может кто подскажет... Итак. Есть грид. Есть на нем кнопка. В кнопке - процедура. После нажатия кнопки процедура отрабатывается (без ошибок) и программа возвращается в грид. И вот тут - то и возникает проблема. Иногда (от 2-3 раз за день до практически при каждом выходе в грид после процедуры - 20-30 раз в день) на некоторых компьютерах вылетает ошибка "несоответствие опрератора или операнда". Причем на некоторых компах это случается регулярно, на некоторых никогда. В режиме отладки проверить не могу, т.к. на компах пользователей идет интенсивная работа, а на своем я ни разу (вру, один раз за пару месяцев было) не попадал. Что это может быть в принципе? Проверял ini грида, его лоад, init и load формы, на котором грид. Все чисто. Т.е. нет ни неверных операторов, ни переопределения переменных. Инит и Лоад а гриде очень простые, ошибку не пропустить. Но вот ведь появляется эта зараза. Может это зависеть от сети, железа, вирусов или чисто программная проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2007, 12:22 |
|
||
|
Ошибка в гриде
|
|||
|---|---|---|---|
|
#18+
1. Что такое "возврашаеться в грид" ? Посмотрите SetFocus грида и его контролов, Так-же кандидаты это After\BeforRowColChange , Activate , When , GotFocus , Refresh 2. не являеться ли у вас источником для грида - таблица или курсор с фильтрами , содержащими функции - select содержащий функции 3.Нет ли у вас в гриде вычисляемых колонок содержащих функции У вас определен обработик ошибок ? Если нет сделайте примерно такой , как в хелпе по ON ERROR - это даст вам возможность локализовать ошибку. Более подробную инфу можно получить с помощью Aerror() - тут инфа про ошибки Astackinfo() - это стек вызовов . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2007, 12:50 |
|
||
|
Ошибка в гриде
|
|||
|---|---|---|---|
|
#18+
-=AlexiS=-1. Что такое "возврашаеться в грид" ? Посмотрите SetFocus грида и его контролов, Так-же кандидаты это After\BeforRowColChange , Activate , When , GotFocus , Refresh 2. не являеться ли у вас источником для грида - таблица или курсор с фильтрами , содержащими функции - select содержащий функции 3.Нет ли у вас в гриде вычисляемых колонок содержащих функции У вас определен обработик ошибок ? Если нет сделайте примерно такой , как в хелпе по ON ERROR - это даст вам возможность локализовать ошибку. Более подробную инфу можно получить с помощью Aerror() - тут инфа про ошибки Astackinfo() - это стек вызовов . Возвращается в грид : просто по кнопке открывается форма, отрабатывается и закрывается. Т.е. на экране остается грид. Может, и некорректно, но это я назвал "возврат в грид". На гриде кроме инита ничего нет В ините - цвета строк и колонок. Все. После отработки формы последняя команда - _screen.ActiveForm.release(). Рефреша грида нет. Вот по поводу фильтра в таблице в гриде - вопрос интересный. Есть, например, такие клюшки: txt1=FILTER( ) STORE FILTER('tabl') TO txt1 ............. SET FILTER TO &txt1 GO top Этот фильтр на таблице грида. Колонок нет. НО. Что-то я зацепился за txt1. Ведь возможна ситуация, что эта переменная задействуется в форме (на самом деле там довольно много наворотов и вызовов других форм) и получает другое значение. Может быть именно в этом дело!!! Но тогда вопрос. Если это тоже текст - будет ли ошибка? Или где-то присвоено цифирное значение? Вроде, ниточка есть. Спасибо большое! Буду копать здесь. Если не выйдет - пойду дальше по пунктам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2007, 13:45 |
|
||
|
Ошибка в гриде
|
|||
|---|---|---|---|
|
#18+
Лучше всего сделайте обработчик ошибок- он поможет вам найти где-же все-таки ошибка. Насчет txt1 - все зависит от того как вы переменную объявили. И насчет фильтра - посмотрите что это за условие - особенно стоит обратить внимание на наличие в нем локальных переменных и свойств объектов форм. И проверьте , чтобы вы были в том алиасе что нужно. А то мало-ли - вы пытаетесь фильтровать по полю , которое в разных таблицах имеет разный тип. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2007, 14:25 |
|
||
|
Ошибка в гриде
|
|||
|---|---|---|---|
|
#18+
-=AlexiS=-Лучше всего сделайте обработчик ошибок- он поможет вам найти где-же все-таки ошибка. Насчет txt1 - все зависит от того как вы переменную объявили. И насчет фильтра - посмотрите что это за условие - особенно стоит обратить внимание на наличие в нем локальных переменных и свойств объектов форм. И проверьте , чтобы вы были в том алиасе что нужно. А то мало-ли - вы пытаетесь фильтровать по полю , которое в разных таблицах имеет разный тип. TXT1 -public. В фильтре только public-переменные. Перед закрытием формы - select хх есть. Самое мерзкое - год ничего не было, а вот пару месяцев периодически всплывает. Причем, опять же был случай - просто вошел в форму и сразу вышел - и ошибка. Причем проверил и лоад формы и инит и процедуру выхода - нигде нет противоречий. А насчет обработчика - можно поподробнее, как лучше организовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2007, 14:44 |
|
||
|
Ошибка в гриде
|
|||
|---|---|---|---|
|
#18+
а чего там подробнее - в хелпе по ON ERROR есть пример. У меня например в главной проге On Error Error_Handling (Error(), Message(), Line(), Program() ) сама процедура Error_Handling вынесена в одноименный prg . Она весьма похожа на ту , что в хелпе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2007, 16:55 |
|
||
|
Ошибка в гриде
|
|||
|---|---|---|---|
|
#18+
-=AlexiS=-а чего там подробнее - в хелпе по ON ERROR есть пример. У меня например в главной проге On Error Error_Handling (Error(), Message(), Line(), Program() ) сама процедура Error_Handling вынесена в одноименный prg . Она весьма похожа на ту , что в хелпе. Понял, спасибо! Просто не пользовался никогда. Будем работать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2007, 19:32 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34480488&tid=1589478]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
78ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 417ms |

| 0 / 0 |
