Hi Tony,
Have you tried writing a specific string to the Registry instead of a
member variable - perhaps the variable has already been destroyed?
Regards,
Bevan
Tony Sinclair wrote:
>
> I don't whether it's just me but this is bizarre. If I have a class with
> TRegistry in it in another unit which is responsible for the life of the
> registry object, and then instanitate from my form unit, the saving to the
> registry doesn't work. If I instantiate a TRegistry in my form unit, it
> saves the value into the registry.
>
> For example: This works
>
> { on click of button or similar }
> var
> Reg : TRegistry;
> begin
> Reg := TRegistry.Create;
> Reg.RootKey := HKEY_LOCAL_MACHINE;
> Access := KEY_ALL_ACCESS;
> if Reg.OpenKey('Some key structure', True) then begin
> WriteString('Some registry value', 'My string to store');
> CloseKey;
> end;
> Reg.Free;
> end;
>
> For example: This doesn't
>
> { In another unit, far far away... }
> type
> TMyClass = class(TObject)
> private
> mstrSomething : string;
> public
> destructor Destroy; override;
> end;
>
> procedure TMyClass.Destroy;
> var
> Reg : TRegistry;
> begin
> inherited;
> Reg := TRegistry.Create;
> Reg.RootKey := HKEY_LOCAL_MACHINE;
> Access := KEY_ALL_ACCESS;
> if Reg.OpenKey('Some key structure', True) then begin
> WriteString('Some registry value', mstrSomething);
> CloseKey;
> end;
> Reg.Free;
> end;
>
> { Back in the form unit on a button click or similar }
> var
> objMine : TMyClass;
> begin
> objMine := TMyClass.Create;
> // Assume code in here which assigns to member variables of TMyClass
> objMine.Free;
> end;
>
> Does the fact that the code to save is in the destructor cause life problems
> for
> the registry class?
>
> Thoughts anyone?
>
> Tony Sinclair
> Holliday Group Limited
> Christchurch
> New Zealand
>
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On
> Behalf Of [EMAIL PROTECTED]
> Sent: Friday, 14 July 2000 16:46
> To: Multiple recipients of list delphi
> Subject: Re:RE: [DUG]: TRegistry
>
> Just a thought...
> I have found the following with NT - a real pain...
>
> Creating a Registry entry in NT with code - I wanted to use RegEdit but did
> not
> have access rights to do so - I created a small app that just created the
> Registry entry and set the value - I was able to do this...
> This worked - the gotcha - The entry was not available (might / might not
> have
> been created - can't remember) until after a reboot - re logging in might
> also
> work...
>
> HTH
>
> Regards
> Paul
>
> ____________________Reply Separator____________________
> Subject: RE: [DUG]: TRegistry
> Author: [EMAIL PROTECTED]
> Date: 14/07/2000 16:45
>
> I was aware of the issues writing / read to / from the registry in a
> dll,
> but this is from just a standard exe. It will create keys alright if
> they
> are not there but anything to do with values, just won't work. Doesn't
> create them if they aren't there. This is on both NT and 98, NT is
> logged
> on as administrator. Creating the value entries myself doesn't solve
> the
> problem either.
>
> -----Original Message-----
> From: Myles Penlington [mailto:[EMAIL PROTECTED]]
> Sent: Friday, 14 July 2000 16:20
> To: Multiple recipients of list delphi
> Subject: RE: [DUG]: TRegistry
>
> What are you writing from?
>
> An application should be no problem.
> A DLL or Service application can cause problems. In some cases NT
> security
> will just not let you write to the registry (Especially a DLL). You
> should
> be able to read okay.
>
> Myles.
>
> > -----Original Message-----
> > From: Tony Sinclair [SMTP:[EMAIL PROTECTED]]
> > Sent: Friday, July 14, 2000 4:26 PM
> > To: Multiple recipients of list delphi
> > Subject: [DUG]: TRegistry
> >
> > Hi all,
> >
> > I am trying to get the T(Damn)Registry to save some values into
> > HKEY_LOCAL_MACHINE and it just won't do it. Is there anything I need
> to
> > do
> > special apart from
> >
> > RootKey
> > Access
> > OpenKey
> > WriteString
> > CloseKey
> >
> > Thanks in advance
> >
> > Tony Sinclair
> > Holliday Group Limited
> > Christchurch
> > New Zealand
> >
> >
> -----------------------------------------------------------------------
> ---
> > -
> > New Zealand Delphi Users group - Delphi List -
> [EMAIL PROTECTED]
> > Website: http://www.delphi.org.nz
> -----------------------------------------------------------------------
> ----
> New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
> Website: http://www.delphi.org.nz
> -----------------------------------------------------------------------
> ----
> New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
> Website: http://www.delphi.org.nz
>
> ---------------------------------------------------------------------------
> New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
> Website: http://www.delphi.org.nz
>
> ---------------------------------------------------------------------------
> New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
> Website: http://www.delphi.org.nz
--
Bevan Edwards mailto:[EMAIL PROTECTED]
Achieve Software Limited http://www.achieve.co.nz
Phone: (64-9) 444-4210 ICQ: 732011
Fax: (64-9) 444-4201
Mobile: (64-21) 979-603
---------------------------------------------------------------------------
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz