急!求救dll参数传递问题!!

hanaichun 2005-05-30 11:56:47
我用vc写一个控制台程序,我想把里面主要的逻辑写成dll,现在我遇到几个问题!
1.在控制台程序中已经用obdc连上数据库,并可以处理数据.在dll中也要处理数据库数据,
不知dll的数据库连接是用控制台程序传入呢!还是要在dll中重写数据库连接?
2.假如我dll中写了一个类(其中有很多的自定义函数),我想把类里的其中一个函数(此函数也用到了dll中的其他函数)导出到控制台程序,
不知道怎么写!
3.控制台程序传入到dll有多个参数,可是dll传出到控制台程序只要一个参数,不知这个参数是否可以用那个导出函数直接返回?
我初学vc,希望各位高手指点!谢谢!
...全文
196 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
AndyFunction 2005-06-10
  • 打赏
  • 举报
回复
up
hanaichun 2005-05-31
  • 打赏
  • 举报
回复
那怎么调用呢?
senses1 2005-05-31
  • 打赏
  • 举报
回复
class AFX_EXT_CALSS classname
hanaichun 2005-05-31
  • 打赏
  • 举报
回复
class _declspec(dllexport) GetCell
{
public:
GetCell();
virtual ~GetCell();
public:
CString CellNo;//返回变量
_ConnectionPtr m_pConnection;
bool SelectSql(LPCSTR SqlStr,_RecordsetPtr rs);//查询SQL语句
bool ExecSql(LPCSTR SqlStr);//执行SQL命令
bool ConDB();//打开连接
void Close();//关闭连接
CString PickCell(long PickCellType,char *artno,char *mcustno);
CString RecentCell(char *artno,char *mcusnto);
bool AssignCell(char *artno,char *mcustno,long qustype,double qins,double qpalette);//返回函数
};
dll的类是这样定义的,里面的函数也都些好了!请问高手在控制台程序中怎么调用?
oyljerry 2005-05-30
  • 打赏
  • 举报
回复
1,通过参数
2,导出类
3,可以返回
sboom 2005-05-30
  • 打赏
  • 举报
回复
1.在DLL中写新的连接比较好,不然就数据耦合了,以后很麻烦的。
2.你不如把整个类导出,要么就写多一个导出函数,这个函数里再使用类里面的那个函数。
3.可以用DLL直接返回啊。
hanaichun 2005-05-30
  • 打赏
  • 举报
回复
我在dll中把要的数据放在一个CString的变量中,在控制台程序中可以直接用吗?
Kudeet 2005-05-30
  • 打赏
  • 举报
回复
加载可以用动态方式:loadlibrary函数得到DLL模块句柄,然后用GetProcAddress函数得到DLL中函数的地址再调用。最好不要用dll导出CString,很容易出问题,用char*或者其他的都可以
hanaichun 2005-05-30
  • 打赏
  • 举报
回复
导出类之后,在控制台程序中怎么加载啊!
在dll中返回的变量可以是CString吗?

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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