Tregister的GetKeyNames出错,哪位大虾看一看?

NetCobra 2001-12-18 01:19:04
程序目的:获得所有的ODBC数据源列表
开发环境:EWinXP+中文语言包+Delphi6企业版
错误现象:在"RegIE.GetKeyNames(odbc_dsn);"出错。

……

private
RegIE: TRegistry; //读取注册表的类
odbc_dsn: TStrings; //ODBC数据源列表

……

RegIE:=TRegistry.Create;
RegIE.RootKey := HKEY_CURRENT_USER;
try
if RegIE.Openkey('Software\ODBC\ODBC.INI',false) = False then
begin
Application.MessageBox('设置当前注册表键时出错。','错误信息',MB_ICONERROR);
exit;
end;
RegIE.GetKeyNames(odbc_dsn);
except
Application.MessageBox('读取DSN列表时出错。','错误信息',MB_ICONERROR);
Close;
end;
RegIE.Free;
...全文
95 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
NetCobra 2001-12-18
  • 打赏
  • 举报
回复
该死的,怎么汉字全都变成乱码了?
NetCobra 2001-12-18
  • 打赏
  • 举报
回复
还是不行啊,错误信息如下:“Project manager raised exception class EAccessViolation with message 'Access violation at address 00440537 in module 'manager.exe''.Read of address 00000000'.Process stopped.Use Step or Run to continue.”

我改成这个样子了:

try
if RegIE.Openkey('Software\ODBC\ODBC.INI',false) = False then
begin
Application.MessageBox('ÉèÖõ±Ç°×¢²á±í¼üʱ³ö´í¡£','´íÎóÐÅÏ¢',MB_ICONERROR);
exit;
end
else
RegIE.GetKeyNames(odbc_dsn);
except
Application.MessageBox('¶ÁÈ¡DSNÁбíʱ³ö´í¡£','´íÎóÐÅÏ¢',MB_ICONERROR);
Close;
end;
Regie.CloseKey;
RegIE.Free;
NetCobra 2001-12-18
  • 打赏
  • 举报
回复
谢谢,我去试一试
抱朴守拙 2001-12-18
  • 打赏
  • 举报
回复
着急了,漏了一句:
if RegIE.Openkey('Software\ODBC\ODBC.INI',false) = False then
begin
Application.MessageBox('设置当前注册表键时出错。','错误信息',MB_ICONERROR);
exit;
end; --------------------->>>>>>>>>>>>这里一定要注意了,没有分号!!!
else ------------在这里加上一个else
RegIE.GetKeyNames(odbc_dsn);

抱朴守拙 2001-12-18
  • 打赏
  • 举报
回复
if RegIE.Openkey('Software\ODBC\ODBC.INI',false) = False then
begin
Application.MessageBox('设置当前注册表键时出错。','错误信息',MB_ICONERROR);
exit;
end; --------------------->>>>>>>>>>>>这里一定要注意了,没有分号!!!
RegIE.GetKeyNames(odbc_dsn);
抱朴守拙 2001-12-18
  • 打赏
  • 举报
回复
对,在Free之前要加上regie.closekey;
NetCobra 2001-12-18
  • 打赏
  • 举报
回复
不明白,是不是说我在GetKeyNames后面应该CloseKey?
Liusp 2001-12-18
  • 打赏
  • 举报
回复
closeKey;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧