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

請問一個form動態產生的問題

答題得分者是:gemi0305
tommylee926
一般會員


發表:24
回覆:25
積分:9
註冊:2003-08-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-31 14:06:14 IP:211.75.xxx.xxx 未訂閱
我有三個form (form1 form2 form3) form2與form3都是動態產生的,我在form2放一個 tfilelistbox元件 我要怎麼在form3存取form2上的 tfilelistbox元件呢?
erosme
初階會員


發表:5
回覆:44
積分:29
註冊:2002-12-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-31 16:54:24 IP:218.166.xxx.xxx 未訂閱
嗨, 你可以試試 "form2->filelistbox->......."
tommylee926
一般會員


發表:24
回覆:25
積分:9
註冊:2003-08-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-31 17:17:33 IP:211.75.xxx.xxx 未訂閱
哈囉大大,這樣我式過不行說 我的 form2 及 form3 都是available forms ================================================= //Unit2.cpp中的程式碼 Form3 = new TForm3(Application); Form3->ShowModal(); delete Form3; =============================================== 且我有試過在 Unit3.cpp加入 #include "Unit2.h" 然後在 Unit3.cpp 使用 Form2->filelistbox 然後就出現access violation 不知要怎樣才能正確存取呢?
gemi0305
版主


發表:81
回覆:564
積分:629
註冊:2003-05-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-31 19:20:53 IP:61.224.xxx.xxx 未訂閱
在[Project]->[View Source]中的程式碼加入:  
 
#include 
#pragma hdrstop
#include "Unit2.h"
#include "Unit3.h"
//------------------------------------------------------------
USEFORM("Unit1.cpp", Form1);
USEFORM("Unit2.cpp", Form2);
USEFORM("Unit3.cpp", Form3);
//------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
        try
        {
                 Application->Initialize();
                 Application->CreateForm(__classid(TForm1), &Form1);
                 Application->Run();
        }
        catch (Exception &exception)
        {
                 Application->ShowException(&exception);
        }
        catch (...)
        {
                 try
                 {
                         throw Exception("");
                 }
                 catch (Exception &exception)
                 {
                         Application->ShowException(&exception);
                 }
        }
        return 0;
}
然後Unit2.cpp 中 #include "Unit3.h" Unit3.cpp中#include "Unit2.h" 之後再Unit3中就可以 Form2->...了 我這樣試過,可以,如果有問題,再討論 國泰平安
gemi0305
版主


發表:81
回覆:564
積分:629
註冊:2003-05-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-08-31 19:31:14 IP:61.224.xxx.xxx 未訂閱
如果還不行,這是另一篇相關的文章, 或許其中的內容對你有所幫助,參考看看~
tommylee926
一般會員


發表:24
回覆:25
積分:9
註冊:2003-08-17

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-09-01 10:01:26 IP:211.75.xxx.xxx 未訂閱
大大我試過您的方法,還是不行說!!! ========================================================== void __fastcall TForm2::Button1Click(TObject *Sender) { Form3 = new TForm3(Application); Form3->ShowModal(); delete Form3; } ============================================================ 上面我呼叫form3之後 void __fastcall TForm3::FormPaint(TObject *Sender) { ShowMessage(IntToStr(Form2)); AnsiString SelectedFile; SelectedFile = Form2->FileListBox1->Items->Strings[0]; } ============================================================ 上面的ShowMessage(IntToStr(Form2))竟然是 0 可是form2明明就有了啊 為何還會是0呢?那我要怎麼存取form2上的FileListBox1呢?
系統時間:2024-05-15 6:38:15
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!