0

我用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;
4

3 回答 3

5

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

formstyle := Vcl.Forms.fsnormal;

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

于 2013-09-24T03:34:10.073 回答
1

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

Self.formstyle := Vcl.Forms.fsnormal;

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

于 2013-09-24T07:25:31.170 回答
0

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

Form1.FormStyle := TFormStyle.fsNormal;

甚至:

Form1.FormStyle := Vcl.Forms.TFormStyle.fsNormal;
于 2013-09-24T18:18:21.427 回答