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

findcomponent 一問

 
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-07-13 23:52:06 IP:210.85.xxx.xxx 未訂閱
請問各位! 我有20個led 的vcl元件置於 form2, 而我在form1欲判斷某一個 led 的 staton 值, 我在 form1 上要如何寫才對? procedure checkstate; var mled: TLEDButton; begin mled:= TLEDButton(FindComponent('LEDButton' InttoStr(j))); if mled.StateOn=False then begin ..... end; end; 上述的寫法,complier沒有問題, 但執行時會出現 Access 錯誤 我曾嘗試過 mled:= TLEDButton(FindComponent('Form2.LEDButton' InttoStr(j))); 但也會出錯, 請問我該如何下? ps:這個判斷必須寫在 form1 , 如果架在 form2 會多寫很多動作
andersonhsieh
版主


發表:33
回覆:531
積分:439
註冊:2002-06-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-07-14 01:53:08 IP:211.23.xxx.xxx 未訂閱
引言: 請問各位! 我有20個led 的vcl元件置於 form2, 而我在form1欲判斷某一個 led 的 staton 值, 我在 form1 上要如何寫才對? procedure checkstate; var mled: TLEDButton; begin mled:= TLEDButton(FindComponent('LEDButton' InttoStr(j))); if mled.StateOn=False then begin ..... end; end; 上述的寫法,complier沒有問題, 但執行時會出現 Access 錯誤 我曾嘗試過 mled:= TLEDButton(FindComponent('Form2.LEDButton' InttoStr(j))); 但也會出錯, 請問我該如何下? ps:這個判斷必須寫在 form1 , 如果架在 form2 會多寫很多動作
這一行 mled:= TLEDButton(FindComponent('LEDButton' InttoStr(j)));改成如下 mled:= TLEDButton(form2.FindComponent('LEDButton' InttoStr(j))); @@~~飛翔在天際的精靈~~@@
------
@@~~飛翔在天際的精靈~~@@
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-07-15 00:49:13 IP:203.204.xxx.xxx 未訂閱
引言: procedure checkstate; var mled: TLEDButton; begin mled:= TLEDButton(FindComponent('LEDButton' InttoStr(j))); if mled.StateOn=False then begin ..... end; end; 上述的寫法,complier沒有問題, 但執行時會出現 Access 錯誤 我曾嘗試過 mled:= TLEDButton(FindComponent('Form2.LEDButton' InttoStr(j))); 但也會出錯, 請問我該如何下? ps:這個判斷必須寫在 form1 , 如果架在 form2 會多寫很多動作
Hi,因為FindComponent是用在你要找詢物件的container 上, 而且因為 你要在 form1 上查找 form2 上的元件, 所以你必須用 mled := TLEDButton(form2.FindComponent('LEDButton' IntToStr(j))); 才可以正常的找到你要的 component, 但是你原來用的語法應該沒錯, 只是找不到 component 才對, 奇怪勒??
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-07-15 10:40:31 IP:210.85.xxx.xxx 未訂閱
引言: Hi,因為FindComponent是用在你要找詢物件的container 上, 而且因為 你要在 form1 上查找 form2 上的元件, 所以你必須用 mled := TLEDButton(form2.FindComponent('LEDButton' IntToStr(j))); 才可以正常的找到你要的 component, 但是你原來用的語法應該沒錯, 只是找不到 component 才對, 奇怪勒??
以上感謝樓上兩位指點, 謝謝! 我原先有使用 form2.Findcomponent 也會造成當機, 一度令我以為這樣寫法是錯誤的, 後來再查程式才發現, 原來程式有一個地方有錯, 造成 form2.Find...無法執行, 改過之後就可以了!
系統時間:2024-04-20 18:25:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!