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

MDI的ChildForm要如何互相修改資料??

答題得分者是:dllee
sigma000
一般會員


發表:6
回覆:8
積分:2
註冊:2006-10-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-04-08 15:28:12 IP:219.81.xxx.xxx 訂閱
有三個Form,一個是fsMDIForm(稱1),二個是fsMDIChild(稱2,3),2,3裏都有一個button和一個ADOTable的Database.
現在想要在form2裏,按button就可以修改form3裏的ADOTable的資料,而不要出現form3.
以下是我部分的程式,幫忙看一下有什麼問題??感謝~~~~
這部份程式是放在Form2的地方
bool Found;
TLocateOptions SearchOptions ;
SearchOptions << loPartialKey ;
Found = Form3->ADOTable1->Locate("ProductLicence", "A1", SearchOptions); --> debug到這行都有問題
if (Found != true)
ShowMessage("找不到資料") ;
Form3->ADOTable1->Edit();
Form3->ADOTable1->FieldByName("Amount")->AsInteger = Form3->ADOTable1->FieldByName("Amount")->AsInteger - 1;
Form3->ADOTable1->Post();
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-04-10 08:52:10 IP:59.105.xxx.xxx 訂閱
我有點看不太懂您的環境,一個 Main 以及兩個 Child,您是希望只開 Child1 不開 Child2 的狀況下要去操作 Child2 那當然是不可能的,因為 Child2 跟本就不存在。

您應該要先把 Form3 開(Create/new)出來,如果不想它顯示,就把它 Hide() 起來,不開出來是無法操作的。
------
http://www.ViewMove.com
sigma000
一般會員


發表:6
回覆:8
積分:2
註冊:2006-10-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-04-15 21:10:17 IP:61.31.xxx.xxx 訂閱
那請問如何hide??
以下是我嘗試hide的程式...
TForm3 *Form3 = new TForm3(Application);
Form3->Hide(); ---->在這行都會出現錯誤
or
TForm3 *Form3 = new TForm3(Application);
Form3->Visible() = false; ---->在這行都會出現錯誤
或者是有範例可提供??
謝謝~~~
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-04-16 13:01:00 IP:220.134.xxx.xxx 訂閱
只 new  就好。
可以自行設定必要的屬性,若真的要它 Hide 就設 Visible=false
表單預設是不會 Show 的樣子。
------
http://www.ViewMove.com
sigma000
一般會員


發表:6
回覆:8
積分:2
註冊:2006-10-19

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-04-22 11:44:02 IP:61.31.xxx.xxx 訂閱
試了以下
TForm3 *Form3 = new TForm3(Application);
Form3->Visible = false;
產生了的錯誤message
Project Glass.exe raised exception class EIvalidOperation with message 'Cannot hide an MDI Child Form'

Process stopped. Use Step or Run to continue.

再試,只直接把Visible的項目設為false,
就會產生以下的錯誤message
Cannot hid an MDI Child form.

請問一下,有什麼方法可以解決??
謝謝


dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-04-22 23:43:26 IP:59.105.xxx.xxx 訂閱
為什麼 Form3 不要顯示呢?

是 Always 都不顯示嗎? -> 如果是,把 Form3 設成一般的表單,不是 MDI Child Form 就可以 new 後隱藏了。

是需要顯示,而可以不是 MDI Child Form 的方式嗎? 若是,則同上的方式處理。

若需要顯示,同時也需要是 MDI Child Form 的方式,那就直接顯示出來不行嗎?

您的問題,只要能該 Form3 new 出來,就可以用 Form3 的資源,沒有 new 出來就不能用。
new 出來,又不想讓使用者看到這個表單,有許多方法,例如,把表單設為沒有外框的形式,再把 Width=0, Height=0 這樣,就算顯示也看不到任何內容。
------
http://www.ViewMove.com
sigma000
一般會員


發表:6
回覆:8
積分:2
註冊:2006-10-19

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-04-28 16:37:05 IP:219.81.xxx.xxx 訂閱
謝謝,我已試出來了..
系統時間:2024-04-16 20:30:38
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!