VB的导出函数为: Public Sub PrintDoc(DocName As String) End Sub 在DELPHI中调用为: procedure PrintDoc(DocName:string);stdcall;external 'word.dll'; 提示为找不到函数入口,我改STRING 为PCHAR 也不行!
type
TFrmCreateAdo = class(TForm)
Button1: TButton;
ListBox1: TListBox;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
// var 注意不VAR
myCn : variant;
myRs : variant;
public
{ Public declarations }
end;
var
FrmCreateAdo: TFrmCreateAdo;
implementation
{$R *.dfm}
procedure TFrmCreateAdo.FormCreate(Sender: TObject);
var mycnstr : string;
begin
mycn:= Createoleobject('adodb.connection');
myRs:= createoleobject('adodb.recordset');
mycnstr:='Provider=Microsoft.Jet.OLEDB.4.0;Password="";data Source=F:\delphi\delphi数据库开发\Class2\学生学籍.mdb';
mycn.open(mycnstr);
myrs.open('select 学号,姓名,语文 from 学生表',mycn);
end;
procedure TFrmCreateAdo.Button1Click(Sender: TObject);
var
ItemStr: string;
I:integer;
begin
myrs.movefirst;
while not myrs.eof do
begin
itemstr:='';
for i:=0 to myrs.fields.count-1 do
begin
itemstr:=itemstr+vartostr(myrs.fields[i].value)+'||---------||' +chr(vk_tab);
end ;
listbox1.items.add(itemstr);
myrs.movenext;
end ;
end;
var EI: OleVariant;
begin
EI:=CreateOleObject('工程1.Class1'); //VB中的DLL工程名称,类名,使用DLL,要regsvr32 yourname.dll
ca.PrintDoc('c:\test.doc');
CA := Unassigned;
end;