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