Einzelnen Beitrag anzeigen

Benutzerbild von hanselmansel
hanselmansel

Registriert seit: 23. Feb 2005
Ort: Kaiserslautern
279 Beiträge
 
Delphi 2009 Enterprise
 
#1

TObject als Übergabeparameter

  Alt 27. Nov 2005, 18:54
HiHo,

im Info GK 12 wird uns gerade der Gebrauch von Pointern in Verbindung mit grundlegenden Datentypen beigebracht, aber ich fürchte, ich habe irgendwas vermurkst. Ich habe eine Klasse erstellt, die beliebige Objekte nach dem First in, First out-Prinzip verwalten soll.
Delphi-Quellcode:
  TManagedSnake = class(TObject)
  private
    fAnfang, fLaeufer, fEnde :PListenElement;
  public
    Constructor Create;
    Destructor Destroy; override;

    Function PointerAtEnd :Boolean;
    Function EmptyList :Boolean;

    Procedure newElement(Quelle :TObject);
    Function GetActiveElement :TObject;
    Procedure movePointer(Distance :Integer = 1);
    Function GetAndFreeElement :TObject;

    Procedure EraseAll;
  end;
Ein neues Element in der Liste soll per newElement(Quelle :TObject) erstellt werden. Doch irgendwie kracht es hier bei mir. Aufgerufen wird die Prozedur in folgendem Code-Abschnitt:
Delphi-Quellcode:
Type
  TString = class(TObject)
  public
    Content :String;
  end;

Var
  Test :TManagedSnake;

procedure TForm1.bt_neuClick(Sender: TObject);
var
  anObject :TString;
begin //<--Breakpoint
anObject := TString.Create;
anObject.Content := e_eingabe.Text;
Test.newElement(anObject as TObject);
anObject.Free;
Wenn ich in die aufrufende Prozedur nun einen Breakpoint setze, wird das Objekt "Test" korrekt erstellt; und ich sehe auch, dass es mit Daten gefüllt wird. Sobald der "blaue Balken" allerdings in die Prozedur newElement springt, zeigt mir Delphi nur noch Quelle = () an, wenn ich mit der Maus über der variablen verharre.
Ich fürchte, dass ich irgendwie nur eine Referenz o.ä. übergeben habe, aber ich weiß nun einfach nicht mehr weiter.

Es wäre super, wenn einer von euch die Zeit finden würde, einmal drüber zu gucken.
Danke wie immer schon im Voraus allein für's Lesen der Frage,

MfG,

hanselmansel
Es gibt nur sehr wenige Probleme auf dieser Welt, die sich nicht mit einigen hundert Gramm Sprengstoff lösen ließen.
  Mit Zitat antworten Zitat