![]() |
Delphi-Version: XE3
Aufzählungstyp und Array: Fehler beim Zugriff per Index
Hallo,
bei einem Array aus einem Aufzählungstyp bekomme ich nur Fehler beim Zugriff auf die Elemente (bei "anteil_typ[i_typ] := 0"). Wenn ich im Debugger mir die Variable anteil_typ anschaue, ist hier der Index 0..2 gegeben. Ist dieser Index nur intern oder liegt irgendwo in der Definition der Fehler? Ich komm irgendwie nicht drauf. Der Fehler: Exception-Klasse $C0000005 mit der Meldung 'c000005 ACCESS_VIOLATION'.
Code:
Folgendes Beispiel habe ich
TAufzaehlungstyp = (tA, tB, tC);
[...] var i_typ: TAufzaehlungstyp ; anteil_typ: array[TAufzaehlungstyp] of double; [...] for i_typ:= low(TAufzaehlungstyp) to high(TAufzaehlungstyp) do begin anteil_typ[i_typ] := 0; end; ![]()
Code:
Vielen Dank für jeden Hinweis!
type
TWeekDay = (wdMon, wdTue, wdWed, wdThu, wdFri, wdSat, wdSun); var wd : TWeekDay; Income : array[TWeekDay] of double; sum : double; begin sum := 0; for wd:=wdMon to wdFri do sum := sum + Income[wd]; end; |
AW: Aufzählungstyp und Array: Fehler beim Zugriff per Index
Der TAufzaehlungstyp Code ist korrekt.
|
AW: Aufzählungstyp und Array: Fehler beim Zugriff per Index
Der Code funktioniert, zu beachten ist, dass die Variable i_typ nur lokal definiert werden sollte, sie ist nur innerhalb der for-Schleife gültig.
|
AW: Aufzählungstyp und Array: Fehler beim Zugriff per Index
Zitat:
|
AW: Aufzählungstyp und Array: Fehler beim Zugriff per Index
Richtig :thumb:
|
AW: Aufzählungstyp und Array: Fehler beim Zugriff per Index
Zitat:
|
AW: Aufzählungstyp und Array: Fehler beim Zugriff per Index
Zitat:
|
AW: Aufzählungstyp und Array: Fehler beim Zugriff per Index
Irgend etwas verheimlichst Du uns. Folgender Code läuft problemlos:
Delphi-Quellcode:
program Aufzaehlungstyp;
{$APPTYPE CONSOLE} type TAufzaehlungstyp = (tA, tB, tC); var i_typ: TAufzaehlungstyp ; anteil_typ: array[TAufzaehlungstyp] of double; begin for i_typ:= low(TAufzaehlungstyp) to high(TAufzaehlungstyp) do begin anteil_typ[i_typ] := 0; end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:02 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