Вниз
Скачать: CL | DM;

Отображение реестра в TTreeView   Найти похожие ветки 

 
Charly22   (2003-02-21 21:02) [0]

Здравствуйте!
Необходимо с помощью компонента TTreeView отобразить структуру системного реестра. Прежде всего, я сделал заготовку для пяти корневых ключей. Затем при разворачивании какой-либо ветки пытаюсь заглянуть в реестр на один уровень глубже, и тут стопор.
Код ниже. Посмотрите, плз. И подскажите, что я не так делаю...





 
Charly22   (2003-02-21 21:06) [1]

Забыл вставить код


procedure TForm1.TV1Expanded(Sender: TObject; Node: TTreeNode);
var
Reg: TRegistry;
Strs: TStringList;
Level1: Boolean;
i: integer;
begin
Level1:= Node.Level=1;
Reg := TRegistry.Create;
Strs:= TStringList.Create;

if Node.Text = "HKEY_CLASSES_ROOT" then Reg.RootKey:=HKEY_CLASSES_ROOT;
if Node.Text = "HKEY_CURRENT_USER" then Reg.RootKey:=HKEY_CURRENT_USER;
if Node.Text = "HKEY_LOCAL_MACHINE" then Reg.RootKey:=HKEY_LOCAL_MACHINE;
if Node.Text = "HKEY_USERS" then Reg.RootKey:=HKEY_USERS;
if Node.Text = "HKEY_CURRENT_CONFIG" then Reg.RootKey:=HKEY_CURRENT_CONFIG;

if Level1 then
begin
Reg.OpenKey(Node.Text,false);
Reg.GetKeyNames(Strs);
// ShowMessage(Strs.Strings[1]);
for i:=0 to Strs.Count-1 do
begin
TV1.Items.AddChild(Node,Strs.Strings[i]);
end;
Reg.CloseKey;
Reg.Free;
end;
end;


 
Alex44   (2003-02-21 21:17) [2]

A gde stopor-to?


 
Charly22   (2003-02-22 02:21) [3]

А стопор вот здесь:

for i:=0 to Strs.Count-1 do
begin
TV1.Items.AddChild(Node,Strs.Strings[i]);
end;
Reg.CloseKey;



Никак не могу получить список корневых ключей. Следовательно, Strs не содержит ни одной строки, и генерится исключение.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
9-16848
RavenD
2002-10-04 21:12
2003.03.06
Движение в DirectX.


4-17459
Adolf
2003-01-19 14:10
2003.03.06
TrayIcon


1-17095
jen_bond
2003-02-25 19:18
2003.03.06
Понижение качества прорисовки


1-17098
Checist [root]
2003-02-24 21:47
2003.03.06
Выделенная ячейка


1-16985
race1
2003-02-24 09:12
2003.03.06
parent




   Наверх