application.title(50分)

  • 主题发起人 主题发起人 happyxhl
  • 开始时间 开始时间
H

happyxhl

Unregistered / Unconfirmed
GUEST, unregistred user!
如下代码:
var
s:string;
begin
Application.Initialize;
s:=GetTitleName; //获得程序标题
Application.Title := s; //注释此句没问题
Application.CreateForm(TDM, DM);
Application.CreateForm(TMainForm,MainForm);
Application.Run;
end.
为何加上Application.Title :=s后DELPHI便后Disable掉Run菜单,无法运行,且如果保存,则下次无法打开源程序,出错:Error in module:Call to Application.CreateForm is missing or incorrect.请各位出出主意啊。
 
用记事本打开工程文件,把 s:=GetTitleName; //获得程序标题删掉重新打开就好了.
 
Title应在Project/Options的Application中设置Title,这样绝对不会出错。
 
这个我知道,我就是这么做的,注释掉就可以,我想知道为什么?
我的程序必须要动态设定Application的Title,有其它的招吗?
 
直接在要改变Application的title的地方加上Application.Title:=NewTitleString;就可以了呀,我试过了,没什么问题呀!为什么一定在要Project的源文件中修改呢?
 
可否改一下在主窗体的oncreate事件中设置呢?
 
Mark Lai:你没看清我的要求吧,是把变量赋给TITLE,如果是常量是没有问题,你试过没有?
wrl_001:我是写了个控件来取得TITLE名,在oncreate中写不太方便。
 
有人碰到这样的问题吗?很怪啊。
 
修改Application.Title := s;在其它的窗体中可以。
 
to: happyxhl
我是这样试的:在窗体上加上一个TEdit,一个TButton.
下面是TButton的onClick:
procedure TForm1.Button1Click(Sender: TObject);
var
NewTitle:String;
begin
NewTitle:=Edit1.Text;
Application.Title:=NewTitle;
end;
如果是在project1.exe的源代码里加上
var
NewTit:String;
begin
Application.Initialize;
//Application.Title:=NewTit;**********加上这一句确实是有问题,
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
就会出现禁止掉Run的问题,但是,如果将Application.Title:=NewTit这一句放在Application.Run之后就不会有禁止掉Run问题.不过好像不起作用.
不过我想,如果要修改Application的Title,是否一定要在project1.exe的源码里改呢?在form里修改应该也是一样的.不好意思,我确实想不出有什么理由一定要在project.exe的源码里改.
 
虽然不能运行,但可以编译,而且运行编译好的EXE是没有问题的.
另外,打不开工程的话,只要把那句TITLE的注释掉.

我的解决办法是,新建一个文本文件,命名为a.inc,内容为
Application.Title := s;
然后把工程代码改为
var
s : string;
begin
s := 'b';
Application.Initialize;
{$I a.inc}
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
 
不要在工程文件里设,
在主窗口初始化的设置就没有问题了。
 
在主窗体中加上Application.Title := NewTitle;确实可以,只是在这里想问是什么原因?我想过,是否跟DELPHI的编译器有关呢,不知大家试过没有:比如打开一个叫做ABC.DPR工程,此时,DELPHI已经将工程文件的应用程序创建,其它程序如果用
FindWindow(nil,PChar('ABC'))就会返回TRUE。我想是DELPHI打开工程时,会执行Application.Title := s;此时s未知,所以报错。不知道是否是这样?
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部