全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1423
推到 Plurk!
推到 Facebook!

Package 資料連接共用問題

答題得分者是:阿子
cyl
中階會員


發表:163
回覆:171
積分:66
註冊:2002-07-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-12-30 18:38:53 IP:61.218.xxx.xxx 未訂閱
請問我在mainform 上的button1,上去load另一個package form,此package form共用dbpackage的query,但是mainform上有資料出來,但是loadpackage上的form去無法連接上資料???
附加檔案:24447_pk.exe
阿子
站務副站長


發表:120
回覆:230
積分:201
註冊:2002-03-18

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-12-30 19:14:52 IP:61.64.xxx.xxx 未訂閱
cyl 你好   我試了一下但沒有妳説的問題也...但有其它的問題(有改進的空間)。 <>從思考取勝一切~>
------
從思考取勝一切~q
cyl
中階會員


發表:163
回覆:171
積分:66
註冊:2002-07-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-12-30 22:36:50 IP:61.30.xxx.xxx 未訂閱
引言: cyl 你好 我試了一下但沒有妳説的問題也...但有其它的問題(有改進的空間)。 <>從思考取勝一切~> < face="Verdana, Arial, Helvetica"> 我試真的不行,我按button1時,package form根本無法顯示資料,但是如果把 Tquery的宣告移到public就可以了,不知道為什麼?? 因為我是第一次練習package寫法,若有改進空間,還望前輩指導一下, 可以把程式碼修改一下,讓我學習一下嗎?? [
cyl
中階會員


發表:163
回覆:171
積分:66
註冊:2002-07-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-12-30 23:03:22 IP:61.30.xxx.xxx 未訂閱
阿子副站長: 我知道為什麼你說你試沒問題,你一定是把資料庫改成Demo的, 我原來的資料庫是連oracle的,如果你是連oracle就會有我所說的問題, 但這也很奇怪,我把query宣告宜一下位子就可以,為什麼呢?? 第二個問題,你所的其他問題,我若是把資料庫改連demo,返回mainform會出現Name not unique in this context,請問為什麼???
阿子
站務副站長


發表:120
回覆:230
積分:201
註冊:2002-03-18

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-12-30 23:45:47 IP:61.64.xxx.xxx 未訂閱
cyl  1.在Compiler Packtest.dpr 時是否有將Runtime Package 的選項打勾? 2.妳的LoaddbPackage('DBPackage.BPL'); 放錯事件了。才會出現mainform會出現Name not unique in this context。 3.妳説的資料庫部份因該跟這部份沒有關係巴。 4.我的習慣能不用全域就不用,必要時用函式去包。    從思考取勝一切~q
------
從思考取勝一切~q
cyl
中階會員


發表:163
回覆:171
積分:66
註冊:2002-07-11

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-12-31 00:01:41 IP:61.30.xxx.xxx 未訂閱
引言: cyl 1.在Compiler Packtest.dpr 時是否有將Runtime Package 的選項打勾? 2.妳的LoaddbPackage('DBPackage.BPL'); 放錯事件了。才會出現mainform會出現Name not unique in this context。 3.妳説的資料庫部份因該跟這部份沒有關係巴。 4.我的習慣能不用全域就不用,必要時用函式去包。 從思考取勝一切~q
1.我有打勾 2.你是指mainform的事件嗎?不是放在activeform嗎?那是不是應該改成oncreate?? 3.我自己也認為應該沒有關係,但是實際連oracle真的有關,如果阿子站長有oracle可以幫我測試一下 4.那你的意思是否是要把Tquery包成函式,可否改寫一下code
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-12-31 08:32:14 IP:61.219.xxx.xxx 未訂閱
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

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-12-31 08:45:39 IP:61.218.xxx.xxx 未訂閱
引言: 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
1.為什麼要勾選 Runtime only,我勾選後,出現 xxxx.bplcan't be installed it is not a design package,why?? 4.後來我連oracle也沒問題,也不知為什麼 5.不知道會遭遇哪些問題,可以舉個例讓我知道,我可以事先避免? 謝謝 發表人 - cyl 於 2002/12/31 08:50:51
系統時間:2024-05-05 5:38:37
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!