精通dll的高手请进,有事请教

prosectinfo 2004-05-14 09:33:09
我有一个dll,在dll入口中段建立数据库连接,我在delphi中做了个主程序测试dll
是成功的。但是别人在c#.net中调用(dll至于web服务器上)就不成功,请问原因在哪里呢?
下面是dll项目文件的部分代码:
procedure DLLEntryPoint(dwReason:DWord);
begin
Case dwReason of
DLL_PROCESS_ATTACH:
begin
CoInitialize(nil); //初始化COM对象
BuildConn; //建立数据连结
end;
DLL_PROCESS_DETACH:
begin
FreeConn; //释放数据连接
CoUninitialize(); //清除Com对象
end;
end;
end;

{$R *.res}
exports
GetStr;
begin
DLLProc:=@DLLEntryPoint;
DllEntryPoint(DLL_PROCESS_ATTACH);
end.

//全局变量
var
Adoconnection:TAdoConnection;
DataSource:String;//数据库ip
DataBase:String; //数据库名
DBUser:String; //数据库登录用户
DBPassWord:String;//数据库密码

procedure BuildConn;
procedure GetDBParam
begin
DataSource:='192.168.0.210';
DataBase:='Panda';
DBUser:='sa';
DBPassword:='SUMSUNG';
end;
begin
GetDBParam;
AdoConnection:=TAdoConnection.Create(Nil);
With AdoConnection do
begin
ConnectionString:='Provider=SQLOLEDB.1;Persist Security Info=False;User ID='+DBUser+';Password='+DBPassWord+';Initial Catalog='+DataBase+';Data Source='+DataSource;LoginPrompt:=False;
Connected:=True;
end;
end;

procedure FreeConn;
begin
AdoConnection.Connected:=False;
AdoConnection.Free;
end;
...全文
58 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
kiate 2004-05-14
  • 打赏
  • 举报
回复
我怎么没看到GetStr
看看你得GetStr是不是函数,用其他语言写得程序调用delphi写得dll时应定义成function而且参数类型还须是通用类型
qiume 2004-05-14
  • 打赏
  • 举报
回复
你的代码不多,干脆把它转到COM/COM+ 里面,我有一篇拙作,楼主可参考:
http://www.csdn.net/Develop/read_article.asp?id=24078
Cipherliu 2004-05-14
  • 打赏
  • 举报
回复
这个DLL是否需要运行包的支持,如果需要,没有bpl是不能运行的
prosectinfo 2004-05-14
  • 打赏
  • 举报
回复
GetDBParam 我用设置数据库配置参数的
c#我没有源代码,另一家公司用c#调用这个dll的
aiirii 2004-05-14
  • 打赏
  • 举报
回复
GetDBParam;
是什麼作用的??

C#代碼??
prosectinfo 2004-05-14
  • 打赏
  • 举报
回复
在c#.net中不能调用,应为数据库不能连接,为什么把dll放到web服务器上,在c#.net中就不能调用呢?
hch_45 2004-05-14
  • 打赏
  • 举报
回复
你到系统日志是看看是什么错误?
prosectinfo 2004-05-14
  • 打赏
  • 举报
回复
谢谢up
Sorder 2004-05-14
  • 打赏
  • 举报
回复
DLL的传入参数应该使用通用的

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧