VC和PB精通的高手请进,200分高教!!!请大家不要吝啬!!!

Julienjut 2001-11-13 08:49:04
用VC写了一个动态链接库(主要是图形功能,也有一些资源),需要在PB中调用
当调用
AfxGetResourceHandle();
AfxSetResourceHandle();
以上两个函数时,出错,因为AfxGetResourceHandle()的执行过程中,说INSTANCE为空。
调用 CWinApp *pApp=(CWinApp *)AfxGetApp();其结果也为空,是不是意思是说在PB中没有这样的结构,不能这么用呀。

以上的代码在用VC写的主程序中(DIALOG、SDI、MDI)均好使!
请教高人指点!
...全文
230 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Julienjut 2001-11-18
  • 打赏
  • 举报
回复
伟大的版主还有那个prog_st老兄都去哪了?
Julienjut 2001-11-17
  • 打赏
  • 举报
回复
等待!!!
vcworld 2001-11-15
  • 打赏
  • 举报
回复
等我学会了再说
Julienjut 2001-11-15
  • 打赏
  • 举报
回复
参与也是好的,最起码来点人气!
xtky_limi 2001-11-15
  • 打赏
  • 举报
回复
旁听
harrypotter 2001-11-15
  • 打赏
  • 举报
回复
谢谢两位,这个问题已经解决!
目前的问题是,当主程序是VC的程序时,一切正常;如果主程序是PB的,那么,CFrameWnd类的OnClose()不能成功执行,即当调用 CFrameWnd::OnClose()里,最后一条语句 DistroyWindow()不能成功执行,不知有没有可能解决!如果不解决,当程序退出时,就会发生内存泄露,从而导致DLL在PB中不能以调试状态运行,当然如果编译成可执行文件,程序退出时,有内存泄露也不怕,反正进程结束了。
zj_ok 2001-11-14
  • 打赏
  • 举报
回复
就是AFX_MANAGE_STATE(AfxGetStaticModuleState());
CCToWind 2001-11-14
  • 打赏
  • 举报
回复
把下面这句话加入到dll所有Export的函数的开始处:
AFX_MANAGE_STATE(AfxGetStaticModuleState());
Julienjut 2001-11-14
  • 打赏
  • 举报
回复
//VC DLL
#define DRAWAPI FAR pascal

typedef struct tagBORDER
{
long iLeft;
long iBottom;
long iRight;
long iTop;
}BORDER,*LPBORDER;

BOOL DRAWAPI InitDrawBorderEx(LPBORDER lpBorder) //BORDER &Border
{
return TRUE;
}

//PB中 注意全局函数的名称一定要有VC中的一致,区分大小写,这个问题这我整了两天
Function boolean InitDrawBorderEx(ref tagborder lpboder) Library "polyGonApi.dll
"


tagborder lpborder
boolean initbo
lpborder.iLeft=21000000
lpborder.iBottom=1200000
lpborder.iRight=27000000
lpborder.iTop=3400000
initbo=InitDrawBorderEx( lpBorder)
diligencer 2001-11-14
  • 打赏
  • 举报
回复
Julienjut,我也很希望在PB中调用VC写的动态链接库,不知道你能不能为我提供一个小小的例子。我的email:mr_zyli@sina.com
Julienjut 2001-11-14
  • 打赏
  • 举报
回复
回:jgfang(我们一直在努力) 
您以前碰到过类似的问题吗?参数传递的问题已经解决,谢谢你的提醒!
Julienjut 2001-11-14
  • 打赏
  • 举报
回复
这些都封装在我在DLL中提供的接口函数中,都是MFC提供的函数,当然是在VC中调用的了。
HINSTANCE t_hInstOld = AfxGetResourceHandle();
AfxSetResourceHandle(theApp.m_hInstance);
AfxSetResourceHandle(t_hInstOld);
jgfang 2001-11-13
  • 打赏
  • 举报
回复
把你的问题说清楚点,AfxGetResourceHandle()中是用什么方式取得实例句柄的。
还有,pb中调用的这些函数有传入参数吗,如果有传入参数的话,要注意参数压栈的顺序在vc和pb中是不同的。

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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