Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Konstantenobjekt kann nicht als var-Parameter weiter... (https://www.delphipraxis.net/78788-konstantenobjekt-kann-nicht-als-var-parameter-weiter.html)

Tormentor32 11. Okt 2006 07:27


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:

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]);
Was muss ich tun, damit ich den Aufruf so machen kann?

gruß richard

ste_ett 11. Okt 2006 07:48

Re: Konstantenobjekt kann nicht als var-Parameter weiter...
 
Die Deklararion von FSong fehlt.

Delphi-Quellcode:
FSong.GetSectionByName(combobox.Text)
GetSectionByName() gibt dir eine neue Instanz deiner Klasse/Variable (je nach Deklaration der Funktion), deshalb kann man es nicht als var-Parameter nutzen.

Lege dir eine Zwischenvariable an, in die du den Wert speicherst. Damit kannst du dann die Funktion aufrufen.

chaosben 11. Okt 2006 07:52

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.

Tormentor32 11. Okt 2006 08:14

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