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

請教關於 LoadPackage 之後 Form Create的問題...

尚未結案
evanskang
一般會員


發表:6
回覆:7
積分:2
註冊:2004-03-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-20 12:57:06 IP:61.221.xxx.xxx 未訂閱
各位大大: 小弟透過使用BPL來開發專案,目前所遇到的問題是可以LoadPackage,也可以GETCLASS,可是在Create Form時卻出現了以下的錯誤訊息,因小弟在KTOP找了相關資料都無法解決問題,所以想請問各位大大是否有解決方法? procedure TMainForm.StandClick(Sender: TObject); var uClass: TClass;     uForm: TForm;     Pgm_Name: string;     Mdu_Name: string; begin   Mdu_Name := 'Base' + Trim(Copy(TMenuItem(Sender).Name, 3, 3));   Pgm_Name := Trim(Copy(TMenuItem(Sender).Name, 3, 6));   if Sender is TMenuItem then   begin     with qryCheckPgm do     begin       Close;       ParamByName('PGM_NO').AsString := Pgm_Name;       Open;          if FieldByName('PGM_CNT').AsInteger > 0 then       begin                  LoadPackage('Bpl\' + Mdu_Name + '\' + Pgm_Name + 'u.Bpl');         uClass := GetClass('T' + Pgm_Name + 'Form');         if uClass <> nil then         begin           Application.CreateForm(TComponentClass(uClass), uForm);//這一段出現錯誤訊息           uForm.ObjectMenuItem := TMenuItem(Sender);           uForm.Show;         end;       end;     end;   end; end;
huangeider
高階會員


發表:288
回覆:492
積分:231
註冊:2003-02-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-20 14:01:54 IP:61.222.xxx.xxx 未訂閱
若是有DATAMODULE時要先加之後再加其他FORM才不會有問題
procedure TFMSTK05010D.OKBtnClick(Sender: TObject);
var cs1 : TClass;
    cs2 : TClass;
    fm1 : TForm;
    FM2 : TDATAMODULE;
begin         LoadPackage('C:\BRMS_ERP\UClient\BPL\CSTK09070.BPL');
     cs1 := GetClass('TDMSTK09070');
     Application.CreateForm(TComponentClass(cs1), fm2);
     cs2 := GetClass('TFMSTK09070');
     Application.CreateForm(TComponentClass(cs2), fm1);
end;
evanskang
一般會員


發表:6
回覆:7
積分:2
註冊:2004-03-01

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-09-20 15:01:21 IP:61.221.xxx.xxx 未訂閱
huangeider 大大: DATAMODULE 小弟已經包在EXE中了...這樣小弟還要在LOADPACKAGE一次嗎? 另外,RUN TIME PACKAGE 小弟也有選了...還有哪些地方是小弟LOSE掉的呢?
huangeider
高階會員


發表:288
回覆:492
積分:231
註冊:2003-02-26

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-09-20 16:29:32 IP:61.222.xxx.xxx 未訂閱
DATAMODULE 小弟已經包在EXE中了...這樣小弟還要在LOADPACKAGE一次嗎? 先把程式改簡單來測試一下自已的環境 可以先試著加入datamodule然後run看看,我的經驗不加datamodule時,而datamodule中有共用到的東東那麼會有錯誤,若是datamodule沒有共用到的物件或程序的話呢?會不會有問題?我沒測過 RUN TIME PACKAGE 小弟也有選了...還有哪些地方是小弟LOSE掉的呢? 這個臭蟲得靠自已找了,先把程式簡單化吧,只留必要的程序,然後慢慢加程序 一定可以找到
evanskang
一般會員


發表:6
回覆:7
積分:2
註冊:2004-03-01

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-09-21 23:02:45 IP:61.223.xxx.xxx 未訂閱
huangeider 大大: 小弟已經找到問題點了...可能是元件版本的問題.因小地重新COMPLIER元件時出現different version的訊息...我想可能是這部份的問題,然而,令小弟不解的是,這些程式本來是包成dll的...卻可以呼叫成功...而且未何COMPLIE都可以過..卻再CREATE時掛了呢?這些小弟都還要再進一步探討...不過還是謝謝你囉.
系統時間:2024-06-27 5:06:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!