動態edit free時會出現 error |
答題得分者是:BOSS
|
chubby
一般會員 發表:43 回覆:65 積分:21 註冊:2003-05-13 發送簡訊給我 |
unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls; type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure Edit1Exit(Sender: TObject);
public
{ Public declarations }
end; var
Form1: TForm1;
edit:Tedit; // 動態 (在 PageControl 裡 TabSheet2 使用) implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject);
begin
Edit:=TEdit.Create(Self);
Edit.Parent:=Self;
Edit.Height:=29;
Edit.Width:=50;
Edit.Left:=280;
Edit.MaxLength:=4;
Edit.Top:=200;
Edit.Font.Size:=16;
Edit.SetFocus;
Edit.OnExit:=Edit1Exit;
end; procedure TForm1.Edit1Exit(Sender: TObject);
begin
showmessage('ok');
edit.Free; //是否我free有誤 ,如將 不執行free,就無問題,可是回
TabSheet1,看到動態 edit ???
end; edit.Free; 時會出現access violation at address 00403c58 in module "projexct.exe" read of address 00e0c000
|
BOSS
中階會員 發表:70 回覆:79 積分:64 註冊:2006-11-01 發送簡訊給我 |
|
change.jian
版主 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
|
chubby
一般會員 發表:43 回覆:65 積分:21 註冊:2003-05-13 發送簡訊給我 |
hi change.jian
我想你的問題應該出在Edit1Exit事件裡.在這裡,你的Edit給free了,那麼程式執行完Exit之後,要回到那裡?建議你應該在其他地方呼叫Edit.free
<>
在 PageControl -> PageControl1Change 或 TabSheet2 onexit 使用 free 多有問題 ? 因在 TabSheet2 -> button 才產生 動態tedit ,執行後該在那理free ? 或 <>
如何判斷 user 是否按button 產生動態Tedit, 如有在那事件中free比較洽當,不才,不會判斷動態Tedit是否已產生 freeandnil(edit) ->也是一樣 謝謝boss and change.jian 發表人 - chubby 於 2004/06/21 14:48:55
|
change.jian
版主 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
我不曉得你要的功能是什麼,只知道你現在的程式需要動態產TEdit,然後有一個Edit1Exit的事件要指給TEdit.這樣我沒有辦法幫你找到解答.其實你現在只是沒辦法決定在何時應該去free你動態產生的TEdit而已.你可以試著說明一下你要寫出什麼樣功能的程式,或著TEdit是用來做什麼用的,這樣我或者可能幫你找到解決的方法. 當然,你可以在Form.OnDestory裡去把Edit釋放掉,一定沒問題.只是不曉得這是不是你想要的而已
引言: hi change.jian 我想你的問題應該出在Edit1Exit事件裡.在這裡,你的Edit給free了,那麼程式執行完Exit之後,要回到那裡?建議你應該在其他地方呼叫Edit.free <> 在 PageControl -> PageControl1Change 或 TabSheet2 onexit 使用 free 多有問題 ? 因在 TabSheet2 -> button 才產生 動態tedit ,執行後該在那理free ? 或 <> 如何判斷 user 是否按button 產生動態Tedit, 如有在那事件中free比較洽當,不才,不會判斷動態Tedit是否已產生 freeandnil(edit) ->也是一樣 謝謝boss and change.jian 發表人 - chubby 於 2004/06/21 14:48:55 |
BOSS
中階會員 發表:70 回覆:79 積分:64 註冊:2006-11-01 發送簡訊給我 |
|
chubby
一般會員 發表:43 回覆:65 積分:21 註冊:2003-05-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |