PB调用VC++动态库函数

perkypig 2000-03-06 01:26:00
在PB中怎样调用VC++动态库函数
extern "C" __declspec(dllexport) short Func1(char* a1)
主要是参数a1怎样使用?若a1为一HWND(窗口句柄)型又怎样使用?
我在PB中声明此函数为
Function int func1(cstring ss) library "Mydll.dll"
如下调用:
cstring str = '12345'
int re
re = func1(str)
调试时总提示参数类型错误,我该这么办?
...全文
167 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
laser 2000-03-14
  • 打赏
  • 举报
回复
给我email,传你一分文档,不过是英文的,要不要?
zhuor 2000-03-14
  • 打赏
  • 举报
回复
注意PB与C之间的数据类型对应关系:
char * => string
short => integer(int)
int => long
handle => ulong
另外,在DLL的输出时要注意不要按C++的命名规则,最好是用一个.DEF文件
sweetbomb 2000-03-11
  • 打赏
  • 举报
回复
在Func1前加PASCAL,因为PB只支持PASCAL方式的参数调用方式!(sweetbomb@21cn.com),如是,可给我加几分(不要小气)?
929 2000-03-06
  • 打赏
  • 举报
回复
char * 声明为BLOB,窗口句柄 是一个长整数,就声明为ULONG
此动态链接库是专门用于美化程序的菜单的。实现方法是在原有菜单的基础上直接调用,非常方便。库经过长时间的修改,已经很完善了。现在将其发布出来,供大家使用。 【发行文件】 DLL文件:cutemenu.dll LIB文件:cutemenu.lib VC++头文件:cutemenu.h VB声明模块:cutemenu.bas PB包含文件:cutemenu.pbi 帮助文件:help.chm 【特点】 1、内部实现完全依赖已经建立好的菜单,没有另行建立任何结构数组用来保存自绘菜单信息。 2、用户可以自己设置自绘风格(30多项)。支持渐变填充、Alpha混合、32位透明位图菜单项,界面美观。 3、使用方便,仅在适当的时候调用3个函数即可。 4、库文件体积小巧。 【编译器】 PureBasic 4.20 【使用说明】 文件夹“Demo Code”中有 Visual C++ 6.0、Visual Basic 6.0、PureBasic 三种 IDE 环境下的演示代码,用户可根据具体情况选择参考。 使用的具体思路是对已存在的菜单调用 AssignOwnerDraw(HMENU hMenu, UINT fSubIncluded) 函数,该函数会为该菜单的每项设置 MFT_OWNERDRAW 标志。如果 fSubIncluded 不为0,函数会遍历该菜单下挂的所有子菜单的各菜单项。这个函数可以在加载菜单后就调用,也可以在 WM_INITMENU/WM_INITMENUPOPUP 消息中即时调用。之后,在消息循环中的 WM_MEASUREITEM 和 WM_DRAWITEM 消息分别调用 MeasureItem(LPMEASUREITEMSTRUCT lpmis) 和 DrawItem(LPDRAWITEMSTRUCT lpdis) 实现自绘。 链接库刚运行时的菜单风格是当前系统默认的,用户可以凭借库里提供的另两个功能强大的函数 GetMenuStyle(LPMENUSTYLE lpms) 和 SetMenuStyle(LPMENUSTYLE lpms) 实现项目颇为丰富(30多项)的菜单风格设置。恰当地设置各参数,可以逼真地模仿别的软件的菜单风格,也可以随心所欲地实现自己独特的风格。 各函数调用和其它一些技术问题请参阅目录下的帮助文档。

1,076

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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