請教為何看不到datamodule? |
尚未結案
|
huangeider
高階會員 發表:288 回覆:492 積分:231 註冊:2003-02-26 發送簡訊給我 |
小弟在修改一個c/s程式,其中在view ->project manager中可以看到
Tdatamodule的pas和form,但是把form按滑鼠兩下卻只有pas 程式碼,
見不到datamodule的form,但問題就是找不到datamodule的form,不知為何?
以下是datamodule的pas程式碼:
unit Unitdm; // 數據庫連接 interface uses SysUtils, Classes,DateUtils,Math,IdGlobal,Controls,Dialogs,ComObj,Variants, DB, ADODB,dbgrids, GB2BIG,QRCtrls,ExtCtrls, QuickRpt; type Tdm = class(TDataModule) ADOConnection: TADOConnection; ADOyg: TADOConnection; GB: TGB2BIG; procedure DataModuleCreate(Sender: TObject); private { Private declarations } public { Public declarations } zg:boolean;//最高 zj:boolean;//增加 xg:boolean;//修改 sc:boolean;//刪除 stryes,strno:string;//是否 listbt:tstringlist;//控件標題 mg:integer;//民國(2002-1911=91) mgstr:string;//民國 sjk:string; //數據庫 gs:string;//公司 yy:string;//語言 ygid:string;//登錄的員工編號 ygxm:string;//登錄的員工姓名 data:string;//數據庫類型(sql,interbase) zy:integer;//星期開頭 星期天--1 星期一--0 qs:integer;//權數依據 0-金額 1--貨品 procedure Exec(str:string); //執行SQL語句 function QryOneInt(str:string):integer; //查詢整數 function QryOnefloat(str:string):real; //查詢小數 function QryOnestr(str:string):string; //查詢string procedure px(column:tcolumn);//grid標題排序 procedure dcexcel(sql:string);//導出excel...sql語句 procedure kc;//庫存數據刷新 function dx(RMB: string): string; //金額小寫-->大寫 procedure lj;//連接 procedure mbr;//mbr function zbm(bm:string):tstringlist;//子部門,部門,所有子部門 function strbm(bm:string;cs:boolean):string;//所有部門,部門 procedure ksj(sj1,sj2:tdate);//空數據 procedure GB2BIG5(ck:tobject);//窗口...GB-->BIG5 procedure wb(sender:tobject);//處理文本,圖像字段 procedure hz;//標題漢字 procedure bthz(ck:tobject);//窗口 ....形成標題漢字 procedure qxsz(ck:tobject);//權限設置 end; var dm: Tdm; implementation uses Unitdl,Forms,ComCtrls,StdCtrls,ActnList, dBCtrls, Unitkhqk, Unitsz, Unitxzkh, Unitxzyw, Unitxzbm, Unitxzph, Unitbb; {$R *.dfm} { Tdm } procedure Tdm.DataModuleCreate(Sender: TObject); begin //新建 listbt:=tstringlist.Create; dm.data:='sql'; //dm.data:='interbase'; end;「堅持」從洗馬桶做起 Aric 發表人 - huangeider 於 2004/04/02 21:12:00 |
yachanga
資深會員 發表:24 回覆:335 積分:296 註冊:2003-09-27 發送簡訊給我 |
|
huangeider
高階會員 發表:288 回覆:492 積分:231 註冊:2003-02-26 發送簡訊給我 |
|
yachanga
資深會員 發表:24 回覆:335 積分:296 註冊:2003-09-27 發送簡訊給我 |
|
huangeider
高階會員 發表:288 回覆:492 積分:231 註冊:2003-02-26 發送簡訊給我 |
|
yachanga
資深會員 發表:24 回覆:335 積分:296 註冊:2003-09-27 發送簡訊給我 |
|
huangeider
高階會員 發表:288 回覆:492 積分:231 註冊:2003-02-26 發送簡訊給我 |
可是我找了一下有
unitdm.pas跟unitdm.dfm耶但沒有dm.dfm
而我在資料夾中按unitdm.dfm是顯示
object dm: Tdm OldCreateOrder = False OnCreate = DataModuleCreate Left = 314 Top = 159 Height = 201 Width = 214 object ADOConnection: TADOConnection ConnectionString = 'Provider=SQLOLEDB.1;Password=3100;Persist Security Info=True;Use' 'r ID=sa;Initial Catalog=DB_HXH;Data Source=HXH' LoginPrompt = False Provider = 'SQLOLEDB.1' Left = 64 Top = 32 end object ADOyg: TADOConnection ConnectionString = 'Provider=SQLOLEDB.1;Password=3100;Persist Security Info=True;Use' 'r ID=sa;Initial Catalog=SunSystem;Data Source=HXH' LoginPrompt = False Provider = 'SQLOLEDB.1' Left = 64 Top = 88 end object GB: TGB2BIG Left = 129 Top = 32 end end在project manager中按dm兩下都是 跳到unitdm.pas的畫面 unit Unitdm; // 數據庫連接 interface uses SysUtils, Classes,DateUtils,Math,IdGlobal,Controls,Dialogs,ComObj,Variants, DB, ADODB,dbgrids, GB2BIG,QRCtrls,ExtCtrls, QuickRpt; type Tdm = class(TDataModule) ADOConnection: TADOConnection; ADOyg: TADOConnection; GB: TGB2BIG; procedure DataModuleCreate(Sender: TObject); private { Private declarations } public { Public declarations } zg:boolean;//最高 zj:boolean;//增加 xg:boolean;//修改 sc:boolean;//刪除 stryes,strno:string;//是否 listbt:tstringlist;//控件標題 mg:integer;//民國(2002-1911=91) mgstr:string;//民國 sjk:string; //數據庫 gs:string;//公司 yy:string;//語言 ygid:string;//登錄的員工編號 ygxm:string;//登錄的員工姓名 data:string;//數據庫類型(sql,interbase) zy:integer;//星期開頭 星期天--1 星期一--0 qs:integer;//權數依據 0-金額 1--貨品 procedure Exec(str:string); //執行SQL語句 function QryOneInt(str:string):integer; //查詢整數 function QryOnefloat(str:string):real; //查詢小數 function QryOnestr(str:string):string; //查詢string procedure px(column:tcolumn);//grid標題排序 procedure dcexcel(sql:string);//導出excel...sql語句 procedure kc;//庫存數據刷新 function dx(RMB: string): string; //金額小寫-->大寫 procedure lj;//連接 procedure mbr;//mbr function zbm(bm:string):tstringlist;//子部門,部門,所有子部門 function strbm(bm:string;cs:boolean):string;//所有部門,部門 procedure ksj(sj1,sj2:tdate);//空數據 procedure GB2BIG5(ck:tobject);//窗口...GB-->BIG5 procedure wb(sender:tobject);//處理文本,圖像字段 procedure hz;//標題漢字 procedure bthz(ck:tobject);//窗口 ....形成標題漢字 procedure qxsz(ck:tobject);//權限設置 end; var dm: Tdm; implementation 「堅持」從洗馬桶做起 Aric 發表人 - huangeider 於 2004/04/02 22:31:42 發表人 - huangeider 於 2004/04/02 22:38:20 |
yachanga
資深會員 發表:24 回覆:335 積分:296 註冊:2003-09-27 發送簡訊給我 |
|
yachanga
資深會員 發表:24 回覆:335 積分:296 註冊:2003-09-27 發送簡訊給我 |
|
huangeider
高階會員 發表:288 回覆:492 積分:231 註冊:2003-02-26 發送簡訊給我 |
試試看把這unitdm 從 project viewer 移除, 再重新加入
這樣行不行???
這樣子再加入時會有錯誤訊息
class tgb2big not found
我想可能是這個元件的關係
但再把這元件放入同一資料夾時就可加入
但是也仍然是把datamodule form按滑鼠兩下卻只有pas 程式碼?
會不會是delphi版本的問題?
但在delphi6.0與7.0都還是相同的情形 「堅持」從洗馬桶做起
Aric 發表人 - huangeider 於 2004/04/03 00:31:55
|
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
huangeider 你好 離結果只差一步了,知道問題在TGB2BIG這個類別,加入該單元沒問題,但要開啟時仍然只有pas 程式碼,主要是你要安裝該元件,並設定搜尋路徑後,Delphi才知道該元件的存在,你之前在開啟該單元時,系統是否有顯示訊息說有某個元件找不到,問你要忽略、取消、或全部忽略嗎?然後你按了取消,結果就像你所看到現象,若你按忽略的話,表面上程式碼看到了,DataModul也可看到,但實際上缺少的物件(TGB2BIG)是被移除了,這時最好不要有儲存的動作,免得該物件真的從DataModul中移除了, 發表人 - chance36 於 2004/04/03 00:59:57
|
huangeider
高階會員 發表:288 回覆:492 積分:231 註冊:2003-02-26 發送簡訊給我 |
|
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
引言: 那要如何才能真正的安裝以下這個元件跟設定搜尋路徑呢?huangeider 你好 先使用最簡單方式安裝 1.*.pas,*.dcu 複製到任何位置皆可,只要認為適當即可,若放到Delphi\Lib底下則可省略設定搜尋路徑的步驟(早就有了) 2.從功能表選[Component][Install Component] 按unit File Name後的[Browse...]複選gb2Big.pas及Big2gb.pas 3.把元件所在路徑輸入到Search Path的Edit中,用';'分隔原來的路徑 4.確定package Name 你可用設的dclUsr.dpk或自定一個亦可 5.最後按OK,系統會提示相關訊息之後即安裝完成了,你可在元件盤中往後移到最後,應該會看[測試]頁次,其中即有你要的元件了。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |