![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
В чем ошибка в следующем коде? [D7, Win95/98]
Андрей2 © (2004-09-07 12:03:00)For i:= CheckListBox1.Count-1 Downto 0 do
if CheckListBox1.Checked[i] then begin
ValueListEditor1.Strings.Add(CheckListBox1.Items[1]+'=0');
CheckListBox1.Items.Delete(i);
end;
Ошибку выдает на ValueListEditor
Спасибо
Плохиш (2004-09-07 14:51:00) [1]TStringList(ValueListEditor1.Strings).Sort;
Андрей2 (2004-09-07 14:45:00) [2]> Плохиш
Может, подскажешь, как отсортировать список в ValueListEditor?
Что-то типа ValueListEditor1.sorted:=true - к сожалению нет.
КаПиБаРа (2004-09-07 14:39:00) [3]Андрей2 (07.09.04 13:52) [11]
не получается и все тут!
Что клавишы F7/F8 заклинило?
=================================
Чаще пользуйся ушами, чем языком.
=================================
MANGOL (2004-09-07 14:29:00) [4]не знаю, че такое ValueListEditor, поэтому вместо него поставил memo :) Получилось вот так:
For i:= CheckListBox1.Items.Count-1 Downto 0 do
if CheckListBox1.Checked[i] then begin
Memo1.Lines.Add(CheckListBox1.Items[i]+'=0');
CheckListBox1.Items.Delete(i);
end;
всё чюдесно работает!
Андрей2 (2004-09-07 14:28:00) [5]Супер!!!!
Спасибо, Плохиш. Не тот ник себе выбрал :-)
Плохиш (2004-09-07 14:23:00) [6]Замени
ValueListEditor1.Strings.Add(CheckListBox1.Items[i]+'=0');
на
ValueListEditor1.Values[CheckListBox1.Items[i]] := '0';
Андрей2 (2004-09-07 13:52:00) [7]не получается и все тут!
Создал вообще новый проект, поставил на форму CheckListBox, ValueListEditir и Button. Написал код:
procedure TForm1.Button1Click(Sender: TObject);
begin
For i:= CheckListBox1.Count-1 Downto 0 do
if CheckListBox1.Checked[i] then begin
ValueListEditor1.Strings.Add(CheckListBox1.Items[i]+'=0');
CheckListBox1.Items.Delete(i);
end;
end;
И все равно кидает ошибку. Пробывал через Cell кидать - то же самое. Может есть какая-то альтернатива?
Плохиш (2004-09-07 13:29:00) [8]Используй F7/F8 и Alt+F5/Ctrl+F5
Андрей2 (2004-09-07 13:22:00) [9]но какой? Что-то не могу понять как определить. Все компоненты и объекты, используемые в цикле существуют
Плохиш (2004-09-07 12:51:00) [10]
> Андрей2 (07.09.04 12:47) [7]
Вот и разобрались, какой-то используемый объект не создан или уже удалён.
Андрей2 (2004-09-07 12:47:00) [11]> Плохиш
1) alueListEditor1 - существует
2) исключено
3) не совсем понял
Ошибка такая:
Project w.exe raised exception class EAccessViolation with message 'Access violation at address 0044699D0 in module w.exe'. Read of address FFFFFFFF.
Process stopped. Use Step or Run to continue
Плохиш (2004-09-07 12:27:00) [12]3. Значение границ цикла расчитывается один раз перед началом выполнения.
Плохиш (2004-09-07 12:25:00) [13]
> Андрей2 (07.09.04 12:21) [3]
Текст ошибки является совершенно секретной информацией? Что ж будем гадать:
1. ValueListEditor1 - несуществует
2. Попытка вставить одинаковые значения
begin...end (2004-09-07 12:24:00) [14]
> [3] Андрей2 (07.09.04 12:21)
Если нужно именно через Strings (можно ведь и через Cells), то, ИМХО, можно вначале заполнить TStringList какой-нибудь, а потом Strings.Assign().
Андрей2 (2004-09-07 12:21:00) [15]ставил i - то же самое.
Я уже прямо указал куда строку тыкать [1], а ошибку все равно кидает
Jeer (2004-09-07 12:13:00) [16]Так может i забыто ?
ValueListEditor1.Strings.Add(CheckListBox1.Items[i]+'=0');
Плохиш (2004-09-07 12:08:00) [17]Чё гадать, прикажете?