是这样,主窗体MainForm是开始就加载,其它是动态的。窗体PicForm是通过以下动态生成窗体函数加载://显示窗体
function ExeForm(AFormClass:TFormClass):Boolean;Overload;
begin
Screen.Cursor:= crHourGlass;
with AFormClass.Create(Application) do
begin
Screen.Cursor:= crDefault;
Position:=poScreenCenter;
Show; //改为另一种方式会出错
end;
end;而窗体PicCutForm又是在Picform上加载,也是通过上面的函数,因为窗体PicCutForm要调用PicForm里image1的长,宽。。但运行程序后,一打开PicCutForm就出错,为什么啊。。我把上面那个函数的SHOW改成Showmodal也不行
全部改为类似于以下的方式也不行 if not Assigned(PicCutForm) then PicCutForm.Free;
Screen.Cursor:=crHourGlass;
PicCutForm:=TPicCutForm.Create(self);
PicCutForm.Position:=poScreenCenter;
Screen.Cursor:=crDefault;
PicCutForm.Show;什么原因啊?好怪啊!折腾了近一个上午
function ExeForm(AFormClass:TFormClass):Boolean;Overload;
begin
Screen.Cursor:= crHourGlass;
with AFormClass.Create(Application) do
begin
Screen.Cursor:= crDefault;
Position:=poScreenCenter;
Show; //改为另一种方式会出错
end;
end;而窗体PicCutForm又是在Picform上加载,也是通过上面的函数,因为窗体PicCutForm要调用PicForm里image1的长,宽。。但运行程序后,一打开PicCutForm就出错,为什么啊。。我把上面那个函数的SHOW改成Showmodal也不行
全部改为类似于以下的方式也不行 if not Assigned(PicCutForm) then PicCutForm.Free;
Screen.Cursor:=crHourGlass;
PicCutForm:=TPicCutForm.Create(self);
PicCutForm.Position:=poScreenCenter;
Screen.Cursor:=crDefault;
PicCutForm.Show;什么原因啊?好怪啊!折腾了近一个上午
解决方案 »
- dephi l联合定义
- 关于sybase存储过程 参数默认值
- 20万条记录用cds或者直接用query的 append 方法插入到数据库中,应该注意哪些细节来,提高处理的速度?
- 动态创建窗体
- 如何使主窗口初始显示为最大化并屏蔽最大化,最小化按钮?
- 高分急问:怎么解决读文件速度慢的问题:读一个TXT文件,3000行数据居然用了8分钟!!
- 我要在delphi中调用dos命令nbtstat,并得到对方物理地址及机器名!
- 在线关注,请大家帮个忙?
- 各位大虾,请教一个问题.
- 大家好!我是Jera,我的贴子被删掉了。。呜呜,账号被封掉了。我想给分也错啊??。。。。。
- dll panel类中的重载 有时响应有时,不响应?
- shockwaveflash控件的问题
不过在楼主的描述和代码中,我认为可能原因如下:(不一定对,楼主可一试)
假如你的TFormClass的定义类似为Type TFormClass=Class of TForm,我觉得问题可能会出在这一句:
with AFormClass.Create(Application) do
窗体的创建我没有见过这样的创建函数,一般我都是用Application.CreateForm(TForm1, Form1);
两个参数分别是待创建的窗体对象类名及其实例名
楼主可以改为Application.CreateForm(AFormClass,aForm)试试
with AFormClass.Create(Application) do
begin
Screen.Cursor:= crDefault;
Position:=poScreenCenter;
Show; //改为另一种方式会出错
end;
这句话并没有把生成的窗体对象赋值给一个全局的form变量,而且也并没有作为另一个窗体的属性穿给它,那么在另一个窗体中应该是无法访问到的,不知道你另一个窗体的访问代码是怎么写的