关于读写数据时的message问题 |
尚未結案
|
liangzai
初階會員 發表:77 回覆:91 積分:33 註冊:2004-08-13 發送簡訊給我 |
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
|
liangzai
初階會員 發表:77 回覆:91 積分:33 註冊:2004-08-13 發送簡訊給我 |
hi,sos_admin
我现在是在form1中使用form3,当form3消失之后,程序会返回到最开始的状态,也就是form1最开始的状态,为什么?我就想恢复正常状态就好了。 ST3:=TStringList.Create;
ST4:=TStringList.Create;
if(opendialog2.Execute) and (copy(opendialog2.FileName,2,2)=':\') then
begin
fname:=opendialog2.FileName;
ST3.LoadFromFile(fname);
end; for M:= 0 to ST3.Count-1 do
begin
form3.Show;
ST4.Delimiter := #9; // TAB 鍵
ST4.DelimitedText := ST3[M];
for N:=0 to ST4.Count-1 do
self.SQLStoredProc4.Params[N].AsString:=ST4[N];
self.SQLStoredProc4.ExecProc;
form3.Update;
end;
ST4.Free;
ST3.Free;
end;
form3.Free;
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
不太理解您是什么意思?我实做一下如下:
procedure TForm1.Button1Click(Sender: TObject); var UpdateFrm: TForm; //您的提示窗口 i: Integer; str: string; begin str := '正在处理数据... '; UpdateFrm := TForm.Create(self); UpdateFrm.Caption := '提示'; UpdateFrm.FormStyle := fsStayOnTop; UpdateFrm.BorderStyle := bsSingle; UpdateFrm.Height := 60; UpdateFrm.Width := 260; UpdateFrm.Position := poScreenCenter; UpdateFrm.BorderIcons:=[]; UpdateFrm.Show; for i := 0 to 800 do begin UpdateFrm.Caption := '提示'; UpdateFrm.Canvas.TextOut(60,10,str Inttostr(i)); UpdateFrm.Update; Sleep(5); Application.ProcessMessages; end; UpdateFrm.Free; Application.MessageBox('处理完毕!', '系统提示', MB_OK MB_ICONINFORMATION); end;风花雪月 e梦情缘 网络代号:wnhoo or sos_admin 网名:e梦缘 Mail:wnhoo@163.com |
liangzai
初階會員 發表:77 回覆:91 積分:33 註冊:2004-08-13 發送簡訊給我 |
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
|
liangzai
初階會員 發表:77 回覆:91 積分:33 註冊:2004-08-13 發送簡訊給我 |
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
var
UpdateFrm: TForm; //您的提示窗口
i: Integer;
str: string;
begin
str := '正在处理数据... ';
UpdateFrm := TForm.Create(self);
............. 我是采用动态方式创建提示窗口的,你的好像不是,那么也就无需自己Free了 如果你通过Login form 调出 form1 然后 show 提示窗口form3
那么form1的button1事件后是不会跳到loginform 上的,除非你这个button1 的onclick事件中有close等退出语句! 风花雪月 e梦情缘
网络代号:wnhoo or sos_admin
网名:e梦缘
Mail:wnhoo@163.com
|
liangzai
初階會員 發表:77 回覆:91 積分:33 註冊:2004-08-13 發送簡訊給我 |
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
你可以新建一个工程,用我提供代码
procedure TForm1.Button1Click(Sender: TObject); var UpdateFrm: TForm; //您的提示窗口 i: Integer; str: string; begin str := '正在处理数据... '; UpdateFrm := TForm.Create(self); UpdateFrm.Caption := '提示'; UpdateFrm.FormStyle := fsStayOnTop; UpdateFrm.BorderStyle := bsSingle; UpdateFrm.Height := 60; UpdateFrm.Width := 260; UpdateFrm.Position := poScreenCenter; UpdateFrm.BorderIcons:=[]; UpdateFrm.Show; for i := 0 to 800 do begin UpdateFrm.Caption := '提示'; UpdateFrm.Canvas.TextOut(60,10,str Inttostr(i)); UpdateFrm.Update; Sleep(5); Application.ProcessMessages; end; UpdateFrm.Free; Application.MessageBox('处理完毕!', '系统提示', MB_OK MB_ICONINFORMATION); end;试验一下,肯定没问题! 你的问题可能不是动态提示框问题,而是你程序其他问题。 你可以将你程序传过来,或者贴上相关完整代码。然后才能知道你问题所在 风花雪月 |
liangzai
初階會員 發表:77 回覆:91 積分:33 註冊:2004-08-13 發送簡訊給我 |
|
liangzai
初階會員 發表:77 回覆:91 積分:33 註冊:2004-08-13 發送簡訊給我 |
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
简单来说就是updatefrm被free之后,就会回到form1,由于form1设定了form.activate事件,就会执行这个事件,接下来的界面就不是预期希望的了
======================================================= button form ,具有OnActivate事件产生效果,是在这个窗体变成活动时候发生,比如窗体show时候,还有就是提示窗体show -> free ,那么button窗体从不活动变成活动时候也会发生这个事件. 你可以这样避免面: procedure TForm1.Button1Click(Sender: TObject);
var
UpdateFrm: TForm; //您的提示窗口
i: Integer;
str: string;
begin
Self.OnActivate:=nil;
str := '正在处理数据... ';
UpdateFrm := TForm.Create(self);
UpdateFrm.Caption := '提示';
UpdateFrm.FormStyle := fsStayOnTop;
UpdateFrm.BorderStyle := bsSingle;
UpdateFrm.Height := 60;
UpdateFrm.Width := 260;
UpdateFrm.Position := poScreenCenter;
UpdateFrm.BorderIcons:=[];
UpdateFrm.Show;
for i := 0 to 800 do
begin
UpdateFrm.Caption := '提示';
UpdateFrm.Canvas.TextOut(60,10,str Inttostr(i));
UpdateFrm.Update;
Sleep(5);
Application.ProcessMessages;
end;
UpdateFrm.Free;
Application.MessageBox('处理完毕!', '系统提示', MB_OK
MB_ICONINFORMATION);
Self.OnActivate:= FormActivate;
end; 风花雪月 e梦情缘
网络代号:wnhoo or sos_admin
网名:e梦缘
Mail:wnhoo@163.com
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |