现有二个DLL
调用的时候从程序里传了一个ADO连接参数,为什么一个成功,一个却自己会在传过来的参数上加无数的东东?结果调用的时候出错:未发现数据源名称,并且未指定默认的驱动程序?
下面是多出来的部分:(
'Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=ABC;Use Encryption for Data=False;Tag with column collation when possible=False'这是怎么回事?????????????
调用的时候从程序里传了一个ADO连接参数,为什么一个成功,一个却自己会在传过来的参数上加无数的东东?结果调用的时候出错:未发现数据源名称,并且未指定默认的驱动程序?
下面是多出来的部分:(
'Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=ABC;Use Encryption for Data=False;Tag with column collation when possible=False'这是怎么回事?????????????
LibHandle: THandle;
ShowAbcdEnter: TShowAbcdEnter;
begin
LibHandle := LoadLibrary('Dll\AbcdEnterDll.dll');
try
if LibHandle = 0 then
raise EDLLLoadError.Create('无法成功装入资源文件,请检查');
@ShowAbcdEnter := GetProcAddress(LibHandle,'ShowAbcdEnter');
if not (@ShowAbcdEnter = nil) then
Begin
ShowAbcdEnter(Application.Handle,AaaForm.Adocca,AaaForm.SyUser);
End
else
RaiseLastWin32Error;
finally
FreeLibrary(LibHandle);
end;uses
ShareMem,Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,ActiveX, StdCtrls, ExtCtrls, Buttons, ComCtrls,Jpeg, DB, ADODB, ExtDlgs;
function ShowAbcdEnter(AHandle: THandle; PassAdoc: String; PassUser: String):BOOL; StdCall;
var
AbcdEnterForm : TAbcdEnterForm;
begin
Application.Handle := AHandle;
AbcdEnterForm := TAbcdEnterForm.Create(Application);
try
AbcdEnterForm.Adoc.Connected:=False;
AbcdEnterForm.ADOC.ConnectionString:=PassAdoc;
AbcdEnterForm.ADOC.Connected:=True;
AbcdEnterForm.Edit2.Text:= PassUser;
AbcdEnterForm.ShowModal;
Result := False;
finally
AbcdEnterForm.Free;
end;
End;
rwdx(任我独行之浪迹天涯)便宜你了:)
以后我的问题要多多支持哦:)