请看看这个问题,谢谢!(0分)

A

awfigsk

Unregistered / Unconfirmed
GUEST, unregistred user!
var
Regist:TRegistry;
cKeyValueName,cSubKey:TStringList;
i,j:integer;
CNOde:TTreeNode;
begin
Regist:=TRegistry.Create;
TreeView1.Items.Clear;
With Regist do
begin
RootKey:=HKEY_CURRENT_USER;
cKeyValueName:=TStringList.Create;
cSubKey:=TStringList.Create;
If OpenKey('SoftWare/ODBC/ODBC.INI/ODBC Data Sources/',False) then
begin
GetValueNames(cKeyValueName);
For i:=0 to cKeyValueName.Count-1 do
begin
cNode:=TreeView1.Items.Add(Nil,cKeyValueName.Strings);
cNode.ImageIndex:=1;
if OpenKey('/SoftWare/ODBC/ODBC.INI/'+cKeyValueName.Strings,False) then
if KeyExists('Engines') then
begin
cNode:=TreeView1.Items.AddChild(cNode,'Engines');
cNode.ImageIndex:=1;
if OpenKey('/SoftWare/ODBC/ODBC.INI/'+cKeyValueName.Strings+
'/Engines/',False) then
if HasSubKeys() then
begin
GetKeyNames(cSubKey);
for j:=0 to cSubKey.Count-1 do
begin
cNode:=TReeView1.Items.AddChild(cNode,cSubKey.Strings[j]);
cNode.ImageIndex:=1;
end;
end;
end;
end;
end;
end;
end;
请问在该程序中,为什么 Regist这个变量要执行了Regist:=TRegistry.Create;才
可以使用?而cNode不用执行TTreeNode.create这条语句就可以使用呢?
 
cNode在Add的时候创建的
 
哦,真是这样的.我也想过,但不知对不对,因为对概念还是有点糊涂.十分感谢!
(抱歉,分数不够)
 
顶部