问题
在项目文件中{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也不会有任何影响,这个应该是比较完美的解决方法了。