上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
clmao
註冊時間: 2006-04-15 文章: 57
第 1 樓
|
發表於: 星期二 五月 02, 2006 2:59 pm 文章主題: 表單呼叫表單且傳值問題! |
|
|
各位大大:
請問一下,我有兩個表單,表單A和表單B,在表單A按了一個按鈕後,會呼叫表單B,且要等待表單B執行結束後,表單B傳回一個陣列變數給表單B,然後在同一事件中(按鈕被按的程序中),表單A要繼續執行指令。
我目前遇到的情形是:
1.表單A呼叫表單B後,不會等表單B結束,就直接執行下一行指令;要如何才能讓表單A的執行程序等待表單B結束後再繼續執行?。
2.表單B要如何傳回一個陣列(例如:A(9),共九個資料)的值給A?
先謝謝各位大大的指導!謝謝! |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 2 樓
|
發表於: 星期二 五月 02, 2006 3:45 pm 文章主題: |
|
|
1.
將參數傳遞到表單
在執行表單時,為設定屬性值或者指定動作的預設值,有時需要將參數傳遞到表單。
若要將參數傳遞到在表單設計工具中建立的表單
建立容納參數的表單屬性,如 ItemName 和 ItemQuantity。
在表單的 Init 事件程序中,包含 PARAMETERS 敘述:
PARAMETERS cString, nNumber
在表單的 Init 事件程序中,將參數分配給屬性:
THIS.ItemName = cString
THIS.ItemQuantity = nNumber
當執行表單時,在 DO FORM 命令中包括一個 WITH 子句:
DO FORM myform WITH "Bagel", 24
從表單傳回值
在整個應用程式中您都可以使用表單,讓使用者指定值。
若要從表單傳回值
將表單的 WindowType 屬性設定為 1,使表單成為 Modal 表單。
在與表單的 UnLoad 事件相關的程式碼中,包含一個傳回值的 RETURN 命令。
在執行表單的程式或方法程序中,在 DO FORM 命令中包含 TO 保留字。
例如,如果 FindCust ID 是一個傳回字元值的 Modal 表單,下面的一行程式碼將傳回值傳回到一個名為 cCustID 的變數中。
DO FORM FindCustID TO cCustID
有關詳細內容,請參閱 RETURN 和 DO FORM 主旨。
2.
http://vfp.sunyear.com.tw/viewtopic.php?t=1695&highlight=%B0%7D%A6C _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 3 樓
|
發表於: 星期二 五月 02, 2006 3:48 pm 文章主題: |
|
|
一個 PUBLIC 或是 PRIVATE 陣列本來就會自動傳遞到子表單,
不需要特別的處理 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
clmao
註冊時間: 2006-04-15 文章: 57
第 4 樓
|
發表於: 星期二 五月 02, 2006 8:40 pm 文章主題: |
|
|
感謝大大的詳細回覆!
但是,經我測試仍然有下列問題,尚請大大指教,謝謝!
1.當我執行:do form pla to b時,b的值會是.T.,而不是我要傳回的值,我有確定在pla表單所return 的值是一個數字。
2.請問我在第一個表單宣告PUBLIC a[9],b ,兩個變數,然後執行do form pla2時,發現他並沒有繼承,也就是說在pla2表單內之a[9]或是b,和第一個表單的a[9]及b是不一樣的。是否子表單上要設定什麼?(如:將表單的 WindowType 屬性設定為 1,使表單成為 Modal 表單。)?
3.另外用@陣列名稱,如:do form pla2 with @a,會發生錯誤訊息,表示語法錯誤!
很抱歉!因為我是初學者,所以問了甚多問題!請大大不吝指導!謝謝! |
|
回頂端 |
|
 |
clmao
註冊時間: 2006-04-15 文章: 57
第 5 樓
|
發表於: 星期二 五月 02, 2006 8:58 pm 文章主題: |
|
|
很抱歉!上述的1.我已經知道要將傳回的值設在表單名稱的變數,(例如:do form plat to b,那麼就要將要傳回的值指定給plat變數)
但是,有發生一個問題,就是,傳回後,第一個表單就會好像當掉一樣,完全沒有作用。
我有在 do form plat to b後加入,READ events
然後在plat表單的unload中加入clear events、在按鈕命令中加入thisform.Release。
不知哪裡有問題?尚請大大不吝指導!謝謝! |
|
回頂端 |
|
 |
clmao
註冊時間: 2006-04-15 文章: 57
第 6 樓
|
發表於: 星期二 五月 02, 2006 9:22 pm 文章主題: |
|
|
個人發現程式的執行是停在READ events 中!
若是將之移除,就會向下執行,但是仍然會發生好像當機一樣,
用了debug工具看了一下!他一直執行第一個表單的activate事件。
將activate事件內程式刪掉後,就恢復正常! |
|
回頂端 |
|
 |
clmao
註冊時間: 2006-04-15 文章: 57
第 7 樓
|
發表於: 星期三 五月 03, 2006 8:29 am 文章主題: |
|
|
陣列如宣告在PUBLIC,子表單會繼承,但是好像VFP6.0不會
謝謝大大的指導!
目前,已將部分問題解決,謝謝! |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 8 樓
|
發表於: 星期三 五月 03, 2006 8:33 am 文章主題: |
|
|
你的問題在於沒看書就隨便做. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
clmao
註冊時間: 2006-04-15 文章: 57
第 9 樓
|
發表於: 星期三 五月 03, 2006 10:06 am 文章主題: |
|
|
說的好!謝謝大大指導!
但是實在是買不到書!
尤其是一本好書!
還是謝謝大大! |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 10 樓
|
發表於: 星期三 五月 03, 2006 10:22 am 文章主題: |
|
|
你一定不知道第一點的答案是從VFP6的HELP檔中COPY出來的. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
clmao
註冊時間: 2006-04-15 文章: 57
第 11 樓
|
發表於: 星期四 五月 04, 2006 9:30 pm 文章主題: |
|
|
謝謝大大指導! |
|
回頂端 |
|
 |
hichin

註冊時間: 2008-02-21 文章: 88
第 12 樓
|
發表於: 星期一 六月 02, 2008 6:43 pm 文章主題: 請問大大,如果表單是一個自訂的物件,此物件之Init 事件程序中,已有程式 |
|
|
在表單的 Init 事件程序中,包含 PARAMETERS 敘述:
PARAMETERS cString, nNumber
在表單的 Init 事件程序中,將參數分配給屬性:
THIS.ItemName = cString
THIS.ItemQuantity = nNumber
當執行表單時,在 DO FORM 命令中包括一個 WITH 子句:
DO FORM myform WITH "Bagel", 24
==================
請問大大,如果表單是一個自訂的物件,此物件之Init 事件程序中,已有程式
如何將PARAMETERS cString, nNumber放入,不影響原物件init 事件的功能 _________________ 誰知萬法唯心的奧義 |
|
回頂端 |
|
 |
saint
註冊時間: 2003-07-14 文章: 211
第 13 樓
|
發表於: 星期一 六月 02, 2008 9:49 pm 文章主題: |
|
|
你這問題很詭異!
1.你是說你的..myform 是繼承過來的嗎?如果是,那你在你的..myform.init 中新寫的 para 不會影響之前的 init,除非你有用dodefault() ,否則八竿子打不著
2.那你的問題是什麼 |
|
回頂端 |
|
 |
hichin

註冊時間: 2008-02-21 文章: 88
第 14 樓
|
發表於: 星期一 六月 02, 2008 10:48 pm 文章主題: |
|
|
大大請看圖示
為何我在ap2加上一行程式
appform物件的init的程序都不執行了
謝謝 _________________ 誰知萬法唯心的奧義 |
|
回頂端 |
|
 |
saint
註冊時間: 2003-07-14 文章: 211
第 15 樓
|
發表於: 星期二 六月 03, 2008 1:30 pm 文章主題: |
|
|
那你要用..dodefault() 在appform1 的 init 中,你了了嗎? |
|
回頂端 |
|
 |
|