AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[OOP] Eigenschaften werden gelöscht

Ein Thema von Desmulator · begonnen am 15. Jun 2008 · letzter Beitrag vom 15. Jun 2008
Antwort Antwort
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
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: [OOP] Eigenschaften werden gelöscht

  Alt 15. Jun 2008, 09:01
1.Array geht von 1..256, Du schreibst aber in Array[0] (so wird der counter überschrieben)
2.Objektinstanzen sind bereits Zeiger, Ergo schmeiss '^' und '@' raus.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von Desmulator
Desmulator

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

Re: [OOP] Eigenschaften werden gelöscht

  Alt 15. Jun 2008, 13:42
Ahja, danke.
Lars
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz