为什么我的一个FORM在程序刚启动的时候就突显一下(我在FORMCREATE没有写任何代码)呀?(100分)

K

kscitic

Unregistered / Unconfirmed
GUEST, unregistred user!
其他的FORM都没有突显一下(很快的闪一下那个FORM),我将那FORM从AUTO-TO-CREATE去除
,程序启动时总算不闪那窗口了,但是我手动创建那对象后再调用他的时候又出现了快速的
闪了一下关掉了,然后又正常的显示那FORM了。或者说问题一般会出在哪?这是什么问题?
 
是不是处于最大化状态?
否则,就要仔细看代码了
调试以下,看看
 
是否用第3方控件了!
 
把代码贴出来看看
 
现将代至粘出,问题出在procedure Tmain_form.N5Click(Sender: TObject);这段里面,
而且为什么不能SHOWMODAL呢?其它几个自动创建的都可以用showmoda的。

unit u_main;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus;

type
Tmain_form = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
procedure N8Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure test1Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N10Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
main_form: Tmain_form;

implementation

uses u_jkhtlr, u_jkrxxwh, u_dkht_print, u_dkrxxwh, u_jkhtlr_edit, u_jkhtlr_delete,u_dm,
u_report801, u_print, u_report801_back;

{$R *.dfm}

procedure Tmain_form.N8Click(Sender: TObject);
begin
jkrxxwh_form.ShowModal;
end;

procedure Tmain_form.N9Click(Sender: TObject);
begin
dkrxxwh_form.ShowModal;
end;

procedure Tmain_form.N4Click(Sender: TObject);
begin
dm_main.ADOT_JKHTLR.Open;
DM_MAIN.ADOT_TKR.Open;
DM_MAIN.ADOT_HKR.Open;
jkhtlr_form.ShowModal;

end;

procedure Tmain_form.test1Click(Sender: TObject);
begin
dkrxxwh_form.ShowModal;
end;

procedure Tmain_form.N5Click(Sender: TObject);
var
jkht_edit_form:Tjkht_edit_form;
begin
jkht_edit_form:=Tjkht_edit_form.Create(self);
dm_main.ADOT_JKHTLR.Open;

jkht_edit_form.Show;
end;

procedure Tmain_form.N6Click(Sender: TObject);
begin
dm_main.ADOT_JKHTLR.Open;
jkht_delete_form.showmodal;
end;

procedure Tmain_form.N12Click(Sender: TObject);
begin
report_form.QuickRep1.PrinterSetup;
end;

procedure Tmain_form.N10Click(Sender: TObject);
begin
dm_main.ADOT_JKHTLR.Open;
form2.show;
end;

end.
 
jkht_edit_form:=Tjkht_edit_form.Create(self);
把 self 改成 nil 或 application 或"主Form" 试试!
 
可能是构件不能在运行时创建.把所有构件剪切掉运行看看.
 
改成APPLICATION试过了
 
jkht_edit_form:=Tjkht_edit_form.Create(self);
dm_main.ADOT_JKHTLR.Open; //应该是这一句的影响!这一句是干什么的,有可能的话放到前面去
jkht_edit_form.Show;
改成下面的试试:

dm_main.ADOT_JKHTLR.Open;
jkht_edit_form:=Tjkht_edit_form.Create(self);
jkht_edit_form.Show;

2 你可以试试设置 AUTO-TO-CREATE 是否正常
 
问题解决了,我一开始创建的窗口是个标准窗口(没有撑满整个屏幕), 然后我
又将其ALIGN设成了ALCLIENT,就出现了这个问题。谢谢!
 
顶部