我已经用 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;
答案 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;