主窗口调用第2个窗口,下列代码在第2个窗口中:
var
   sUser,sCode : string;
   sReg : TRegistry;
begin
        sReg.RootKey:=HKEY_CURRENT_USER;
        sReg.OpenKey('\Software\XSoft\MySoft',True);
        sReg.WriteString('User',sUser);
        sReg.WriteString('Code',sCode);
        sReg.CloseKey;
end;
程序中有了这段代码后,整个程序退出是会发生错误,请问为什么?

解决方案 »

  1.   

    var
       sUser,sCode : string;
       sReg : TRegistry;
    begin
           sReg:=TRegistry.Create;//加入这句话
            sReg.RootKey:=HKEY_CURRENT_USER;
            sReg.OpenKey('\Software\XSoft\MySoft',True);
            sReg.WriteString('User',sUser);
            sReg.WriteString('Code',sCode);
            sReg.CloseKey;
    end;
      

  2.   

    //改写好的
    var
       sUser,sCode : string;
       sReg : TRegistry;
    begin
           sReg:=TRegistry.Create;//加入这句话
           try
            sReg.RootKey:=HKEY_CURRENT_USER;
            sReg.OpenKey('\Software\XSoft\MySoft',True);
            sReg.WriteString('User',sUser);
            sReg.WriteString('Code',sCode);
            sReg.CloseKey;
           finallyend;
      

  3.   

    var
       sUser,sCode : string;
       sReg : TRegistry;
    begin
           sReg:=TRegistry.Create;//加入这句话
           try
            sReg.RootKey:=HKEY_CURRENT_USER;
            sReg.OpenKey('\Software\XSoft\MySoft',True);
            sReg.WriteString('User',sUser);
            sReg.WriteString('Code',sCode);
            sReg.CloseKey;
           finally
            sReg.free;
           end;
    end;
      

  4.   

    sReg:= TRegistry.Create;
    try
      sReg.RootKey:=HKEY_CURRENT_USER;
      if sReg.OpenKey('\Software\XSoft\MySoft',True) then
      begin
        sReg.WriteString('User',sUser);
        sReg.WriteString('Code',sCode);
      end;
      sReg.CloseKey;
    finally
      sReg.free;
    end;
      

  5.   

    sReg:=TRegistry.Create
    对象不创建也可以用????
      

  6.   

    使用下面代码后,在Form.Create事件中正常,但是在Button.Click再用一次,就会出现错误。
    var
       sUser,sCode : string;
       sReg : TRegistry;
    begin
           sReg:=TRegistry.Create;//加入这句话
           try
            sReg.RootKey:=HKEY_CURRENT_USER;
            sReg.OpenKey('\Software\XSoft\MySoft',True);
            sReg.WriteString('User',sUser);
            sReg.WriteString('Code',sCode);
            sReg.CloseKey;
           finally
            sReg.free;
           end;
    end;
      

  7.   

    引用foreveryday007(有無數種方法可以浪費一天的時間…但是…) :
    var sReg :TRegistry;
    begin
      sReg:= TRegistry.Create;
      try
        sReg.RootKey:=HKEY_CURRENT_USER;
        if sReg.OpenKey('\Software\XSoft\MySoft',True) then
           begin
             sReg.WriteString('User',sUser);
             sReg.WriteString('Code',sCode);
      end;
      sReg.CloseKey;
    finally
      sReg.free;
    end;