迁移到Delphi 2009 - 无效的Typecast错误

时间:2009-09-22 08:07:58

标签: delphi delphi-2009 graphicex

我正在将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中编译时遇到问题。编译错误是“Invalid Typecase”。问题是因为类型转换FType是整数到TScRec这是一个记录。

这里的某些人是否有与Delphi 2009相同的问题并且有解决方案。

THX

1 个答案:

答案 0 :(得分:12)

“char”现在是一个2字节的数据类型。如果您将声明更改为“ansichar”会发生什么? (这相当于Delphi中的“char”< = 2007)。