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

同一個 Package 裡不同Form之間處裡的問題

尚未結案
sanhang
一般會員


發表:12
回覆:25
積分:17
註冊:2002-08-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-16 10:54:12 IP:211.21.xxx.xxx 未訂閱
請問,我在某個子系統Package中放有好幾個Form 而其中 TForm001 為該Package 之主要表單 也有RegisterClass,但是他在跟同Package中的其他表單如TForm002互動時 雖然有uses 的關係,TForm001可以存取TForm002, 但是反過來卻不行,也就是TForm002存取TForm001時會出現Access Violation的訊息 我只能在Form001傳入給Form002的變數,真的只能這樣做嗎? 還是有其他的方法可以達到? LoadPackage(001.bpl) -> GetClass(TForm001) -> Create Form By TForm001 -> 在Form001中 Form002.Showmodal; -> Form002中如果有存取到Form001的變數時就有AV訊息 不知道有沒有先進可以指點一下
huangeider
高階會員


發表:288
回覆:492
積分:231
註冊:2003-02-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-16 15:01:40 IP:61.222.xxx.xxx 未訂閱
可以在Form002設一全域變數 如 str002:string;
procedure TForm001.Button1Click(Sender: TObject); 
var str001,restr001:string;
begin
    Form002 := TForm002.Create(self);
    try
      Form002.str002:=str001; //當打入Form002.時str002變數是不會被帶出來的,要自已打入 
    if Form002.ShowModal=mrOk then
      begin
         restr001:=form002.str002;
      end;
end;
系統時間:2024-04-25 15:03:09
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!