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

動態Package切割系統的問題

答題得分者是:anumis
frappe
中階會員


發表:88
回覆:114
積分:95
註冊:2008-10-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-02-10 00:09:07 IP:115.82.xxx.xxx 訂閱
最近剛接觸動態Package,
想試著練習開發一個使用動態Package切割程式的系統
我的想法是:

主程式
|
|
Package(DataModule)
|
---------------------------------------------------------
| | |
Package(子系統1) Package(子系統2) Package(子系統3)
問題來了,
當我把DataModule抽離成一個Package時,
Design-Time子系統1,2,3的感知元件裡面的DataSource就變成空的,
這樣在Design-Time要如何設計呢?
K-Top查了許多資料還是不知道要如何著手,
還是說我整個觀念是錯的?
frappe
中階會員


發表:88
回覆:114
積分:95
註冊:2008-10-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-03-08 01:29:25 IP:115.83.xxx.xxx 訂閱
我已經可以切割系統了,但是又產生新的問題,

<主程式 - exe>
frmMAIN - LoadPackage and create 2個bpl
<共用ADOConnection - bpl>
DataModule裡面只有一個TADOConnection
<子系統 - bpl>
frmA - Form使用者介面
dmsA - Datamodule

問題:
1
dmsA是由主程式create,
這樣frmA如果要對dmsA寫程式會出現錯誤
(因為dmsA並非frmA Create,無法取得控制權)
2
如果dmsA改由frmA去create,則所有bpl無法共用一個ADOConnection
3
不知道有沒有辦法讓主程式傳值給Package使用,或控制Package的屬性
找Package裡面的物件可以用FindComponent,
不知道有沒有辦法找Package某個物件的屬性
anumis
一般會員


發表:25
回覆:27
積分:15
註冊:2006-07-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-03-11 09:57:00 IP:61.218.xxx.xxx 未訂閱
我是用DLL分割系統

子Form跟主From之間定義一個傳參數的Function 去傳遞要用的共用元件

ex:
子系統

var
adoc :TAdoconnect;
Param :^TStringList;

procedure GetShardComponent(mApp :TApplication; mAdoc :TAdoconnect; pParam :Pointer);register
begin
Application := mApp;
aAdoc := mAdoc;
Param := p;
end;
exports GetShardComponent;

主系統
type
GetShardComponent = procedure(mApp :TApplication; mAdoc :TAdoconnect; pParam :Pointer);register

當Dll載入時,就執行GetShardComponent把Application, AdoConnect還有參數表(Param)傳給子系統

記得,當子系統要結束時,記得把Query 及Table等等的 Connect 設成 Nil,不然會出錯

給你參考參考

===================引 用 frappe 文 章===================
我已經可以切割系統了,但是又產生新的問題,

<主程式 - exe>
frmMAIN - LoadPackage and create 2個bpl
<共用ADOConnection - bpl>
DataModule裡面只有一個TADOConnection
<子系統 - bpl>
frmA - Form使用者介面
dmsA - Datamodule

問題:
1
dmsA是由主程式create,
這樣frmA如果要對dmsA寫程式會出現錯誤
(因為dmsA並非frmA Create,無法取得控制權)
2
如果dmsA改由frmA去create,則所有bpl無法共用一個ADOConnection
3
不知道有沒有辦法讓主程式傳值給Package使用,或控制Package的屬性
找Package裡面的物件可以用FindComponent,
不知道有沒有辦法找Package某個物件的屬性
系統時間:2024-03-29 15:39:46
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!