但是發現一個問題,所有的例子的列舉型態都沒有額外設值,於是程式碼都可以使用,但若額外設值如下程式碼
程式碼:
[code delphi]
type TMyFstType = (fs1, fs2, fs3);
type TMySedType = (sd=0, sd=1, sd=2);
type TMythdType = (td=0, td=2);
type TMyfthType= (ft=1, ft=2);
//接著在函式中使用
implementation
procedure aProc;
var
fst : TMyFstType;
sed : TMySedType;
thd : TMyThdType;
fth : TMyfthType;
begin
// some initializations
showMessage(GetEnumName(TypeInfo(TMyFstType), Ord(fst)));
showMessage(GetEnumName(TypeInfo(TMySedType), Ord(sed)));
showMessage(GetEnumName(TypeInfo(TMyThdType), Ord(thd)));
showMessage(GetEnumName(TypeInfo(TMyfthType), Ord(fth)));
end;
[/code]type TMySedType = (sd=0, sd=1, sd=2);
type TMythdType = (td=0, td=2);
type TMyfthType= (ft=1, ft=2);
//接著在函式中使用
implementation
procedure aProc;
var
fst : TMyFstType;
sed : TMySedType;
thd : TMyThdType;
fth : TMyfthType;
begin
// some initializations
showMessage(GetEnumName(TypeInfo(TMyFstType), Ord(fst)));
showMessage(GetEnumName(TypeInfo(TMySedType), Ord(sed)));
showMessage(GetEnumName(TypeInfo(TMyThdType), Ord(thd)));
showMessage(GetEnumName(TypeInfo(TMyfthType), Ord(fth)));
end;
則 fst與sed的敘述是可以執行無誤的,但thd與fth則會產生type TmyThdType has no type info//fth則為TMyfthType
翻了BDN..發現也有類似的問題 http://qc.borland.com/wc/qcmain.aspx?d=7992
請問有人遇過這樣的問題嗎?這是bug還是?