![]() |
Frage zur Übergabe von grüßer Variable
Hallo!
Ich habe folgendes Problem:
Code:
Kann man das aus Zeile 7 so machen? Oder wird dann die Größe die Item (und nachher auch _MyVar) braucht zwei mal verbraucht? Die Größe von Item kann gute 150MB sein, also wäre das nicht so nett, wenn die zweimal verbraucht werden...
class MyClass
{ ListViewItem[] Item; //Indizierung und befüllung von Item... AnyOtherClass aoc = new AnyOtherClass(); aoc.MyVar = Item; //*** HIER DIE STELLE, DIE ICH MEINE } class AnyOtherClass { private ListViewItem[] _MyVar; public ListViewItem[] MyVar { set { this._MyVar = value; } } public AnyMethod() { //Verarbeitung von _MyVar; } } Wäre man hier mit Delegenten besser dran, oder verwechsel ich da was GANZ GANZ stark??? (Ich hab mich bis dato mit Delegenten noch nicht beschäftigt) Grüße Faux |
Re: Frage zur Übergabe von grüßer Variable
Arrays sind immer Verweistypen (also wie die dynamischen Arrays in Delphi), es wird also nur ein Zeiger kopiert.
Zitat:
Zitat:
Zitat:
|
Re: Frage zur Übergabe von grüßer Variable
Zitat:
Zitat:
Ich glaube dir schon, dass ich falsch liege, aber für mich gibt das keinen Sinn... lol Bitte um Erklärung... Grüße Faux |
Re: Frage zur Übergabe von grüßer Variable
Array != Delegate :gruebel:
[edit] Ah, jetzt hab ichs verstanden. Mit dem Array-Zeiger meine ich einen normalen Pointer auf die Speicherstelle der Instanz. Ein Funktionszeiger unter Delphi ist ein Pointer auf eine Funktion oder Methode. Das ist also nur eine andere Art eines Pointers als ein Referenztyp, ein Referenztyp besteht nicht aus einem Funktionszeiger. Ein Delegate ist nur eine Liste von Methoden, hat also erstmal nichts mit Referenztypen zu tun. [/edit] |
Re: Frage zur Übergabe von grüßer Variable
Zitat:
DU hast gesagt, dass ein Zeiger auf einen Array übergeben wird. Und eine Delegent ist laut dir ein Zeiger. Oder versteh ich das net ganz? |
Re: Frage zur Übergabe von grüßer Variable
He, das müssen keine 10 Sekunden zwischen deinem Post und meinem Edit gewesen sein :lol: .
|
Re: Frage zur Übergabe von grüßer Variable
ASOOOO jetzt verstehe ich!!
Zeiger auf Variable != Zeiger auf Funktion Das war mein Denkfehler, oder? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 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 by Thomas Breitkreuz