全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1400
推到 Plurk!
推到 Facebook!

物件的問題...

尚未結案
arvin
一般會員


發表:12
回覆:9
積分:4
註冊:2002-09-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-06 17:30:34 IP:140.92.xxx.xxx 未訂閱
個位高手... 什麼是動態物件,什麼是靜態物件, 為什麼我寫的不用CREATE,就可以使用, 那我要如何讓我的物件要CREATE才可使用呢.... 可以例子...或文件可以參考....
StrongLemon
高階會員


發表:10
回覆:166
積分:105
註冊:2004-04-18

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-06 23:35:45 IP:203.67.xxx.xxx 未訂閱
您好: 可以貼出你寫的是什麼嗎? 例子?請看Delphi目錄/Source/VCL裡面一堆堆.. 我的建議是->先去書店找書紮實下功夫看看吧..
bruce
中階會員


發表:19
回覆:121
積分:83
註冊:2002-04-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-11 14:11:22 IP:211.21.xxx.xxx 未訂閱
什麼是動態物件,什麼是靜態物件, 動態與靜態應該是這樣區分,如果在設計期間可以看見的物件,屬於靜態物件,反之則是動態物件。 為什麼我寫的不用CREATE,就可以使用, 物件都是要經過建構才能使用,不管是動態或靜態。靜態的物件,是由Delphi在幕後,幫你建構起來的。 那我要如何讓我的物件要CREATE才可使用呢.... 假設你需要N個TEdit的物件,也就是不確定數目的物件,請問你會怎麼做? 可以例子...或文件可以參考.... 請從物件基本觀念入手... 多想,多問囉
Skyer
高階會員


發表:43
回覆:111
積分:120
註冊:2002-04-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-12 11:36:55 IP:220.139.xxx.xxx 未訂閱
Delphi 沒有你所謂的靜態物件 物件全都得以你所謂的 "動態" 來產生..    在 Delphi 中,物件全都是在 Runtime 時在 Heap Create 出來的.. 據說是(引自Inside VCL Page2-49) Anders 原本想預留把 Garbage Collection 加進去的想法,所以才設計 Object 都得動態產生    在 Delphi 宣告一個變數是某 class
var
  obja: TMyObject
這個 obja, 實際上只是個 Pointer, 就像 C 的 TMyObject *obja 一樣 所以說,在 Delphi, 物件全都得動態產生, 如直接使用,則會 Access Violation.
  obja := TMyObject.Create
這動作就是配置 obja 所需記憶體, 初始化 obja, 指定 obja 執行框架. -- Regards, Skyer
------
--
Regards,
Skyer
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-01-14 14:43:51 IP:61.221.xxx.xxx 未訂閱
arvin 你好: 靜態物件是指在編譯時就存在code的元件 動態物件是指在程式執行時由程式產生的元件 靜態物件:EX type TForm1 = class(TForm) PageControl1: TPageControl; TabSheet1: TTabSheet; Bevel1: TBevel; .... ... .. 在程式開頭的地方就宣告了.. 動態物件:EX 這樣就可以按一下SpeedButton1 就在Form1上制造一個ScrollBox procedure TForm1.SpeedButton1Click(Sender: TObject); var i,j:integer; LB1,LB2:tlabel; TE1:tedit; SS1:TScrollBox; //以上是宣告物件繼承的項目及名稱 begin //將Form1上繼承的TScrollBox物件釋放 FOR I:=0 TO Form1.ControlCount-1 DO IF Form1.Controls[I] IS TScrollBox THEN TScrollBox(Form1.Controls[I]).Free; //創造一個新物件 SS1:=TScrollBox.Create(SELF); SS1.Parent:=Form1; SS1.Width:= 260;SS1.Height:=369; SS1.Ctl3D:=FALSE; SS1.Top:=112;SS1.Left:=8; end;
------
======================
昏睡~
不昏睡~
不由昏睡~
系統時間:2024-05-21 21:03:04
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!