Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Compilermeldung E2100 Datentyp zu groß: 2 GB überschritten? (https://www.delphipraxis.net/185257-compilermeldung-e2100-datentyp-zu-gross-2-gb-ueberschritten.html)

newbe 26. Mai 2015 11:01

Delphi-Version: XE7

Compilermeldung E2100 Datentyp zu groß: 2 GB überschritten?
 
Hallo allerseits,

Ich bekomme folgende Compilerfehlermeldung...

[dcc32 Fehler] GraphicUtilities.pas(147): E2100 Datentyp zu groß: 2 GB überschritten

..und weis leider nicht warum.

es hängt mit folgender Konstantendeklaration zusammen.

Delphi-Quellcode:
const
  SortGlyphs: array[TSortDirection, Boolean] of Integer = ( // ascending/descending, normal/XP style
    (3, 5) {ascending}, (2, 4) {descending}
  );

der ensprechende Aufruf sieht so aus...

Delphi-Quellcode:
SortIndex:= SortGlyphs[Sender.SortDirection, tsUseThemes in Sender.Treeview.TreeStates];
Wenn ich die beiden Sachen auskommentiere läuft alles, Code wieder rein bekomme ich das...

[dcc32 Fehler] GraphicUtilities.pas(147): E2100 Datentyp zu groß: 2 GB überschritten
[dcc32 Fehler] GraphicUtilities.pas(149): E2072 Anzahl der Elemente (2) weicht von der Deklaration (0) ab
[dcc32 Fehler] GraphicUtilities.pas(280): E2010 Inkompatible Typen: 'Integer' und 'TSortDirection'

Der Gag ist das der Code in der VirtualTrees unit so ohne Probleme läuft. Ich habe nur die Konstanten in meine Unit übernommen, da diese von Außen nicht zugänglich war. Kann mir jemand einen Tip geben?

mfg newbe

himitsu 26. Mai 2015 11:35

AW: Compilermeldung E2100 Datentyp zu groß: 2 GB überschritten?
 
Falls TSortDirection zufällg das TSortDirection aus der ShlObj ist, dann kannst du dir selber erklären, warum das nicht geht ... Schau mal nach wie das Deklariert ist.

Delphi-Quellcode:
array[TSortDirection, Boolean] = array[Integer, Boolean] = array[MinInt..MaxInt, False..True]

Ein 32 GB kleines Array würde ich auch nicht in den Speicher bekommen. :stupid:

Versuch es mal so
Delphi-Quellcode:
array[SORT_DESCENDING..SORT_ASCENDING, Boolean] of {TSortDirection?}Integer
.
PS: Das "nicht sortieren" nicht vergessen mit zu definieren.

newbe 26. Mai 2015 12:14

AW: Compilermeldung E2100 Datentyp zu groß: 2 GB überschritten?
 
@himitsu

TSortdirection sollte eigentlich eine Klasse in der Treeview unit sein. Dann nimmt er da nur den falschen Datentypen. Vielen Dank an Dich, werde das gleich nachm essen mal checken. :)

mfg newbe

//Edit: Lübbt alles, vielen Dank nichmal himitsu :)

himitsu 26. Mai 2015 12:45

AW: Compilermeldung E2100 Datentyp zu groß: 2 GB überschritten?
 
Das XE1 ist vielleicht noch zu alt dafür ... Fand nur das eine TSortDirection. :stupid:

newbe 28. Mai 2015 12:43

AW: Compilermeldung E2100 Datentyp zu groß: 2 GB überschritten?
 
Ich meinte der Virtual Treewiew himi. ;)
Aber deine Antwort hat mir trotzdem sehr geholfen.

mfg newbe


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:15 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