powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите! Как отладить программу
13 сообщений из 13, страница 1 из 1
Помогите! Как отладить программу
    #34479417
Pr0teus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Написал программу, стал проверять. Дома работает как runtime, так и из оболочки FoxPro. На работе из оболочки работает, в runtime работает только, если форму вызывать сразу из main.prg в виде DO FROM work, а если из меню ON SELECTION то вываливается с ошибкой (см. ниже), причем это происходит из-за грида у которого переопределен класс Column. Т.е. если в режиме дизайнера заказать кол-во колонок, то программа падает, а если это делать программно, то почему-то нет 8((( Но нужен дизайнер, т.к. наглядно. Вопрос, как оттрейсить и локализовать ошибку. Делал путем отсечения лишних частей, но форма падает до загрузки 8( и куда копать не знаю.

-------------------------------------------------------------------------
Серьезная ошибка: Код исключения=C0000005 @ 23.04.2007 08:27:54. Файл журнала ошибок: C:\Program Files\Common Files\Microsoft Shared\VFP\VFP9rerr.log
Вызов из - ON... line 117 {d:\mo19\vfp9_app\prg\main.prg d:\mo19\vfp9_app\project.exe}
-------------------------------------------------------------------------
...
Рейтинг: 0 / 0
Помогите! Как отладить программу
    #34479433
Pr0teus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Точнее метод Load формы исполняется, но Init уже нет
...
Рейтинг: 0 / 0
Помогите! Как отладить программу
    #34479437
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
код покажи

классс Column

и строчку 117 из d:\mo19\vfp9_app\prg\main.prg
...
Рейтинг: 0 / 0
Помогите! Как отладить программу
    #34479439
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а еще лучше

маленький примерчик

прг + формочка
...
Рейтинг: 0 / 0
Помогите! Как отладить программу
    #34479460
Pr0teus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В том-то и дело, где я эту строчку возьму 8( тем более 117. Примерчик маленький попробую навалять, но скорее он у вас будет работать. Может это из-за переопределения класса колонки?
...
Рейтинг: 0 / 0
Помогите! Как отладить программу
    #34479480
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
покажите код

иначе, сказать что-то определенно невозможно

да, скорее всего в классе что-то не так

нужно смотреть Ваш код
что в лоаде формы написсано, что в ините

Ваши контролы взлетают до старта метода инит формы
(инит контролов идет раньше инита формы)
вот и нужно смотреть, что у Вас валит фокс
...
Рейтинг: 0 / 0
Помогите! Как отладить программу
    #34479518
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pr0teusТочнее метод Load формы исполняется, но Init уже нет
Поставь в Load() set step on и дальше отладчиком пошагово.
...
Рейтинг: 0 / 0
Помогите! Как отладить программу
    #34479537
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
последовательность взлета формы
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
DATAENVIRONMENT.OPENTABLES
DATAENVIRONMENT.BEFOREOPENTABLES
FORM.LOAD
INIT for each cursor in the DataEnvironment
DATAENVIRONMENT.INIT
INIT for each control in the form
FORM.INIT
FORM.SHOW
FORM.ACTIVATE
FORM.REFRESH
WHEN for 1st control in TabOrder
GOTFOCUS for 1st Control in TabOrder (if it has one)
...
Рейтинг: 0 / 0
Помогите! Как отладить программу
    #34479582
Pr0teus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибка возникает на Windows 2000, говорит память не может быть read. На XP нормально, и на других компах тоже с 2000. На моем такая фигня.
...
Рейтинг: 0 / 0
Помогите! Как отладить программу
    #34479693
Pr0teus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибка возникает в следующем случае. А именно
1. Создаю файл sgrdclass.prg

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
DEFINE CLASS SHEADER AS HEADER
  Name = "SHEADER"
ENDDEFINE

DEFINE CLASS SCOLUMN AS COLUMN
  Name = "SCOLUMN"
  HeaderClass = "SHEADER"
  HeaderClassLibrary = "sgrdclass.prg"
ENDDEFINE


2. Создаю форму, на которую кладу стандарный грид. В нем переопределяю MemberClassLibrary на sgrdclass.prg. Свойство ColumnCount выставляю в 1 ( Если оставить -1, то ошибки не будет )

3. Создаю main.prg

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SET PATH TO frm, prg
SET PROCEDURE TO sgrdclass

DEFINE PAD m_Test OF _MSYSMENU PROMPT "Тест" COLOR SCHEME  3 
ON PAD m_Test    OF _MSYSMENU ACTIVATE POPUP p_Test
DEFINE POPUP p_Test MARGIN RELATIVE SHADOW COLOR SCHEME  4 
DEFINE BAR  1  OF p_Test PROMPT "Тестовая форма"

ON SELECTION BAR  1  OF p_Test DO FORM Main

READ EVENTS

4. В итоге вылетает, когда выбираю соответствующий пункт меню (

5. Если main.prg написать сл. образом, то работает.

Код: plaintext
1.
2.
3.
4.
5.
6.
SET PATH TO frm, prg
SET PROCEDURE TO sgrdclass

DO FORM Main
READ EVENTS


Где грабли хз? И почему мне такие ошибки попадаются 8(
...
Рейтинг: 0 / 0
Помогите! Как отладить программу
    #34479725
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну вы же сами и увидели ошибку

ColumnCount определять не нужно
ColumnCount присвоится само при добавлении колонки

controlcount = 0
на взлете он сам вставит текстбокс
и сам присвоит количество контролов
...
Рейтинг: 0 / 0
Помогите! Как отладить программу
    #34479771
Pr0teus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошо, но как тогда в дизайнере высветить нужные мне колонки???? Чтобы легче было их свойства задать, или же все делать программно в коде перед загрузкой данных.
...
Рейтинг: 0 / 0
Помогите! Как отладить программу
    #34480136
Pr0teus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Удалось побороть следующим способом. В ON SELECTION вызываю не DO FORM, а процедуру, которая в свою очередь вызывает DO FORM. Тогда можно спокойно устанавливать колонки в дизайнере.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SET PATH TO frm, prg
SET PROCEDURE TO sgrdclass

DEFINE PAD m_Test OF _MSYSMENU PROMPT "Тест" COLOR SCHEME  3 
ON PAD m_Test    OF _MSYSMENU ACTIVATE POPUP p_Test
DEFINE POPUP p_Test MARGIN RELATIVE SHADOW COLOR SCHEME  4 
DEFINE BAR  1  OF p_Test PROMPT "Тестовая форма"

ON SELECTION BAR  1  OF p_Test ShowForm()
READ EVENTS


PROCEDURE ShowForm
   DO FORM Main
ENDPROC

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


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