2

GraphicEx プロジェクトを Delphi 2009 に変換しています。

ユニットScanf_c.pasで次の手順を変換するのに問題があります。問題は次のとおりです。

  With TscRec(FType) do begin

FType は整数で、TscRec は次のように定義されています。

  TscRec = packed record  // Has size of an integer
      Case byte of
        0: ( Typ : byte; Size : char; Flags : word;);
        1: ( SizeType : word; iFlags : smallInt;);
      end;

このコードは Delphi 2007 では正常に動作しているようですが、Delphi 2009 でコンパイルすると問題が発生します。コンパイラ エラーは「無効なタイプケース」です。この問題は、整数である FType をレコードである TScRec に型キャストすることが原因です。

ここの誰かが Delphi 2009 で同じ問題を抱えていて、解決策を持っていますか?

どうも

4

1 に答える 1

12

「char」は 2 バイトのデータ型になりました。宣言を「ansichar」に変更するとどうなりますか? (これは、Delphi <= 2007 の「char」に相当します)。

于 2009-09-22T08:14:36.197 に答える