:: Архив конференции по VFP до 2005 года
Ошибка 1575 на ровном месте.
Бураков Сергей
Автор

Сообщений: 280
Откуда: Calgary
Дата регистрации: 07.02.2005
Изменяю контрол в колонке:
ThisForm.Tgrid.Column37.RemoveObject("Text1")
SET CLASSLIB TO MyLib
ThisForm.Tgrid.Column37.AddObject("Text1","Cmdwarning")
И тут возникает ошибка 1575- Object name is invalid
Изменяю имя Text1 на любое другое - ошибка исчезает. Но для нормальной работы моей программы имя контролов во всех колонках должно быть одинаковым.
Сколько раз использовал RemoveObject и AddObject - всегда проходило нормально.
Ratings: 0 negative/0 positive
Re: Ошибка 1575 на ровном месте.
Бураков Сергей
Автор

Сообщений: 280
Откуда: Calgary
Дата регистрации: 07.02.2005
И еще одно наблюдение:
После RemoveObject смотрю в дебагере, в коллекции Controls колонки Text1 отсутствует, а в списке вложенных обьектов остается.
Ratings: 0 negative/0 positive
Re: Ошибка 1575 на ровном месте.
Aries

Сообщений: 4349
Откуда: Николаев
Дата регистрации: 24.12.2002
ThisForm.Tgrid.Column37.AddObject("oMyText","Cmdwarning")




------------------
Я бы переписал жизнь, но Бог не дает мне исходники (с)
==============================
Злостный линуксоид!
Ratings: 0 negative/0 positive
Re: Ошибка 1575 на ровном месте.
Бураков Сергей
Автор

Сообщений: 280
Откуда: Calgary
Дата регистрации: 07.02.2005
Так, конечно, работает, но в программе используется то, что элементы управления во всех столбцах именуются одинаково - Text1.
Ratings: 0 negative/0 positive
Re: Ошибка 1575 на ровном месте.
KDanylo

Сообщений: 139
Откуда: Welland ON
Дата регистрации: 05.09.2002
Здраствуйте,
в инит грида работает на ура (в место чекбокса может быть текстбокс, метка):

this.Columns[1].RemoveObject ("Text1")
this.Columns[1].AddObject ("Text1", "checkbox")
this.Columns[1].CurrentControl = "Text1"




------------------
Ще в нашому лісі запалає ватра...
Ratings: 0 negative/0 positive
Re: Ошибка 1575 на ровном месте.
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi Сергей!

1) То что ты привязался к имени не очень хорошо - в принципе можно сделать процедурку (а лучше метод класса - того-же грида скажем) которая для заданной колонки найдёт первый подходящий внутренний объект и вернёт ссылку на него - т.е. можно найти скажем первый объект у которого BaseClass=Textbox в колонке.
2) Странно что у тебя возникает ошибка - обычно такое наблюдается с Header-ом - ибо колонка это "особый" класс - он автоматом добавляет в себя хедер - если его нету, или если его попытаться удалить... Вот текстбокс он НЕ добавляет. Ну да это не суть важно - проблема решается через добавление объекта с другим именем и потом заменой его Name на желаемый.
3) Может быть беда, если объект является членом класса - от таких объектов практически невозможно полностью избавиться (как-то в FIDO обсуждалась проблема возникающих в подобных случаях объектов-покойников если интересно поищи через Google Groups) - поэтому лучше всё-же прислушайся к первому совету, и измени код везде где есть "прямые" обращения к Text1, на обращения через метод поиска подходящего объекта.




------------------
WBR, Igor
Ratings: 0 negative/0 positive


Извините, но у вас нет прав для того, чтобы оставлять сообщения в этом форуме.

On-line: 3 (Гостей: 3)

© 2000-2024 Fox Club 
Яндекс.Метрика