Package 資料連接共用問題 |
答題得分者是:阿子
|
cyl
中階會員 發表:163 回覆:171 積分:66 註冊:2002-07-11 發送簡訊給我 |
請問我在mainform 上的button1,上去load另一個package form,此package form共用dbpackage的query,但是mainform上有資料出來,但是loadpackage上的form去無法連接上資料???
附加檔案:24447_pk.exe
|
阿子
站務副站長 發表:120 回覆:230 積分:201 註冊:2002-03-18 發送簡訊給我 |
|
cyl
中階會員 發表:163 回覆:171 積分:66 註冊:2002-07-11 發送簡訊給我 |
|
cyl
中階會員 發表:163 回覆:171 積分:66 註冊:2002-07-11 發送簡訊給我 |
|
阿子
站務副站長 發表:120 回覆:230 積分:201 註冊:2002-03-18 發送簡訊給我 |
|
cyl
中階會員 發表:163 回覆:171 積分:66 註冊:2002-07-11 發送簡訊給我 |
引言: cyl 1.在Compiler Packtest.dpr 時是否有將Runtime Package 的選項打勾? 2.妳的LoaddbPackage('DBPackage.BPL'); 放錯事件了。才會出現mainform會出現Name not unique in this context。 3.妳説的資料庫部份因該跟這部份沒有關係巴。 4.我的習慣能不用全域就不用,必要時用函式去包。 從思考取勝一切~q1.我有打勾 2.你是指mainform的事件嗎?不是放在activeform嗎?那是不是應該改成oncreate?? 3.我自己也認為應該沒有關係,但是實際連oracle真的有關,如果阿子站長有oracle可以幫我測試一下 4.那你的意思是否是要把Tquery包成函式,可否改寫一下code |
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
1. 在page的project Window中click "Options",於"Description" page之"Usage options"中勾選 Runtime only 2. Design Time Database不要connect 3.於此connect
procedure Tform1.LoadDataModule; var iCounter : Integer; dataModuleClass: TPersistentClass; admGlobal: TDataModule; begin { Note that TApplication "owns" this form and thus it must be freed prior to unloading the package } dataModuleClass := GetClass('TDmvirtual'); if dataModuleClass <> nil then begin admGlobal := TDataModule(TComponentClass(dataModuleClass).Create(Application)); for iCounter := 0 to admGlobal.ComponentCount - 1 do begin if UpperCase(admGlobal.Components[iCounter].ClassName) = 'TQUERY' then begin aQuery := TQuery(admGlobal.Components[iCounter]); aQuery.open; DataSource1.DataSet := aQuery; break; end; end; end; end;4. 我是以Oracle試的, 沒問題, 你可以多按幾次Button1產生多個child也沒問題 5. 其實global參數是有問題的, 目前只有aQuery, 而且在mainForm上,不會造成問題, 所以以後等你遇到問題再說吧 發表人 - ccchen 於 2002/12/31 08:35:47 |
cyl
中階會員 發表:163 回覆:171 積分:66 註冊:2002-07-11 發送簡訊給我 |
引言: 1. 在page的project Window中click "Options",於"Description" page之"Usage options"中勾選 Runtime only 2. Design Time Database不要connect 3.於此connect1.為什麼要勾選 Runtime only,我勾選後,出現 xxxx.bplcan't be installed it is not a design package,why?? 4.後來我連oracle也沒問題,也不知為什麼 5.不知道會遭遇哪些問題,可以舉個例讓我知道,我可以事先避免? 謝謝 發表人 - cyl 於 2002/12/31 08:50:51procedure Tform1.LoadDataModule; var iCounter : Integer; dataModuleClass: TPersistentClass; admGlobal: TDataModule; begin { Note that TApplication "owns" this form and thus it must be freed prior to unloading the package } dataModuleClass := GetClass('TDmvirtual'); if dataModuleClass <> nil then begin admGlobal := TDataModule(TComponentClass(dataModuleClass).Create(Application)); for iCounter := 0 to admGlobal.ComponentCount - 1 do begin if UpperCase(admGlobal.Components[iCounter].ClassName) = 'TQUERY' then begin aQuery := TQuery(admGlobal.Components[iCounter]); aQuery.open; DataSource1.DataSet := aQuery; break; end; end; end; end;4. 我是以Oracle試的, 沒問題, 你可以多按幾次Button1產生多個child也沒問題 5. 其實global參數是有問題的, 目前只有aQuery, 而且在mainForm上,不會造成問題, 所以以後等你遇到問題再說吧 發表人 - ccchen 於 2002/12/31 08:35:47 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |