主Unit中有如下函数:
procedure TForm1.RuKuExecute(Sender: TObject);
begin
SetCursor(LoadCursor(0,IDC_WAIT));
LockWindowUpdate(Handle);
if Assigned(CGIn) then
begin
CGIn.BringToFront;
Panel1.Visible := False;
end
else
begin
CGIn := TCGIn.Create(Self);
CGIn.Show;
CGIn.BringToFront;
Panel1.Visible := False;
end;
LockWindowUpdate(0);
SetCursor(LoadCursor(0,IDC_ARROW));
end;
这是一个下拉菜单的click函数。
另外就是click后弹出窗体的函数:
CGIn.Width:=575;
CGIn.Height:=414;
DateTimePicker1.Date:=now;
DateTimePicker2.Date:=now;
但运行时会出错,说什么地址冲突。如果不加调整窗体高度和宽度的语句,就不出错
请问是什么原因??
procedure TForm1.RuKuExecute(Sender: TObject);
begin
SetCursor(LoadCursor(0,IDC_WAIT));
LockWindowUpdate(Handle);
if Assigned(CGIn) then
begin
CGIn.BringToFront;
Panel1.Visible := False;
end
else
begin
CGIn := TCGIn.Create(Self);
CGIn.Show;
CGIn.BringToFront;
Panel1.Visible := False;
end;
LockWindowUpdate(0);
SetCursor(LoadCursor(0,IDC_ARROW));
end;
这是一个下拉菜单的click函数。
另外就是click后弹出窗体的函数:
CGIn.Width:=575;
CGIn.Height:=414;
DateTimePicker1.Date:=now;
DateTimePicker2.Date:=now;
但运行时会出错,说什么地址冲突。如果不加调整窗体高度和宽度的语句,就不出错
请问是什么原因??
这样一定会出错的,动太form的创建和释放都要自己完成的。
这个不是创建吗?现在还没到释放的时候,关闭窗口的时候才要释放啊。
现在是弹出Form就已经出错了。
你在用CGIn.Width:=575;的时候CGIn对象还没创建,当然会出错了,你调试看看用
if assigned(CGIn) then
CGIn.Width:=575;
看看,如果不出错,就表示你的CGIn还没创建
if assigned(CGIn) then
CGIn.Width:=575;
这样写后,没出错,但没作用。只要在click事件中添加,仍然是错的。
另外编译到 CGIn := TCGIn.Create(Self); 时出错。
CGIn.Height:=414;
DateTimePicker1.Date:=now;
DateTimePicker2.Date:=now;
是在什么地方写的?如果是show里面,可以把cgin去掉,直接写width,height