社区
API 调用
帖子详情
请PB和vc双高手解决用VC写的动态库pb8返回正确,PB11返回乱码问题
编程夜猫
2008-05-20 08:56:36
前些天用VC写了个动态库,通过参数返回字符串,函数原型如下:
Foo(char *p)
请高手指教,为何PB8能返回正常,pb11返回就是乱码。
该如何解决?
...全文
251
6
打赏
收藏
请PB和vc双高手解决用VC写的动态库pb8返回正确,PB11返回乱码问题
前些天用VC写了个动态库,通过参数返回字符串,函数原型如下: Foo(char *p) 请高手指教,为何PB8能返回正常,pb11返回就是乱码。 该如何解决?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wyf0452
2010-03-20
打赏
举报
回复
也在找同样的问题,顶一个
WorldMobile
2008-05-21
打赏
举报
回复
需要API函数里加上ansi即可
function long foo(ref string path) Library "some.dll" alias for 'foo;ansi'
lllyyymmm
2008-05-21
打赏
举报
回复
上面都是正解
AFIC
2008-05-20
打赏
举报
回复
比如你8的定义是
function long foo(ref string path) Library "some.dll"
11要改成
function long foo(ref string path) Library "some.dll" alias for 'foo;ansi'
或者你vc加上unicode定义
编程夜猫
2008-05-20
打赏
举报
回复
[Quote=引用 1 楼 jlwei888 的回复:]
可以是编码不同的问题!PB10后unicode编码
[/Quote]
如何解决,我要的解决方案!
jlwei888
2008-05-20
打赏
举报
回复
可以是编码不同的问题!PB10后unicode编码
自己编译的UNICODE版任务栏通告操作控件
PB
9以上的
PB
版本适用。 使用只有三个函数,很简单。 这是用
PB
NI编
写
的控件,
VC
6的IDE,
VC
2003的编译器编译,UNICODE版本。 三个函数的使用说明: of_addtip(unsignedlong winhandle, string tip) 添加一个tip。这是必须首先调用的函数,即:在使用其他两个函数前,必须先调用此函数。 winhandle:窗口句柄,操作tip的窗口的句柄,tip的图标即用此窗口的图标。 tip: tip的字符内容。 of_modifytip(string title, string info) 修改tip的内容,并且动态将修改的内容立即显示。参数的含义明显。 of_deletetip() 删除tip. 对tip图标上的鼠标操作的处理: 原理是:图标上的所有windows消息,都会转发到参数winhandle所代表的窗口,作为该窗口的WM_USER消息,即触发该窗口的
pb
m_custom01事件。
pb
m_custom01事件的lparm参数指定tip图标的windows消息号。 具体作法:在参数winhandle所代表的窗口的
pb
m_custom01事件中
写
代码,检测lparm的值,以判断鼠标进行了哪种操作,如:lparm为517(WM_RBUTTONUP),表示鼠标弹起。
pb
m_custom01中的示例代码: //start CONSTANT long WM_MOUSEMOVE = 512 CONSTANT long WM_LBUTTONDOWN = 513 CONSTANT long WM_LBUTTONUP = 514 CONSTANT long WM_LBUTTONDBLCLK = 515 CONSTANT long WM_RBUTTONDOWN = 516 CONSTANT long WM_RBUTTONUP = 517 CONSTANT long WM_RBUTTONDBLCLK = 518 CONSTANT long WM_USER = 1024 CONSTANT long NIN_BALLOONSHOW =(WM_USER + 2) CONSTANT long NIN_BALLOONHIDE =(WM_USER + 3) CONSTANT long NIN_BALLOONTIMEOUT =(WM_USER + 4) CONSTANT long NIN_BALLOONUSERCLICK =(WM_USER + 5) m_base lm_menu CHOOSE CASE lparam CASE WM_MOUSEMOVE // CASE WM_LBUTTONDOWN //鼠标左键按下 CASE WM_LBUTTONUP //鼠标左键弹起 CASE WM_LBUTTONDBLCLK //鼠标左键
双
击 CASE WM_RBUTTONDOWN // SetFocus ( this ) lm_menu = CREATE m_base lm_menu.PopMenu(PointerX(),PointerY()) DESTROY lm_menu CASE WM_RBUTTONUP // CASE WM_RBUTTONDBLCLK // CASE NIN_BALLOONSHOW // CASE NIN_BALLOONHIDE // CASE NIN_BALLOONTIMEOUT // CASE NIN_BALLOONUSERCLICK // CASE ELSE Beep(0) END CHOOSE //end 注意事项: 经测试,本
PB
NI如果与其他非UNICODE版的
PB
NI同用时,会显示
乱码
。无解。 如有BUG,敬
请
及时告知。 本控件的讨论贴: http://topic.csdn.net/u/20090510/20/14a57e09-02ca-44df-8f9b-e3811678360d.html
ReportMachine
ReportMachine for delphi xe5 Report Machine目前主要能做的: 1、支持屏幕打印,控制方法多样,可以打印全部rxlib控件 全部InfoPower控件,TDBGrid,TStringGrid,TImage,TEdit等,TDBGridEh,f1book, TDecisionGrid等等众多控件。(例子1,例子2,例子3,例子4,例子5) 2、支持最终用户设计、修改报表,只需连接相关的数据源,指出数据的位 置(设置报表样式),无论是主从表,子报表,套表,都可迅速生成。开发 一个报表只需几分钟的时间。 3、报表样式可以保存为rmf格式,下次可通过读入使用(配合SQL脚本就可以生成 报表)。并可以把带数据的报表保存为rmp格式,在任何机器上都可以浏览、打印, 而不需要数据库。 4、生成后的报表支持修改,包括字体的设置,边框的设置,修改内容等。 5、报表编辑器内自带ado,bde,ibx,Diamond dao,dbisam等数据访问控件,可以 通过这些控件开发独立的报表制作工具。其使用方法和delphi中的控件是一样的。 6、完全、自由自定义页面、边距、字体,标题和页眉页脚,并可以在自认合适的 地方插入函数来实现当前日期,页合计,总合计等功能,合计字段可以放在页头,分 组头,并支持条件合计,对分组合计,分页合计,总计等只需简单地设置属性即可。 7、完全支持D5--D7,BCB5--BCB6。 8、报表中可以在自认合适的事件(on beforeprint,on afterprint等)中加入程 序脚本,以控制、或实现更复杂的打印效果。 9、更新迅速,可根据使用人员与用户的意见,不断的加入新的功能。 10、多种格式转换,可以把做出的报表转换为html,xls,pdf,bmp,jpeg等等格式。 11、自动对超长记录折行,超长的内容也会自动折行,中文换行不会
乱码
。 12、首家支持缩放打印功能,可以根据打印时选择的纸张自动缩放报表。 13、首家支持即打即停. 14、首家提供类似excel的报表设计器,给你足够灵活方表的报表设计方式。 15、首家提供
双
报表设计器(第一种,第二种),满足所有的需求。 16、更是提供类似于ObjectPascal的script,实现特殊功能。 17、首家提供web,IntraWeb中的报表
解决
方案。 18、首家提供报表压缩处理,占用内存更少,生成报表速度更快。 19、首家提供合并单元格功能,更加适应处理复杂的中文报表。 20、自动填空行,每页打印数量等细节处理更完善。 二、ReportMachine版本简介: 1、
VC
L版:这是ReportMachine基础版本,一般以全部源码形式提供给注册用户,可以用在Delphi5-Delphi 2009,C++ Builder5.0-C++ Builder 2009开发环境中。 2、com版:是个单独的ocx文件(RMReport.ocx),是用Delphi 7.0及以上版本开发的,是对
VC
L版ReportMachine控件的再封装,具有
VC
L版的全部功能,安装、使用上更容易些,com版的ReportMachine可以用在vb,
vc
,vfp,
pb
等开发语言中。一般以ocx无源码形式提供,也可以有全部源码(包括
vc
l源码+ocx源码) 3、com版for .net WinForm:跟com版一样,但多了个.net下的数据库接口程序,此版可以用在vb.net,c#中,做winform程序的报表工具。一般以ocx无源码形式提供,也可以有全部源码。 4、webreport版:是对ReportMachine
vc
l版的再开发,用在asp,asp.net,jsp做的b/s架构的程序中,为客户端ie提供报表预览、打印、导出功能,webreport包括2部分:服务器端报表引擎(在asp,asp.net,jsp都能用,webreport对上述3中语言都开发了报表引擎)、客户端ie浏览器ActiveX插件(ActiveX插件只有一个,可以自动感知服务器端报表引擎版本)。webreport版不具备设计报表模版功能,需要用单独的报表设计程序在服务器端设计报表,也可以用本站提供的RMDesigner。 5、webreport for IntraWeb版:跟webreport版功能一样,是专为Delphi中的IntraWeb
vc
l提供的报表插件。 6、RMDesigner:是用
vc
l版ReportMachine开发的一个报表设计器,可以用来为webreport提供报表设计功能。
pb
中程序汉字粘贴会出现
乱码
的
解决
方法
pb
中程序汉字粘贴会出现
乱码
的
解决
方法 SYBASE学习(一)群:1185914 行了 10:48:11 也想到一个
乱码
问题
,
pb
中的程序,用“复制、粘贴”到笔记本,汉字就
乱码
。 /[M]高山流水 10:48:52
pb
中的程序,用"复制、粘贴"到笔记本,汉字就
乱码
,复制和粘贴在汉字输入模式下就不是
乱码
了 行了 10:52:04 在汉字输入模式下,"复制、粘贴"到...
PB
调用DLL的常见
问题
及处理方法
PB
调用DLL的常见
问题
及处理方法 首先,为方便描述,先假设有一个DLL文件,名称为 test.dll,里面有个函数叫test。 第一类:通用型标准DLL 1、调用约定
问题
。Windows系统的标准DLL,通常有2种调用约定,即__cdecl和__stdcall,__stdcall约定在.h文件中通常又定义为 WINAPI和CALLBACK。咱们的
PB
只能调用__stdcall约定的DLL,不能调用__cdecl约定的DLL。 如果调用了__cdecl约定的函数,会报以上错误。.
读取.ini文件
乱码
的
解决
办法
void CGetConfigInfo::GetValueByKey(QSettings *seting, const QString &key, QString &value) { if(seting != nullptr) { value = seting->value(key).toString(); } } void CGetConfigInfo::GetValueByKey(QString path, const QString &a
API 调用
680
社区成员
4,762
社区内容
发帖
与我相关
我的任务
API 调用
PowerBuilder API 调用
复制链接
扫一扫
分享
社区描述
PowerBuilder API 调用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章