VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

表單呼叫表單且傳值問題!
前往頁面 1, 2  下一頁
 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
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. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
syntech



註冊時間: 2003-05-16
文章: 4249
來自: Taipei,Taiwan

第 3 樓

發表發表於: 星期二 五月 02, 2006 3:48 pm    文章主題: 引言回覆

一個 PUBLIC 或是 PRIVATE 陣列本來就會自動傳遞到子表單,
不需要特別的處理

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
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. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
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. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
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.那你的問題是什麼
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
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 中,你了了嗎?
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
前往頁面 1, 2  下一頁
1頁(共2頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作