Sto usando Delphi 6 Professional. Sto interfacciamento con un Libraty DLL che dichiara un tipo enumberated come segue:Come ripetere i tipi enumerati inizializzati con Delphi 6 ed evitare l'errore "fuori dai limiti"?
TExtDllEnum = (ENUM1 = $0, ENUM2 = $1, ENUM3 = $2, ENUM4 = $4, ENUM5 = $8, ENUM6 = $10);
Come potete vedere i valori inizializzati non sono contigue. Se provo a iterare il tipo utilizzando un ciclo come segue:
var
e: TExtDllEnum;
begin
for e := Low(TExtToDllEnum) to High(TExtToDllEnum) do
... // More code
end;
Delphi incrementa ancora e di 1 ogni invocazione ciclo e quindi crea valori numerici e che non sono membri del tipo enumerato (per esempio, ' 3 ') e risultante in un errore' fuori limite '. Come posso iterare il tipo enumerato in un ciclo for che genera solo valori validi per il tipo enumerato?
Grazie.