Ich benutze Delphi 6 Professional. Ich bin einer Schnittstelle mit einer DLL libraty, die eine enumberated Art erklärt sich wie folgt:Wie man initialisierte Aufzählungstypen mit Delphi 6 iteriert und den "out of bounds" -Fehler vermeidet?
TExtDllEnum = (ENUM1 = $0, ENUM2 = $1, ENUM3 = $2, ENUM4 = $4, ENUM5 = $8, ENUM6 = $10);
Wie Sie die initialisierten Werte sehen können, sind nicht zusammenhängend. Wenn ich versuche, die Art mit einer for-Schleife zu durchlaufen, wie folgt:
var
e: TExtDllEnum;
begin
for e := Low(TExtToDllEnum) to High(TExtToDllEnum) do
... // More code
end;
Delphi noch e um 1 jede Schleife Aufruf inkrementiert und schafft damit numerische Werte für E, die keine Mitglieder des aufgezählten Typs sind (beispielsweise ' 3 ') und zu einem' Out-of-bounds'-Fehler führen. Wie kann ich den Aufzählungstyp in einer for-Schleife wiederholen, die nur gültige Werte für den Aufzählungstyp generiert?
Danke.