不兼容的类型:'TFormStyle'和'TTeeFontStyle'

时间:2013-09-24 01:36:37

标签: delphi delphi-xe2 delphi-2009

我已经用 Delphi 2009 编写了代码,并将我的 CodeGear Delphi更新为XE2 。它与 Delphi 2009 完美编译,但现在却没有!它反过来给了我这个错误:

[DCC错误]不兼容的类型:'TFormStyle'和'TTeeFontStyle'! 我尝试创建一个新的 Vcl Forms Application 并编写生成此错误的命令:

Form1.FormStyle := FsNormal;

它编译得也很完美,我不知道为什么会发生这种情况,虽然我相信我的语法没有问题,请帮助,谢谢。 这是不编译的代码:

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
begin
KeyPreview := True;
case Msg.message of
WM_KEYDOWN:
  if Msg.wParam = 27 then
  begin
    form1.Menu:=mainmenu1;
    fullscreen1.Checked:=false;
    form1.formstyle:=fsnormal;
    form1.BorderStyle:=bssizeable;
  end
  else
  if msg.wParam=VK_f5 then
  begin
    browser.Navigate(memo2.Text);
  end;
  end;
end;
end;

3 个答案:

答案 0 :(得分:5)

与某些TeeChart模块存在名称冲突,该模块位于“use”子句中。您可以编写完整的限定标识符名称来解决此问题:

formstyle := Vcl.Forms.fsnormal;

P.S。请注意,我也删除了"form1."限定符。通常它在表单方法体中不是很有用,有时甚至是有害的(假设你有多个TForm1实例)

答案 1 :(得分:1)

除了MBo的答案之外,我认为最好使用:

Self.formstyle := Vcl.Forms.fsnormal;

当你有多个TForm1实例时,这将始终调整你当时正在使用的实例。

答案 2 :(得分:0)

使用来自的特定枚举类型限定值:

Form1.FormStyle := TFormStyle.fsNormal;

甚至:

Form1.FormStyle := Vcl.Forms.TFormStyle.fsNormal;