//动态链接库部分代码:
library searchDLL;uses
SysUtils,
Classes;{$R *.res}type
arr=array of integer;function search(key:integer;count:integer;a:arr):arr;stdcall;
var
i:integer;
begin
for i:=1 to count do
begin
if key=a[i] then
begin
search:=a;
abort;
end
end;exports
search;begin
end.
----------------------------------------------------------------------------------------
//工程文件部分代码:
unit Unit1;type
arr=array of integer;
function search(key:integer;count:integer;a:arr):arr;stdcall;external 'searchDLL.dll';var
Form1: TForm1;
arr1:arr;
i:integer;
implementation{$R *.dfm}procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
.
.
.
. {这部分对数组进行赋值}
end;procedure TForm1.Button1Click(Sender: TObject);
var
flag:integer;
begin
if edit3.Text <>'' then //edit3.Text中是要进行查找的数值(整数形)
begin
flag:=search(strtoint(edit3.text),i,arr1); //调用动态链接库 这里出现错误:[Error] Unit1.pas(54): Incompatible types: 'Integer' and 'arr'
if flag=strtoint(edit3.Text) then
showmessage('数据存在!')
else
showmessage('数据不存在!');
end;
end;end.我应该怎么改那个错误,在线等,谢谢
library searchDLL;uses
SysUtils,
Classes;{$R *.res}type
arr=array of integer;function search(key:integer;count:integer;a:arr):arr;stdcall;
var
i:integer;
begin
for i:=1 to count do
begin
if key=a[i] then
begin
search:=a;
abort;
end
end;exports
search;begin
end.
----------------------------------------------------------------------------------------
//工程文件部分代码:
unit Unit1;type
arr=array of integer;
function search(key:integer;count:integer;a:arr):arr;stdcall;external 'searchDLL.dll';var
Form1: TForm1;
arr1:arr;
i:integer;
implementation{$R *.dfm}procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
.
.
.
. {这部分对数组进行赋值}
end;procedure TForm1.Button1Click(Sender: TObject);
var
flag:integer;
begin
if edit3.Text <>'' then //edit3.Text中是要进行查找的数值(整数形)
begin
flag:=search(strtoint(edit3.text),i,arr1); //调用动态链接库 这里出现错误:[Error] Unit1.pas(54): Incompatible types: 'Integer' and 'arr'
if flag=strtoint(edit3.Text) then
showmessage('数据存在!')
else
showmessage('数据不存在!');
end;
end;end.我应该怎么改那个错误,在线等,谢谢
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货