package相戶使用元件問題 |
尚未結案
|
cyl
中階會員 發表:163 回覆:171 積分:66 註冊:2002-07-11 發送簡訊給我 |
請問我參考
http://delphi.ktop.com.tw/topic.php?topic_id=20250
我的loadpackage都是參考上篇文章的function
但是我的 packageA要讀取PackageB的資料,但是怎麼寫都address錯誤??
LoadAddinPackage('pkgaddr', 'pkgaddr.bpl');
ShowModalFormByClassName('TAddrForm');
self.Edit1.Text := TAddrForm(AddrForm).edit1.text ;
請問是為什麼???
|
danny
版主 發表:100 回覆:522 積分:595 註冊:2002-03-11 發送簡訊給我 |
引言: 請問我參考 http://delphi.ktop.com.tw/topic.php?topic_id=20250 我的loadpackage都是參考上篇文章的function 但是我的 packageA要讀取PackageB的資料,但是怎麼寫都address錯誤??因為您漏接了 ....LoadAddinPackage('pkgaddr', 'pkgaddr.bpl'); AddrForm := ShowModalFormByClassName('TAddrForm'); self.Edit1.Text := TAddrForm(AddrForm).edit1.text ;請問是為什麼???
------
將問題盡快結案也是一種禮貌! |
cyl
中階會員 發表:163 回覆:171 積分:66 註冊:2002-07-11 發送簡訊給我 |
|
skurama
中階會員 發表:88 回覆:127 積分:73 註冊:2002-07-22 發送簡訊給我 |
您好:
小弟目前也正在”搞”Package搞的一個頭兩個大。 不知道你用的ShowModalFormByClassName是否和我相同 function ShowModalFormByClassName(const ClassName: string): integer;
var
frm: TCustomForm;
begin
frm := CreateFormByClassName(ClassName);
try
Result := frm.ShowModal;
finally
frm.Release;
end;
end; 如果是的話我想問題就出ShowModal吧。
程式在loadpackage大概如下吧 LoadAddinPackage('pkgaddr', 'pkgaddr.bpl');
AddrForm := ShowModalFormByClassName('TAddrForm'); 此時會去呼叫ShowModalFormByClassName()的函式,其中會做到下面
try
Result := frm.ShowModal; //會等到使用者把Form關閉
finally
frm.Release; //showmodal結束後把Form關掉
end; //到此時上面的form已經被關閉了,所以AddrForm下的edit1已經被free了
//這時跟被free的form要求要free掉的edit1的值,所以出現記憶體錯誤
self.Edit1.Text := TAddrForm(AddrForm).edit1.text ; 如果是我可能會改把取值的動作寫在AddrForm被Close之前做,
看看是寫在onQueryClose或是在哪邊寫吧~~~
小弟愚見,參考參考。 ----------------
快滿一年程設師,
日日工作寫程式,
每買樂透眼框溼,
望能早成系分師。
---------------- 發表人 - skurama 於 2003/05/09 13:52:15 發表人 - skurama 於 2003/05/09 13:54:09
------
---------------- 初出芧房程設師, 左鍵右鼠寫程式, 日扣夜寫眼框溼, 望能早成系分師。 ---------------- |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |