線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1949
推到 Plurk!
推到 Facebook!

呼叫其他子form 傳值問題

答題得分者是:kevin2004
ttring
一般會員


發表:11
回覆:23
積分:16
註冊:2008-11-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-01-14 11:29:52 IP:60.248.xxx.xxx 訂閱
不好意思, 再請問一下各位大大
目前做一個查詢介面, 會在dbgrid3 查出許多單號
db1 是我拿來抓取目前點選的單號是那個
在連點時, 判斷單號不為空白時
就呼叫該單子的程式開啟
frmana 有設公共變數 g_no 來接
但這時會有err
還是我應該在frmana 那來抓frmqan的db1的值
@@

procedure Tfrmqan.DBGrid3DblClick(Sender: TObject);
begin
IF db1.Text <> '' THEN
begin
IF Not mainfrm.chkauth('ana001','','Y') THEN
exit;

with TfrmAna.Create(Application) do
begin
// frmana.g_no := db1.text;
Show;
end;
END;
end;
ttring
一般會員


發表:11
回覆:23
積分:16
註冊:2008-11-19

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-01-14 15:15:13 IP:60.248.xxx.xxx 訂閱
目前是解決了,  但是需要透過主form 
formstyle 為 fsMDIChild 的子form 不能互傳值嗎?
抓主form 的 public 變數, 就沒問題
但子form 彼此抓對方的public 變數, 都不行?, ?

真是又打擾各位大大了 ^^||

===================引 用 ttring 文 章===================
不好意思, 再請問一下各位大大
目前做一個查詢介面, 會在dbgrid3 查出許多單號
db1 是我拿來抓取目前點選的單號是那個
在連點時, 判斷單號不為空白時
就呼叫該單子的程式開啟
frmana 有設公共變數 g_no 來接
但這時會有err
還是我應該在frmana 那來抓frmqan的db1的值
@@

procedure Tfrmqan.DBGrid3DblClick(Sender: TObject);
begin
IF db1.Text <> '' THEN
begin
IF Not mainfrm.chkauth('ana001','','Y') THEN
exit;

with TfrmAna.Create(Application) do
begin
// frmana.g_no := db1.text;
Show;
end;
END;
end;
pprayer
高階會員


發表:35
回覆:185
積分:174
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-01-17 12:35:40 IP:61.63.xxx.xxx 訂閱
g_No   宣告在哪裡 ?
kevin2004
資深會員


發表:18
回覆:463
積分:416
註冊:2005-05-29

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-01-19 07:34:49 IP:61.219.xxx.xxx 未訂閱
抓主form 的 public 變數, 就沒問題
但子form 彼此抓對方的public 變數, 都不行?, ?
==>主子Form互抓變數內容,當然沒問題,有公式化解法的
==>不過你是用了最老,最不好的解法
formstyle 為 fsMDIChild 的子form 不能互傳值嗎?
==>答案同上
==>fsMDIForm不是個好東西,要避免用
------
Kevin
ttring
一般會員


發表:11
回覆:23
積分:16
註冊:2008-11-19

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-01-20 09:34:31 IP:60.248.xxx.xxx 訂閱
謝謝大大的解說
不過說真的, 還是沒有解開我的疑惑??

子form互抓變數內容, 沒問題, 有公式化解法
那是否有相關文章連結可以看, 或大大解說一下??
或在本站用關鍵字, 公式化解法, 可以搜尋得到?.?

最老, 最不好, 嗯...在新手區發問, 當然是新手
但觀念很直覺, 物件的public 變數, 要存取應該是OK的啊
啊 個人覺得是與其評價新手的做法, 不如教育新手如何去解決問題
來得有價值

fsMDIform 不是個好東西...
那要用什麼好東西比較好, 前提是free ^^
設母子form 是為了控制 子form 不會跑到母form 的後面去
只要有這功能, 又不用我程式自行開發, 我很樂意接受好東西的
但一樣...用好東西去搜尋 我想和大海撈針一樣

===================引 用 kevin2004 文 章===================
抓主form 的 public 變數, 就沒問題
但子form 彼此抓對方的public 變數, 都不行?, ?
==>主子Form互抓變數內容,當然沒問題,有公式化解法的
==>不過你是用了最老,最不好的解法
formstyle 為 fsMDIChild 的子form 不能互傳值嗎?
==>答案同上
==>fsMDIForm不是個好東西,要避免用
ttring
一般會員


發表:11
回覆:23
積分:16
註冊:2008-11-19

發送簡訊給我
#6 引用回覆 回覆 發表時間:2009-01-20 09:39:27 IP:60.248.xxx.xxx 訂閱

public
g_no : string;
{ Public declarations }

在子form 的 public 區

===================引 用 pprayer 文 章===================
g_No 宣告在哪裡 ?
kevin2004
資深會員


發表:18
回覆:463
積分:416
註冊:2005-05-29

發送簡訊給我
#7 引用回覆 回覆 發表時間:2009-01-21 15:44:55 IP:210.241.xxx.xxx 未訂閱
子form互抓變數內容, 沒問題, 有公式化解法
那是否有相關文章連結可以看, 或大大解說一下??
或在本站用關鍵字, 公式化解法, 可以搜尋得到?.?
public
g_no : string;
{ Public declarations }
在子form 的 public 區
=======================================

ttring


實在很抱歉,最近太忙了,現在才回覆
我現只能很快寫幾個字,實在是忙昏頭,等下班後在找時間回覆
兩Form互相使用有其規定的用法,..
------
Kevin
ttring
一般會員


發表:11
回覆:23
積分:16
註冊:2008-11-19

發送簡訊給我
#8 引用回覆 回覆 發表時間:2009-01-22 09:09:55 IP:123.204.xxx.xxx 訂閱
^^  謝謝 kevin大 
有空再回就好了, 問題先結案^^

===================引 用 kevin2004 文 章===================
子form互抓變數內容, 沒問題, 有公式化解法
那是否有相關文章連結可以看, 或大大解說一下??
或在本站用關鍵字, 公式化解法, 可以搜尋得到?.?
public
g_no : string;
{ Public declarations }
在子form 的 public 區
=======================================

ttring


實在很抱歉,最近太忙了,現在才回覆
我現只能很快寫幾個字,實在是忙昏頭,等下班後在找時間回覆
兩Form互相使用有其規定的用法,..
kevin2004
資深會員


發表:18
回覆:463
積分:416
註冊:2005-05-29

發送簡訊給我
#9 引用回覆 回覆 發表時間:2009-01-24 09:42:52 IP:61.219.xxx.xxx 未訂閱
雖然ttring已將問題結了案,那也只是ttring兄客氣,體諒小弟最近忙昏頭,
讓小弟喘口氣。小弟一定要找時間好好回覆一下。正好將小弟一些想法
觀念重新反芻思考一下。ttring兄有空就回一下,這樣小弟也不會天馬
行空,離題太遠。如果沒空,有沒關係。這篇貼子,小弟有進來看過好
幾次,有一些想法,不知道是不是ttring兄想要的。小弟就盡可能寫了
------
Kevin
kevin2004
資深會員


發表:18
回覆:463
積分:416
註冊:2005-05-29

發送簡訊給我
#10 引用回覆 回覆 發表時間:2009-01-24 09:44:27 IP:61.219.xxx.xxx 未訂閱
在新手區發問, 當然是新手
==>ttring兄,你實在太客氣了,你一定是資訊界的老手,只是偶而因
業務需要才玩一下Delphi吧。小弟用Delphi是很多年,稍稍知道一點
Delphi而已,小弟在別的領域也是新手。
==>大家互相幫忙,分享心得經驗,減短上手時間
------
Kevin
kevin2004
資深會員


發表:18
回覆:463
積分:416
註冊:2005-05-29

發送簡訊給我
#11 引用回覆 回覆 發表時間:2009-01-24 09:45:04 IP:61.219.xxx.xxx 未訂閱
fsMDIform 不是個好東西...
那要用什麼好東西比較好, 前提是free
只要有這功能, 又不用我程式自行開發, 我很樂意接受好東西的
設母子form 是為了控制 子form 不會跑到母form 的後面去
==>可能我講的是很偏頗,也可能是我的Delphi-MDIForm沒學起來,或是
要推說Delphi的MDIForm的功能很有限,不像是MS產品那樣耍的虎虎
生風。所以『fsMDIform 不是個好東西...』這句純粹是個人感觀的
意思。
==>不過,MDIForm實在控制起來很不方便,而且這變成都綁在一起了,不
能寫成到處共用的功能,這就太不經濟了,從商業角度考量,彼此干
擾及共用度低,這是會致命的設計。
==>查詢可以單獨寫成一支功能很強的共用查詢,你只要將查詢條件或SQL
命令傳進去,在裏面再允許客戶作篩選條件設定就好。你現在用MDI
,並不好。
==>如果這是個要聯在一起的畫面應用,你該設成Master-Detaile更合理
,更省事,更直覺。
==>通常有了PageControl以後,MDI的需求就降低很多。
==>PageControl是Delphi內附的元件,不用錢的。有很多很強很好用的
控制架構。當然它也有缺點,它的Tab不能顯示顏色、它不能像
Eclipse般點一下TAB就將整個Page放大縮小、如各Page用於顯示不
同的memo欄位內容時它也不能用不同顏色顯示memo欄是否有內容或
依內容重要性作不同外觀顯示。
==>建議改用專用的查詢Form,只傳條件或SQL字串就好。你原先講的問題
通通沒有。
==>如果這是一個要切的很緊密的應用,或由子Form還要回來控制母Form
,那建議你用Master-Detail畫面。
------
Kevin
kevin2004
資深會員


發表:18
回覆:463
積分:416
註冊:2005-05-29

發送簡訊給我
#12 引用回覆 回覆 發表時間:2009-01-24 09:58:05 IP:61.219.xxx.xxx 未訂閱
抓主form 的 public 變數, 就沒問題
但子form 彼此抓對方的public 變數, 都不行
==>回到主題來。
==>甲已兩Form互用彼此變數,只要將包裝等級設為form.public下就可以了。
==> 只要甲Form在implementation-uses下uses乙Form的Unit,而乙Form在
==> implementation-uses下也uses甲Form的Unit就好了。
==>千萬不可在interface-uses中uses另一unit。這是Delphi-Compiler設
==> 計原理的關係。在Interface中有Uses到的unit,在Compiler本Unit時
==> 會先檢視Compiler被Uses的Unit是否需要先被Compiler,而在
==> implementation下Uses的Unit不會受到這樣待遇的。
==>只要依循這裏講的,就沒問題了。
------
Kevin
kevin2004
資深會員


發表:18
回覆:463
積分:416
註冊:2005-05-29

發送簡訊給我
#13 引用回覆 回覆 發表時間:2009-01-24 10:12:52 IP:61.219.xxx.xxx 未訂閱
其實Delphi真有點老態了,而且自從Borland風流雲散,精英盡去,多年來缺乏財力
物力支援,真有點欲振乏力。就拿Unicode來講,我們從D5,D6就反應了多少年
,Borland一概置之不理﹝大概是錢都丟到別地方去了﹞,一直到這些Delphi/BCB
都被Borland賣掉,一直到2008年搶先出的Delphi2009才有Unicode出現,而同版次
的RAD Studio 2009也要在2009下半年才出。在Java與.NET中很多很新很重要東西,
你才只能Delphi2009中看到一點不太成熟的外貌。而Delphi中有不少老東西老技巧
,在今日強調物件導向的環境是不適合的。
公司裏面很多Delphi的老系統與維護仍佔公司近半收益,為了維護方便,裏面很多核心
的部份都被用新技巧新架構重寫了。
單就本個貼子言,這篇講到Delphi的批評,純是個人看法與觀感,大家看看就好,小弟
無意就此與大家筆戰。就此篇之來文,小弟一律不回覆。
------
Kevin
編輯記錄
kevin2004 重新編輯於 2009-01-24 10:17:43, 註解 無‧
系統時間:2024-05-15 15:51:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!