我想在工程里所有的窗体中调用主窗体中静态装入的DLL!怎样可做到。。。???(100分)

  • 主题发起人 主题发起人 twk
  • 开始时间 开始时间
T

twk

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在是这样定义的。。。但只能在窗体中使用!!!
--------------------------------------------------------------
。。
。。
。。
。。。。。。
private
{ Private declarations }

public
{ Public declarations }

end;

var
SMaster: TSMaster;
icdev: longint;
snr:longint;
nkey,wdata:pchar;
st,sector,block,loadmode:smallint;
status:Array[0..18]of Char;
databuff:Array[0..15]of Char;
function add_s(i: smallint): smallint; stdcall;
far;external 'mwrf32.dll' name 'add_s';
function rf_init(port: smallint;baud:longint): longint; stdcall;
far;external 'mwrf32.dll' name 'rf_init';
function rf_exit(icdev: longint):smallint;stdcall;
far;external 'mwrf32.dll'name 'rf_exit';
implementation

uses logincode。。。。。。。。。。。

{$R *.DFM}
 
把函数的定义写在public里就可以被其他窗体调用了
 
不行,当我这样定义时,这一行出错-----》far;external 'mwrf32.dll' name 'add_s';

public
{ Public declarations }

icdev: longint;
snr:longint;
nkey,wdata:pchar;
st,sector,block,loadmode:smallint;
status:Array[0..18]of Char;
databuff:Array[0..15]of Char;
function add_s(i: smallint): smallint; stdcall;
far;external 'mwrf32.dll' name 'add_s';
function rf_init(port: smallint;baud:longint): longint; stdcall;
far;external 'mwrf32.dll' name 'rf_init';
function rf_exit(icdev: longint):smallint;stdcall;
far;external 'mwrf32.dll'name 'rf_exit';

end;
 
如果你定义在公共部分
本窗体可以调用
其他窗体应该也可以调用
咱们用的windows api不就是delphi帮咱们定义的么
实在不行
你可以参考 delphi中window.pas的写法
 
我搜索了一下window.pas,但是没有啊。。。怎样能找到这个文件
 
怎么我的问提整天都没人答。。。难道是我问得不好吗。。
 
如下声明,再随便uses
var
function add_s(i: smallint): smallint; stdcall;//这样声明
implementation
function add_s; external 'mwrf32.dll' name 'add_s';//这样实现
 
现在在主窗体中调用'mwrf32.dll'正常吗?
 
后退
顶部