Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Array auf 0 setzen (https://www.delphipraxis.net/1366-array-auf-0-setzen.html)

Daniel B 18. Nov 2002 20:46


Array auf 0 setzen
 
Hallöchen,

mit SetLength kann man ja die Länge des Arrays auf 0 setzen.
Warum geht es hiermit nicht?

Delphi-Quellcode:
  TKWLok = Array [1..18] of String[5];

  TMenue = Record
    KWLok: TKWLok;
  end;
Delphi-Quellcode:
SetLength(KWLok, 0);
Mit den Dynamischen kriege ich es hin, aber mit dem nicht. :oops:
Die Meldung: [Fehler] Main.pas(3329): Inkompatible Typen
Ich kann damit im mom. nichts anfangen.
Vielen Dank.

Grüsse, Daniel :hi:

Chewie 18. Nov 2002 20:51

Die Länge eines statischen Arrays ist ja konstant, also nicht zur Laufzeit änderbar. Deshalb funktioniert dein Code nicht.
Alle Einträge auf 0 setzen kannst du aber hiermit:
Code:
ZeroMemory(@KWLok,Length(KWLok);

Daniel B 18. Nov 2002 20:55

Aah, jetzt gehts, Danke Dir.

Das es zur RunTime nicht geht war mir jetzt neu.

Grüsse, Daniel :hi:

Chewie 18. Nov 2002 21:15

Zitat:

Zitat von Daniel B
Das es zur RunTime nicht geht war mir jetzt neu.

Soweit ich weiß kann man (außer vielleicht über fiese Tricks) Konstanten zur Laufzeit nicht ändern. Und Grenzen von statischen Arrays sind Konstanten. So gesehen ist es logisch, dass es nicht geht.

Daniel B 18. Nov 2002 21:24

Zitat:

Zitat von Chewie
Und Grenzen von statischen Arrays sind Konstanten. So gesehen ist es logisch, dass es nicht geht.

Klingt einleuchtend. Muss man aber auch erstmal wissen das man es so sehen muss. :mrgreen:

Grüsse, Daniel :hi:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz