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

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

Access violation at addres. [D7, WinXP]


Начинающий2 ©   (2005-02-24 13:12:00) 

Привет всем! Помогите разобраться с ошибкой, вот код:

procedure TForm1.Btn1Click(Sender: TObject);
begin
case btn1.Tag of
0:  begin
    key1:='Run';
    key:='Run_Disabled';
    ValueMove;
   end;// сюда перекидывает курсор при ошибке
1:  begin
    key1:='Run_Disabled';
    key:='Run';
    ValueMove;
   end;
end;
end;

procedure TForm1.ValueMove;
begin
reg := TRegistry.Create;
Reg.RootKey:= HKEY_LOCAL_MACHINE;
for i:=0 to List.Items.Count-1 do
 if (List.Items[i].Selected) then
 with List.Items[i] do begin
  reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\'+key,true);
  reg.WriteString(Caption,SubItems.Strings[0]);
  reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\'+key1,false);
  reg.DeleteValue(Caption);
  List.DeleteSelected;
 end;
Reg.CloseKey;
Reg.Free;
end;


При btn1.Tag =0 выскакивает ошибка, что пытается считать с другого адреса. При btn1.Tag =1 всё нормально.


Начинающий2   (2005-02-24 13:46:00) [1]

Digitman ©   (24.02.05 13:23) [1]
для начала убери строчку

List.DeleteSelected;

из тела цикла..

рубишь сук, на котором сидишь


Спасибо, дествительно так, уже исправил всё работает.


Digitman   (2005-02-24 13:23:00) [2]

для начала убери строчку

List.DeleteSelected;

из тела цикла..

рубишь сук, на котором сидишь


Наверх

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