delphi 错误忽略问题(20分)

  • 主题发起人 icysword
  • 开始时间
I

icysword

Unregistered / Unconfirmed
GUEST, unregistred user!
try
regedit:=Tregistry.Create;
regedit.RootKey:=HKEY_CURRENT_USER;
regedit.OpenKey('',false);
showmessage(regedit.ReadString('aa'));
finally
regedit.Destroy;
end;
代码为读取注册表 HKEY_CURRENT_USER 主键下的 aa 字符串, 但如果遇到 aa 为二进制值或
是DWORD值时, 程序会出现"Invalid data type for 'aa'" 的提示, 请问该如何屏蔽此提示?
谢谢指教.
 
showmessage的参数是字符,估计是这个毛病
 
不是函数问题, 程序运行正常. 只是那个提示不知道如何屏蔽掉. 请指教, 谢了.
 
try
regedit:=Tregistry.Create;
regedit.RootKey:=HKEY_CURRENT_USER;
regedit.OpenKey('',false);
s := regedit.ReadString('aa');
if pos('Invalid data type for',s)=0 then showmessage(s);
finally
regedit.Destroy;
end;
 
try
try
regedit:=Tregistry.Create;
regedit.RootKey:=HKEY_CURRENT_USER;
regedit.OpenKey('',false);
showmessage(regedit.ReadString('aa'));
finally
regedit.Destroy;
end;
except
end;
 
主要是ReadString这句遇到非法格式时出问题,
这样封装下就没问题了.
try
regedit:=Tregistry.Create;
regedit.RootKey:=HKEY_CURRENT_USER;
regedit.OpenKey('',false);
try
showmessage(regedit.ReadString('aa'));
except
//
end;
finally
regedit.Destroy;
end;
 
谢谢 drawpharos , 这样能屏蔽读注册表的提示, 但好像不能屏蔽掉另一个提示. 是关于
TCP/IP 客户端和服务端的.

Button 的 OnClick 事件代码:
try
try
client1.Address:="192.168.0.1";
client1.active:=false;
client1.active:=true;
finally
statusbar1.Panels.Items[0].Text:='Connecting to ' + client1.Address + ' ...';
end;
except
end;

但程序还是提示 "Asynchronous Socket error 10061" 消息. 能否再指点一二, 再谢, :)
 
接受答案了.
 
顶部