首页  编辑  

IDE和Applicatino.Title的问题

Tags: /超级猛料/IDE.集成开发环境/IDE 环境/   Date Created:

问题

在项目文件中{DPR}写一句

Application.Title := AppTitle;

其中AppTitle在另外一个单元里声明

如下

....

resourcestring

 AppTitle = 'XXXXXXXXXXXXXXXX';

...

如此导致DELPHI IDE出错。没有反应

运行环境 Win2k + Delphi5.0

疑是resourcestring声明不同

又用const试了一下,又是一样

继续查询在Forms中设置时函数声明

procedure SetTitle(const Value: string);

呵呵,有const限定符是说该值在函数内部不能更改

但奇怪的是我将const除去就可以了,为什么会这样子呢?

将const去除,就可以运行了。

指的是

procedure SetTitle(const Value: string);

一下子想不通,请各位发表一下意见

我的D五打过补丁

回复人: Kingron(单身走我路……) (  ) 信誉:112  2002-09-05 19:01:00  得分:0  

  我猜想,这是因为Delphi的IDE会自动管理Application Options,其中就有一项是Application.Title然而,这个管理是在设计的时候的,就是说Delphi的IDE没有办法分析DPR文件中的变量或者常量,因此Delphi的IDE就干脆Disable了事儿!你打开Project Options对话框就明白了。

 

你可以用{$I指令来解决这个问题:

program Project1;

uses

 Forms,

 Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

const

 MY_CONST='Test';

begin

 Application.Initialize;

{$I MYCONST.txt}

 Application.CreateForm(TForm1, Form1);

 Application.Run;

end.

///MYCONST.txt文件内容如下:

Application.Title:=MY_CONST;

然后你在其他的地方定义MY_CONST即可。

这样你的程序不会有任何影响,而Delphi的IDE也不会有任何影响,这个应该是比较完美的解决方法了。