powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Код исключения
25 сообщений из 32, страница 1 из 2
Код исключения
    #34424902
При пролистывании столбцов грида(т.е. во время события Scrolled), либо при нажатии "->", либо с помощью линейки просмотра при достижении последнего столбца грида, грид "рушится", т.е. на его месте белый прямоугольник.
Причём при использовании линейки просмотра возникает сообщение "Код исключения=С0000005.......", а при нажатии кливиши "->" такого сообщения нет - просто белый прямоугольник.
И ещё, если столбцов 30, то всё нормально, а фигня такая возникает после добавления 31 столбца. Ну и ещё добавлю, что столбцы в грид добавляются "налету" в событии int формы, среда VFP8.

Что за баг?
...
Рейтинг: 0 / 0
Код исключения
    #34424958
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код в студию.
...
Рейтинг: 0 / 0
Код исключения
    #34424986
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Случайно индекса нет и тип ControlSource столбца не менятеся от строки к строке?
С уважением, Алексей
...
Рейтинг: 0 / 0
Код исключения
    #34425034
2Sergey Sizov
какой именно код интересует?
в скролде НИЧЕГО нет.

2Aleksey-K
индексов нет, а ControlSource для какждого столбца свой, соответственно и тип данных для каждого столбца свой....

вот метод, который добавляет столбцы в грид
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
*!* вызов AppendColumn(tcControlSource, tcHeaderCaption, tnColumnWidth, tnAlignment, tcToolTipText, tlEdit, tcComment, tlMovable, tcInputMask)

LPARAMETERS tcControlSource, tcHeaderCaption, tnColumnWidth, tnAlignment, tcToolTipText, tlEdit, tcComment, tlMovable, tcInputMask

WITH THIS

	.AddObject('Column' + ALLTRIM(STR(.ColumnCount +  1 )), 'Column')

	WITH .Columns(.ColumnCount)
		.ControlSource = tcControlSource
		.FontSize = .Parent.FontSize

		WITH .Header1
			.Caption = tcHeaderCaption
			.Alignment =  6 
			.FontBold = .T.
			.FontSize = .Parent.FontSize
		ENDWITH

		.Text1.FontSize = .Parent.FontSize
		.Alignment = tnAlignment
		.Width = tnColumnWidth
		.Visible = .T.
		.ReadOnly = tlEdit
		.ToolTipText = tcToolTipText
		.Comment = tcComment
		.Movable = tlMovable
		.InputMask = tcInputMask
		
	ENDWITH

ENDWITH

...
Рейтинг: 0 / 0
Код исключения
    #34425078
у меня есть подозрения на код метода Refresh грида
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
IF _SCREEN.ActiveForm.ActiveControl.Name = "Grid1"
    IF INLIST(THISFORM.Grid1.Columns(THISFORM.Grid1.ActiveColumn).Header1.Caption, "Заголовок1", "Заголовок2") AND EMPTY(THISFORM.Grid1.Columns(THISFORM.Grid1.ActiveColumn).Comment)
        THISFORM.Grid1.StatusBarText = 'бла-бла-бла'
    ELSE
        THISFORM.Grid1.StatusBarText = ' '
    ENDIF
ENDIF	

там возникала ошибка "Columns is not an object", но я подавил в этом методе сообщения об ошибках, вставив в самое начало ON ERROR NOTE и всё работало нормально пока не понадобилось добавить ещё пару столбцов в грид... один добавляю-всё нормально, а как добавлю второй так получаю Код исключения....
...
Рейтинг: 0 / 0
Код исключения
    #34425153
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
времени нет разбираться,
но глаз мне режет, как Вы ищите акт.колонку

я делаю так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
	* Ищем колонку в коллекции перебором, т.к буду глюки если поменять их местами
	local loColumn
	for each loColumn in this.Columns
	    if loColumn.ColumnORDER=this.ActiveColumn
	    	exit
	    endif
	endfor

и вообще мне
непонятно
зачем Вы в методе объекта снова чего-то ищите
через скрин

в методе родного объекта это this
...
Рейтинг: 0 / 0
Код исключения
    #34425167
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чтобы метод
срабатывал или только на перемещения по строкам
или только наперемещение по колонкам
щупайте свойство RowColChange
...
Рейтинг: 0 / 0
Код исключения
    #34425280
Да хер с ним, с этим методом рефреш....
попробовал и оказывается эта байда с кодом исключения вылазит и тогда, когда в этом методе вообще ничего нет....
...
Рейтинг: 0 / 0
Код исключения
    #34425299
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну раз так,то
ищите проблемы в кривости своих рук

пишите, как бык пописял, вот и проблемы
...
Рейтинг: 0 / 0
Код исключения
    #34425312
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторподавил в этом методе сообщения об ошибках

интересно, сами придумали
или кто научил? так лечить ошибки
...
Рейтинг: 0 / 0
Код исключения
    #34425517
Это не лечение ошибок, а подавление сообщений о них, игнорирование их... Представьте себе, бывают такие случаи, когда надо что называется "пропустить мимо ушей" их. Например, повторная модификация таблиц на удалённом компьютере при последующих запусках программы.

ЗЫ. Указать на указтель THIS это всё на что сил (или знаний) хватило?
...
Рейтинг: 0 / 0
Код исключения
    #34425543
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот на уши теперь и наматывайте

да ... уж ...

try
catch
endtry


еще раз покажу как перебрать колонки, если не дошло
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
	* Ищем колонку в коллекции перебором, т.к буду глюки если поменять их местами
	local loColumn
	for each loColumn in this.Columns
	    if loColumn.ColumnORDER=this.ActiveColumn
	    	exit
	    endif
	endfor
...
Рейтинг: 0 / 0
Код исключения
    #34425551
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот такие ... зы ...
...
Рейтинг: 0 / 0
Код исключения
    #34425573
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если так умен, то объясни тупому смысл этого шаманизма
Код: plaintext
1.
IF _SCREEN.ActiveForm.ActiveControl.Name = "Grid1"

нельзя гриду
какое-то свойство написать
grid.обрабатыватьКод = .t. или .f.

и если уж у Вас хитрый класс, то писать

if this.обрабатыватьКод
.....
endif
...
Рейтинг: 0 / 0
Код исключения
    #34425618
да ёпт... покоя не даёт этот рефреш грида? забудьте про него! там вообще ничего нет!!!
...
Рейтинг: 0 / 0
Код исключения
    #34425651
да и не надо мне вообще колонки грида перебирать!!!

эта сообщение возникает при достижении последнего столбца грида... не важно как.... по нажатию кнопки "вправо" или по нажатию на стрелку линейки просмотра... ещё раз замечу, что в Refresh и Scrolled вообще ничего нет....

причём, если я например после создания формы перейду на этот последний столбец в обратную сторону, т.е. по нажатию "<-", то потом сколько бы я не нажимал стрелки кливиш "вправо/влево" или полосы линеки просмотра, то никаких "исключений" не возникает...

и при чём здесь конструкция TRY? я говорю об сообщении "Код исключения=С0000005.........."
...
Рейтинг: 0 / 0
Код исключения
    #34425653
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а что Вы ждете, какого ответа???

из того кода, что дали, я показал где

хорошо, забыли, дальше будем смотреть???
от того, что Вы добавляете колонки
лис не упадет


забыли все, все напрочь забыли ...
а дальше, что ответить
не видя ни кода, ни примера

авторЧто за баг?

ошибка в коде, чудес не бывает
...
Рейтинг: 0 / 0
Код исключения
    #34425656
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
при чем трай???

а при чем
ON ERROR NOTE

кто Вас этому научил???
...
Рейтинг: 0 / 0
Код исключения
    #34425661
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор
там возникала ошибка "Columns is not an object", но я подавил в этом методе сообщения об ошибках



давить ничего не нужно,
и лису на рога ставить,
тогда и работать ровно все будет
...
Рейтинг: 0 / 0
Код исключения
    #34425667
та я и спрашиваю какой код интересует?
всё, что связано с гридом - это в коде метода инит формы в грид добавляются столбцы
THIS.Grid1.AppendColumn()

код метода AppendColumn() приведён выше.... больше ничего нет!
...
Рейтинг: 0 / 0
Код исключения
    #34425675
Код: plaintext
1.
2.
3.
4.
5.
6.
при чем трай???

а при чем
ON ERROR NOTE 

кто Вас этому научил???

просто старая привычка, ещё с 2.5, где никаких трэев не было....

или так ON ERROR DO ERR.PRG, где ERR.PRG "пустой" файл....
...
Рейтинг: 0 / 0
Код исключения
    #34425677
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
set step поможет
...
Рейтинг: 0 / 0
Код исключения
    #34425681
ну тогда уж вопрос и по поводу "Columns is not an object"....

почему "Columns is not an object", если добавляется он AddObject('Column' + ALLTRIM(STR(.ColumnCount + 1)), 'Column')
...
Рейтинг: 0 / 0
Код исключения
    #34425683
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторпросто старая привычка

ну раз привычка, и привычек не меняете, то
советовать нечего
...
Рейтинг: 0 / 0
Код исключения
    #34425701
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Columns(nnn)

а сколько ColumnCount???

Вы смотрели???
значение nnn Вы смотрели???

функцию вартайп Вас учили костылем ставить???

нет

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


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