GetEnumName return incorrect value.
Original Reporter info from Mantis: taka_jp
-
Reporter name: removed
Original Reporter info from Mantis: taka_jp
- Reporter name: removed
Description:
uses db, typinfo;
procedure TForm1.Button1Click(Sender: TObject);
var
E : TBlobType;
s : string;
begin
s := Format('TBlobType : '
+' Low[%d] high[%d] high-low=%d'
+ sLineBreak
+ 'Ord(E) , GetEnumName(TypeInfo(TBlobType),Ord(E))'
,[Ord(Low(TBlobType))
, Ord(High(TBlobType))
, Ord(High(TBlobType))
- Ord(Low(TBlobType))
]) + sLineBreak;
for E := Low(E) to High(E) do
s := s
+ Format(
'Ord[%d] , Name[%s]'
,[Ord(E), GetEnumName(TypeInfo(TBlobType),Ord(E))]
) + sLineBreak;
// memo1.Text:=s;
ShowMessage(s);
end;
{
TFieldType = (ftUnknown, ftString, ftSmallint, ftInteger, ftWord, // 5
ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, //7 sum12
ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo, //7 sum19
ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, // 5 sum 24
ftWideString, ftLargeint, ftADT, ftArray, ftReference, //5 sum 29
ftDataSet, ftOraBlob, ftOraClob, ftVariant, ftInterface, // 5 sum 34
ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd, ftFixedWideChar, ftWideMemo); // 6 sum 40
TBlobType = ftBlob..ftWideMemo;
}
TBlobType : Low[15] high[39] high-low=24
Ord(E) , GetEnumName(TypeInfo(TBlobType),Ord(E))
Ord[15] , Name[ftOraBlob]
Ord[16] , Name[ftOraClob]
Ord[17] , Name[ftVariant]
Ord[18] , Name[ftInterface]
Ord[19] , Name[ftIDispatch]
Ord[20] , Name[ftGuid]
Ord[21] , Name[ftTimeStamp]
Ord[22] , Name[ftFMTBcd]
Ord[23] , Name[ftFixedWideChar]
Ord[24] , Name[ftWideMemo]
Ord[25] , Name[]
Ord[26] , Name[]
Ord[27] , Name[]
Ord[28] , Name[]
Ord[29] , Name[]
Ord[30] , Name[]
Ord[31] , Name[]
Ord[32] , Name[]
Ord[33] , Name[]
Ord[34] , Name[]
Ord[35] , Name[eBCDException]
Ord[36] , Name[]
Ord[37] , Name[]
Ord[38] Name[...
Ord[39] Name[...
Mantis conversion info:
- Mantis ID: 15377
- Version: 2.5.1
- Fixed in version: 2.6.0
- Fixed in revision: 14461 (#8cecea9b)