Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ошибка в гриде / 7 сообщений из 7, страница 1 из 1
23.04.2007, 12:22
    #34479880
StandD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в гриде
Всем привет!

Есть одна проблема, над которой давно бьюсь, может кто подскажет...

Итак. Есть грид. Есть на нем кнопка. В кнопке - процедура. После нажатия кнопки процедура отрабатывается (без ошибок) и программа возвращается в грид. И вот тут - то и возникает проблема. Иногда (от 2-3 раз за день до практически при каждом выходе в грид после процедуры - 20-30 раз в день) на некоторых компьютерах вылетает ошибка "несоответствие опрератора или операнда". Причем на некоторых компах это случается регулярно, на некоторых никогда.
В режиме отладки проверить не могу, т.к. на компах пользователей идет интенсивная работа, а на своем я ни разу (вру, один раз за пару месяцев было) не попадал.
Что это может быть в принципе? Проверял ini грида, его лоад, init и load формы, на котором грид. Все чисто. Т.е. нет ни неверных операторов, ни переопределения переменных. Инит и Лоад а гриде очень простые, ошибку не пропустить. Но вот ведь появляется эта зараза.
Может это зависеть от сети, железа, вирусов или чисто программная проблема?
...
Рейтинг: 0 / 0
23.04.2007, 12:50
    #34479994
-=AlexiS=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в гриде
1. Что такое "возврашаеться в грид" ?
Посмотрите SetFocus грида и его контролов,
Так-же кандидаты это After\BeforRowColChange , Activate , When , GotFocus , Refresh
2. не являеться ли у вас источником для грида
- таблица или курсор с фильтрами , содержащими функции
- select содержащий функции
3.Нет ли у вас в гриде вычисляемых колонок содержащих функции

У вас определен обработик ошибок ?
Если нет сделайте примерно такой , как в хелпе по ON ERROR - это даст вам возможность локализовать ошибку.
Более подробную инфу можно получить с помощью
Aerror() - тут инфа про ошибки
Astackinfo() - это стек вызовов .
...
Рейтинг: 0 / 0
23.04.2007, 13:45
    #34480204
StandD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в гриде
-=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. Ведь возможна ситуация, что эта переменная задействуется в форме (на самом деле там довольно много наворотов и вызовов других форм) и получает другое значение. Может быть именно в этом дело!!! Но тогда вопрос. Если это тоже текст - будет ли ошибка? Или где-то присвоено цифирное значение?
Вроде, ниточка есть.

Спасибо большое! Буду копать здесь. Если не выйдет - пойду дальше по пунктам.
...
Рейтинг: 0 / 0
23.04.2007, 14:25
    #34480403
-=AlexiS=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в гриде
Лучше всего сделайте обработчик ошибок- он поможет вам найти где-же все-таки ошибка.
Насчет txt1 - все зависит от того как вы переменную объявили.
И насчет фильтра - посмотрите что это за условие - особенно стоит обратить внимание на наличие в нем локальных переменных и свойств объектов форм.
И проверьте , чтобы вы были в том алиасе что нужно.
А то мало-ли - вы пытаетесь фильтровать по полю , которое в разных таблицах имеет разный тип.
...
Рейтинг: 0 / 0
23.04.2007, 14:44
    #34480488
StandD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в гриде
-=AlexiS=-Лучше всего сделайте обработчик ошибок- он поможет вам найти где-же все-таки ошибка.
Насчет txt1 - все зависит от того как вы переменную объявили.
И насчет фильтра - посмотрите что это за условие - особенно стоит обратить внимание на наличие в нем локальных переменных и свойств объектов форм.
И проверьте , чтобы вы были в том алиасе что нужно.
А то мало-ли - вы пытаетесь фильтровать по полю , которое в разных таблицах имеет разный тип.

TXT1 -public.
В фильтре только public-переменные.
Перед закрытием формы - select хх есть.

Самое мерзкое - год ничего не было, а вот пару месяцев периодически всплывает. Причем, опять же был случай - просто вошел в форму и сразу вышел - и ошибка. Причем проверил и лоад формы и инит и процедуру выхода - нигде нет противоречий.
А насчет обработчика - можно поподробнее, как лучше организовать?
...
Рейтинг: 0 / 0
23.04.2007, 16:55
    #34481205
-=AlexiS=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в гриде
а чего там подробнее - в хелпе по ON ERROR есть пример.
У меня например в главной проге
On Error Error_Handling (Error(), Message(), Line(), Program() )
сама процедура Error_Handling вынесена в одноименный prg . Она весьма похожа на ту , что в хелпе.
...
Рейтинг: 0 / 0
23.04.2007, 19:32
    #34481694
StandD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в гриде
-=AlexiS=-а чего там подробнее - в хелпе по ON ERROR есть пример.
У меня например в главной проге
On Error Error_Handling (Error(), Message(), Line(), Program() )
сама процедура Error_Handling вынесена в одноименный prg . Она весьма похожа на ту , что в хелпе.

Понял, спасибо!
Просто не пользовался никогда. Будем работать...
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ошибка в гриде / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]