Problemer med Self
Følgende kode (som jeg vist nok har fået her på eksperten) er til at gemme formens position.Koden virker godt nok når den bliver kaldt fra det projekt, hvor koden ligger.
Jeg har en unit Util, hvor jeg godt kunne tænke mig at flytte koden hen, så den bliver tilgængelig for alle projekter, som har Util i uses.
Jeg har flyttet koden over til util, men når jeg kompilere den for jeg problemer med Self (unidentified identifier) Det er naturlig nok, men hvordan skal koden være for at det virker??
procedure SaveFormPos(Sender : TObject);
var
Reg : TRegistry; // the registry
State: Integer; // state of wdw
Pl : TWindowPlacement; // used for API call
R : TRect; // used for wdw pos
begin
Pl.Length := SizeOf(TWindowPlacement);
GetWindowPlacement(Self.Handle, @Pl);
R := Pl.rcNormalPosition;
Reg := TRegistry.Create;
try
// Open required key - and create it if it doesn't exist
Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey(CRegKeyFormPos+Self.Name, True);
Reg.WriteInteger('Width', R.Right-R.Left);
Reg.WriteInteger('Height', R.Bottom-R.Top);
Reg.WriteInteger('Left', R.Left);
Reg.WriteInteger('Top', R.Top);
if IsIconic(Application.Handle) then State := Ord(wsMinimized) //minimized - write that state
else State := Ord(Self.WindowState); //not mimimized - we can rely on window state of form
Reg.WriteInteger('State', State);
finally
Reg.Free;
end;
end;
