![]() |
Konstantenobjekt kann nicht als var-Parameter weiter...
Hi Leute!
Ich habe folgenden code und den oben beschrieben feheler, und ich möchte wissen, warum dies ein Konstantenobjekt ist
Delphi-Quellcode:
Was muss ich tun, damit ich den Aufruf so machen kann?type TSection = class (Tobject) public FZeilen: array of string; FName,FType: string; procedure show(LBX: TListbox); end; procedure SwapSections(var s1,s2: Tsection); var tmpSection: TSection; begin tmpSection := s1; s1 := s2; s2 := tmpSection; tmpSection.free; end; //beim Aufruf kommt der fehler SwapSections(FSong.GetSectionByName(combobox.Text),FSong.FSections[i]); gruß richard |
Re: Konstantenobjekt kann nicht als var-Parameter weiter...
Die Deklararion von FSong fehlt.
Delphi-Quellcode:
GetSectionByName() gibt dir eine neue Instanz deiner Klasse/Variable (je nach Deklaration der Funktion), deshalb kann man es nicht als var-Parameter nutzen.
FSong.GetSectionByName(combobox.Text)
Lege dir eine Zwischenvariable an, in die du den Wert speicherst. Damit kannst du dann die Funktion aufrufen. |
Re: Konstantenobjekt kann nicht als var-Parameter weiter...
Und noch etwas:
Bist du sicher das du mit der Swap-Funktion das machst, was du willst? Du tauschst nämlich nur die Objektreferenzen aus und nicht deren Inhalt der Objekte. |
Re: Konstantenobjekt kann nicht als var-Parameter weiter...
Hmm... keine Ahnung, jedenfalls funktioniert es jetzt!
Danke für die Hilfe! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz