如何得知某個BPL的CLASS? |
答題得分者是:william
|
junlin
初階會員 發表:66 回覆:94 積分:42 註冊:2002-03-13 發送簡訊給我 |
|
Skyer
高階會員 發表:43 回覆:111 積分:120 註冊:2002-04-04 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
junlin
初階會員 發表:66 回覆:94 積分:42 註冊:2002-03-13 發送簡訊給我 |
引言: BPL is Borland's special DLL. You should be able to exports functions (could return your defined list of classes). Put the export statements in any unit other than the project file (Delphi will overwrite it automatically).版主,不是很懂你的意思說,能不能解釋一下Put the export statements in any unit other than the project file (Delphi will overwrite it automatically).是什麼意思啊?? |
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
引言: 版主,不是很懂你的意思說,能不能解釋一下Put the export statements in any unit other than the project file (Delphi will overwrite it automatically).是什麼意思啊?? >>< face="Verdana, Arial, Helvetica"> Oh... very hard to type Chinese here .... class="code">procedure MyClassList(ClassList: TStringList); stdcall; begin ClassList.Clear; { add your class name to ClassList } end; exports MyClassList; Put above codes in any .pas unit inside the package. After loading the packagevar GetClassList: procedure(ClassList: TStringList); stdcall; {...} Lib := LoadPackage(YourPackageFile); GetClassList := GetProcAddress(Lib,'MyClassList'); GetClassList(ClassList); {...}In simple words, use the bpl file as a dll |
G01
高階會員 發表:249 回覆:379 積分:215 註冊:2002-05-21 發送簡訊給我 |
|
G01
高階會員 發表:249 回覆:379 積分:215 註冊:2002-05-21 發送簡訊給我 |
|
junlin
初階會員 發表:66 回覆:94 積分:42 註冊:2002-03-13 發送簡訊給我 |
|
junlin
初階會員 發表:66 回覆:94 積分:42 註冊:2002-03-13 發送簡訊給我 |
我在bpl中的code
exports GetClassName;
procedure GetClassName(var classname: String); stdcall;
begin
classname := 'TfrmFtp';
end; 載入時的code
procedure TForm1.Button1Click(Sender: TObject);
var
AClass: TPersistentClass;
AForm: TCustomForm;
a: procedure(var classname:string); stdcall;
b:string;
begin
pStr := LoadPackage('d:\ui\TfrmFTP.bpl');
a := GetProcAddress(pStr, 'GetClassName');
a(b); ------------------------>在這一行就出現access violation的錯誤訊息了
AClass := GetClass(b);
if AClass <> nil then
begin
........
end;
end; 發表人 - junlin 於 2003/08/20 14:25:57
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |