| 
| 
 | Вопрос # 6 008/ вопрос открыт / | 
 |  Здравствуйте! Почему когда я далаю прогом по всему реестру (просматриваю все ключи), в один момент программа просто вылетает и всё... причём никаких ошибок нет! Просто разрушается и всё. Подобное происходит и на других машинах. Происходит это именно тогда, когда путь достигает HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Class. И , при чём, постоянно на одном и том же ключе, но если этот ключ удалить, то такая же фигня произойдёт на следующем... , и это случается только в HKEY_LOCAL_MACHINE , в остальных разделах всё нормально. Вот такая запарка!
 
 Вот моя процедура:
 Приложение:Переключить в обычный режим procedure FullRegScan(HK: HKEY; RegPath: string);var Reg: TRegistry;    i: Integer;    l, val: TStrings;    Root, s: string;begin    Reg:= TRegistry.Create(KEY_ALL_ACCESS);    case HK of      HKEY_CLASSES_ROOT : Root:= 'HKEY_CLASSES_ROOT';      HKEY_CURRENT_USER : Root:= 'HKEY_CURRENT_USER';      HKEY_LOCAL_MACHINE : Root:= 'HKEY_LOCAL_MACHINE';      HKEY_USERS : Root:= 'HKEY_USERS';      HKEY_CURRENT_CONFIG : Root:= 'HKEY_CURRENT_CONFIG';    end;    Reg.RootKey:= HK;    Reg.OpenKeyReadOnly(RegPath);    val:= TStringList.Create;    Reg.GetValueNames(val);    l:= TStringList.Create;    Reg.GetKeyNames(l);    /////////////////////////////////////////    s:= Reg.CurrentPath;    /////////////////////////////////////////    Reg.CloseKey;      for i:= 0 to l.Count - 1 do        begin          if Reg.OpenKeyReadOnly(s + '\' + l.Strings[i]) then            begin              Form1.lbl1.Caption:= '[' + Root + '\' + Reg.CurrentPath + ']';              try              FullRegScan(HK , Reg.CurrentPath);              except              end;            end;          Reg.CloseKey;          Application.ProcessMessages;        end;l.Free;val.Free;Reg.Free;end;
|  |   Вопрос задал: eclipse (статус: Посетитель)Вопрос отправлен: 17 марта 2012, 08:02
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 2; последнее сообщение — 17 марта 2012, 16:10; участников в обсуждении: 2. 
|   | eclipse (статус: Посетитель), 17 марта 2012, 08:04 [#1]:А, вот ещё, инициализирую эту процедуру так: - FullRegScan(HKEY_LOCAL_MACHINE, EmptyStr); Блин забыл... вылетает ошибка stack overflow.
 |  
|   | bugmenot (статус: 3-ий класс), 17 марта 2012, 16:10 [#2]:О, форматирование поправилось, автоматика! Хотя подозреваю, что это был Ерёмин
   виконання програми розпочинається з того самого мiсця, де призупинилося.
 
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |