![]() |
Dynamische Array-Variable freigeben (ARRAY OF BOOLEAN)
Hi, 8)
Delphi (5) F1: (...) „ Dynamische Array-Variablen sind implizit Zeiger und werden mit derselben Referenzzählung verwaltet wie lange Strings. Um ein dynamisches Array freizugeben, weisen Sie einer Variablen, die das Array referenziert, den Wert nil zu, oder Sie übergeben die Variable an Finalize. Beide Methoden geben das Array unter der Voraussetzung frei, daß keine weiteren Referenzen darauf vorhanden sind. Wenden Sie auf dynamische Array-Variablen nicht den Derefenzierungsoperator (^) an, und übergeben Sie sie auch nicht an die Prozeduren New oder Dispose.“ (...) So... [code:1:8deeee572a] TYPE |
Ich habe mich erst gewundert, ob das vielleicht ein FAQ werden soll, da ich die Herkunft D5 F1 nicht gleich kappiert habe :mrgreen:
mit
Code:
hast Du erst einmal einen neuen Variablentyp deklariert. Anschließend musst Du noch eine Variable dieses Types deklarieren
TYPE
ArrayOfBoolean = ARRAY OF Boolean;
Code:
var
BooleanArray: ArrayOfBoolean; begin .... SetLength(BooleanArray, 5]; BooleanArray[0] := False; BooleanArray[1] := True; BooleanArray[2] := False; ... BooleanArray := nil; // oder - ich mache es immer wie folgt SetLength(BooleanArray, 0); end; |
Natürlich Sakura,
es sollte heißen: [code:1:5ab5fd732d] TYPE |
Nutze einfach das
Code:
Beispiel. Den Rest übernimmt Delphi dann automatisch.
SetLength(BooleanArray, 0);
|
Bei mir funktioniert das aber unter D5 und D6.
Code:
type
ArrayOfString = array of string; ArrayOfBoolean = array of Boolean; procedure TForm1.Button1Click(Sender: TObject); var a: ArrayOfString; b: ArrayOfBoolean; begin a := nil; b := nil; end; |
Hi Sakura, 8)
ok... so mache is es...hat mich bloß gewundert das es mit NIL nicht klappt... Na..ja ... auf Dich ist wie immer Verlaß... Besten DANK Paul Jr. |
Weisst Du, warum ich nicht die Deutsche Delphi Version nutze? Wegen der schlecht übersetzten Hilfe. Hier das Original
Zitat:
|
Ach so... mein Problem aber ist...das ich es später mit
IF a = NIL THEN dieses Wert abfrage... was schlägst Du jetzt vor...? Gruß Paul Jr. |
if Length(a) = 0 then ...
|
Hi Leute,
jetzt sehe ich (in Englisch,he,he)... Danke jbg ... Danke Sakura Gruß Paul Jr. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:26 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