Avatar billede assassin Juniormester
09. december 2002 - 11:05 Der er 1 kommentar og
1 løsning

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;
Avatar billede assassin Juniormester
09. december 2002 - 11:17 #1
Jeg har selv fundet ud af det.
Avatar billede assassin Juniormester
09. december 2002 - 11:19 #2
Jeg var lidt hurtig til at søge hjælp.

Jeg har taget Formen med som parameter istedt for sender.

Jeg tænkte mig ikke rigtigt om i første omgang.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester