![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с очисткой компонента типа 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]может при добавлении дефолт надо указывать?