Einzelnen Beitrag anzeigen

Benutzerbild von Desmulator
Desmulator

Registriert seit: 3. Mai 2007
Ort: Bonn
169 Beiträge
 
#1

[OOP] Eigenschaften werden gelöscht

  Alt 15. Jun 2008, 08:56
Guten Morgen,
ich habe das Problem, dass Eigenschaften, die in einer Methode gesetzt werden, nach ihrem Aufruf fehlerhaft oder gar nicht gesetzt sind. Ich habe keine Ahnung woran es liegen könnte.

Aufruf:
Delphi-Quellcode:
  WndClass := TWindowClass.Create('Main');
  WndClass.RegisterClass;
  WndClass.NewWindow('Test',Wnd); //Um diese Methode handelt es sich
Methode:
Delphi-Quellcode:
procedure TWindowClass.NewWindow(Name : PAnsiChar; var Wnd : TWindow);
begin
  { Fehler abfangen }
  try
    { Prüfen ob Klasse erstellt ist }
    if self.ClassRegistered then begin
      { Neues Fenster erstellen }
      Wnd := TWindow.Create(self.ClassName,Name);
      { Speichern der neuen Anzahl }
      //self.ClassWindows := self.WindowsNumber + 1;
      Inc(self.ClassWindows); //Dieser Wert ist Anfangs richtig ( 1 )
      { Speichern des Handles }
      self.ClassWindowList[ClassWindows-1] := @Wnd; //Nach diesem Schritt ist er irgendwo im 150er Bereich
      ReadLn; //ClassWindowList enthält nur nils
      //ReadLn: Testzwecke...
    end else
      { Fehler ausgeben }
      raise EClassNotRegistered.Create;
  except
    { Erneut auswerfen }
    raise ;
  end;
end;
Objekt:
Delphi-Quellcode:
  TWindowClass = class(TObject)
  private
    { ClassWindows : Zählt die Anzahl der Fenster }
    ClassWindows : Byte;
    { ClassWindowList : Enthält alle Fenster der Klasse }
    ClassWindowList : TWindowList;
TWindowList
Delphi-Quellcode:
  { TWindowList : Stellt eine Liste von Fenstern da }
  TWindowList = array[1..256] of ^TWindow;
Ich hoffe ihr wisst wo da der Fehler liegt...
Lars
  Mit Zitat antworten Zitat