Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с очисткой компонента типа TValueListEditor [D7]


id_984fa940 ©   (2009-08-25 09:01:00) 

Понадобилось мне очистить такой компонент ValueListEditor1.
После не очень долгих поисков
написал так:
ValueListEditor1.Strings.Clear;
потом понадобилось добавить строку:
ValueListEditor1.Strings.Add('1=a');
и при каждой прорисовке этого компонента появляется сообщение о чтении по адресу по которому читать нельзя (или что-то типа того).
Подскажите решение. Спасибо


Сергей М.   (2009-08-25 11:47:00) [1]


> есть подозрение на битые dcu


И/или bpl


sniknik   (2009-08-25 11:31:00) [2]

> p.s. страшно матюкался на тех кто такое сделал ...
> ...
> Может вирус погрыз, сидел недавно один в SysConst.dcu
а виноваты конечно разработчики компонента. как же так, почему не предусмотрели...

> Пока как альтернативу использую предварительное заполнение 100 строками (в режиме разработки), а там уже меняю.
хитрый способ, и главное оставляющий место для простора будущим "страшным матюкам", раз есть подозрение на битые dcu. дельфи не проще переставить? или хотя бы проверить на другой "чистой" машине этот код?


id_984fa940   (2009-08-25 11:25:00) [3]

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


Сергей М.   (2009-08-25 11:22:00) [4]


> тут видно нормально


А почему адрес строки теперь стал 00464640 ?
На предыдущей картинке он 004713A0 ..
На ходу что ли код правишь ?)


id_984fa940   (2009-08-25 11:19:00) [5]

тут видно нормально)
http://i075.radikal.ru/0908/a1/cf205d864785.jpg


Сергей М.   (2009-08-25 11:16:00) [6]

Не вижду также явно указанной тобой строки по адресу 004713A0, вызвавшей исключение ..


Сергей М.   (2009-08-25 11:15:00) [7]


> тот же код


Не вижу на картинке "того же кода" ..


id_984fa940   (2009-08-25 11:12:00) [8]

тот же код и ...
http://s54.radikal.ru/i146/0908/9d/b4a92aaf9341.jpg
O_o
(Может вирус погрыз, сидел недавно один в SysConst.dcu)


Сергей М.   (2009-08-25 11:06:00) [9]


> id_984fa940   (25.08.09 10:53) [4]


> не дано видать


Видать, да, не дано.

Этот код
procedure TForm1.Button6Click(Sender: TObject);
begin
 ValueListEditor1.Strings.Clear;
 ValueListEditor1.Strings.Add('1=a');
end;

у меня успешно работает.
Что я неправильно делаю и кого мне страшно матюкать за это ?)


id_984fa940   (2009-08-25 10:53:00) [10]

Это происходит при добавлении строки в чистый список.
Ошибка возникает на строке
ValueListEditor1.Strings.Add('1=a');
Может в этот компонент надо строки как то по-другому добавлять. Пока как альтернативу использую предварительное заполнение 100 строками (в режиме разработки), а там уже меняю.

p.s. страшно матюкался на тех кто такое сделал, много времени убил, а так и не понял всей глубины гениальной затеи написавшего этот компонент программиста, не дано видать. Прошу прощения, очень спать хачу.


Ухарь   (2009-08-25 09:40:00) [11]


> и при каждой прорисовке этого компонента появляется сообщение
> о чтении по адресу по которому читать нельзя


Надо найти точку, в которой это происходит. Надо поймать отладчиком это место и выяснить, в чем дело.
Если это происходит внутри кода VCL, то поможет флаг Use Debug DCU
Ну или еще вариант - найти эту точку по адресу кода (этот адрес - в сообщении об ошибке)


sniknik   (2009-08-25 09:17:00) [12]

> Проблема с очисткой компонента типа TValueListEditor
проблем с его очисткой нет. есть проблема в твоем коде, который ты не приводишь. (то что приведено, это совершенно нормальные, рабочие, частные, ничего не значащие без контента (своего окружения) процедуры).

> (или что-то типа того)
ну, надо исправить ошибку в программе (или что-то типа того).
пожалуйста.


brother   (2009-08-25 09:12:00) [13]

может при добавлении дефолт надо указывать?


Наверх

Титульная страница Поиск, карта сайта Написать письмо