|
X3平台引入外部控件(.dll)的问题
1:我在DELPHI环境下创建一个unit,如下:
unit carddll;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, DBGrids, StdCtrls, Menus, Buttons ,inifiles,extctrls ;
var
icdev,iSocket:smallint;
IP,Port:string;
type
Form=class
private
public
function iDOpenPort(iReaderPort:smallint;iReaderType:smallint):smallint;stdcall;
end;
implementation
function Form.iDOpenPort; external 'BjMwCpu.dll' name 'iDOpenPort';
end.
并编译通过,经测试,在DELPHI环境下这个函数的可被顺利调用。
2:通过“ImpIDE.exe”使生成:carddll_reg.pas,这一个过程也没有任何问题。
3:通过DELPHI创建一个Package,加入carddll.pas、carddll_reg.pas和X3下的CLRun.dcp,编译生成:dd.bpl,这一个过程也没有任何问题。
4:在X3平台下引入相应的.dll和.bpl文件,在X3下测试调用
unit MainForm;
interface
uses
Business.System, Business.Forms,cc;
type
TMainForm = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{private declarations}
public
{public declarations}
end;
implementation
procedure TMainForm.Button1Click(Sender: TObject);
var
a:integer;
b:String;
c:Form;
begin
c:=Form.Create;
a:=c.iDOpenPort(2,2);
end;
end.
编译成功
运行出现:
(如图所示)
|
|