Dll中的函數與一般函數一樣么﹐為什么不能夠調用???
(一)﹑Dll定義
uses
SysUtils,
ADODB,
DBGrids,
Classes;
function TitleSort(DG1:TDBGrid;Col:TColumn):String; stdcall;
var
DataSet: TDataSet;
begin
DataSet := Col.Field.DataSet;
if DataSet is TCustomADODataSet then
try
begin
with TCustomADODataSet(DataSet) do
begin
if (Pos(Col.Field.FieldName, Sort) = 1) and (Pos(' DESC', Sort) = 0) then
Sort := Col.Field.FieldName + ' DESC'
else
Sort := Col.Field.FieldName + ' ASC';
end;
end
except
Application.MessageBox('不能對該列進行排序!','請注意:',0);
end;
end;
exports
TitleSort name 'Sort';
(二)﹑調用Dll
implementation
const
gdi32='Sort.dll';
procedure TitleSort(DG1:TDBGrid;Column:TColumn); stdcall; external gdi32 name 'Sort';
{$R *.dfm}
procedure Tform1.DBGrid2TitleClick(Column: TColumn);
begin
TitleSort(DBGrid2,Column);
end;
為什么不能夠實現函數TitleSort的功能﹐而我直接調用該函數就可以。