前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于PowerBuilder的搜索

[求助]pb调用ocx,如何传递指向结构的指针参数 - CSDN论坛 - CSDN.NET --> 首页 论坛帮助 论坛牛人 论坛地图 CSDN > CSDN论坛 > PowerBuilder > 控件与界面 管理菜单 置顶 推荐 锁定 移动 编辑 删除 帖子加分 帖子高亮 结帖 发帖 回复 godeagle [求助]pb调用ocx,如何传递指向结构的指针参数 [问题点数:100分,结帖人godeagle] 不显示删除回复 显示所有回复 显示星级回复 显示得分回复 只显示楼主 收藏 godeagle godeagle 等级: 结帖率:100% 楼主 发表于: 2005-03-03 09:24:30 有一ocx控件,其中有个函数,函数声明是 function Query(pRecord: Integer): Integer; pRecord:指向结构TUSER_RECORD的指针(IN/OUT),其中的工号字段为输入参数,其他为输出参数。 结构定义是 type TUSER_RECORD = packed record szWorkNWord; //工号 szUserName:array [0..MAXLEN_USERNAME] of Char; //用户名 szPassword:array [0..MAXLEN_PASSWORD] of Char; //密码 End; type PUSER_RECORD = ^TUSER_RECORD; 该函数如何在pb中调用?pb中没有指针!!请大家帮忙,谢谢!!! 分享到: 更多 对我有用[0] 丢个板砖[0] 引用 | 举报 | 编辑 删除 管理 回复次数:18 j9dai j9dai 等级: 结帖率:100% 3 #1 得分:0 回复于: 2005-03-03 09:57:39 可以直接用结构体吗? 对我有用[0] 丢个板砖[0] 引用 | 举报 | 编辑 删除 管理 31737951 31737951 等级: 结帖率:100% #2 得分:0 回复于: 2005-03-03 12:01:31 ocx 你可在pb的 外部控件中 看调用方法啊 ,象指针的 它会自动转换的 如里面没有那就是pb不自持这个函数了,呵呵 ,晓得结构的话可以定义结构体的,没问题,呵呵 对我有用[0] 丢个板砖[0] 引用 | 举报 | 编辑 删除 管理 hygougou hygougou 等级: 结帖率:100% 44 #3 得分:0 回复于: 2005-03-03 12:44:26 直接传入工号参数试试 对我有用[0] 丢个板砖[0] 引用 | 举报 | 编辑 删除 管理 godeagle godeagle 等级: 结帖率:100% #4 得分:0 回复于: 2005-03-03 13:53:45 直接传工号不行。 to: 31737951(梦回唐朝) ocx 你可在pb的 外部控件中 看调用方法啊 ,象指针的 它会自动转换的 如里面没有那就是pb不自持这个函数了,呵呵 ,晓得结构的话可以定义结构体的 你所说的pb的外部控件究竟在哪里?能否详细的提供一下pb9中的操作步骤, 我想应该支持这个函数的, 我在pb里面定义了一个和上面一样的结构 struc a。 然后调用Query(ref a)报错,请大家帮忙看看!谢谢!! 对我有用[0] 丢个板砖[0] 引用 | 举报 | 编辑 删除 管理 nimittz nimittz 等级: 结帖率:94.87% #5 得分:0 回复于: 2005-03-03 20:21:30 关注,学习了!! 对我有用[0] 丢个板砖[0] 引用 | 举报 | 编辑 删除 管理 wu_07 wu_07 等级: 结帖率:100% 2 #6 得分:0 回复于: 2005-03-04 09:17:40 FUNCTION long Query(ref TUSER_RECORD stru) LIBRARY " 对我有用[0] 丢个板砖[0] 引用 | 举报 | 编辑 删除 管理 godeagle godeagle 等级: 结帖率:100% #7 得分:0 回复于: 2005-03-04 11:21:57 to: wu_07(一只狗不孤单,想一只狗才孤单) ( ) FUNCTION long Query(ref TUSER_RECORD stru) LIBRARY " 直接调用ocx中的函数,难道要重新声明吗? library 后面是否是加上ocx控件名?我这样试过了,不行! 对我有用[0] 丢个板砖[0] 引用 | 举报 | 编辑 删除 管理 31737951 31737951 等级: 结帖率:100% #8 得分:0 回复于: 2005-03-04 20:00:00 ocx调用前要先注册,注册后pb中在浏览 ole 中就可找到 对我有用[0] 丢个板砖[0] 引用 | 举报 | 编辑 删除 管理 lzheng2001 lzheng2001 等级: 结帖率:100% 177 #9 得分:0 回复于: 2005-03-04 21:37:44 自己定义一个PB的结构 然后调用 Query(pbstru) 对我有用[0] 丢个板砖[0] 引用 | 举报 | 编辑 删除 管理 godeagle godeagle 等级: 结帖率:100% #10 得分:0 回复于: 2005-03-05 13:04:29 ocx已经注册,在ole里面可以看到,否则我怎么加到窗口里面呢,在ole的browse中可以看到该ocx的方法等,其中有这个query,所以说pb应该是支持这个函数的。 结构已经在pb中定义了, 调用query(stru)就是是直接调用结构变量,不行,报错。 对我有用[0] 丢个板砖[0] 引用 | 举报 | 编辑 删除 管理 31737951 31737951 等级: 结帖率:100% #11 得分:0 回复于: 2005-03-05 15:40:24 实在不行用 any或 blob 类型的试试 对我有用[0] 丢个板砖[0] 引用 | 举报 | 编辑 删除 管理 lzheng2001 lzheng2001 等级: 结帖率:100% 177 #12 得分:0 回复于: 2005-03-05 23:22:38 报什么错? 对我有用[0] 丢个板砖[0] 引用 | 举报 | 编辑 删除 管理 godeagle godeagle 等级: 结帖率:100% #13 得分:0 回复于: 2005-03-06 13:28:20 pb 版本:9.0.2 7578, 用query(stru) query(ref stru)都报同样的错 错误框提示: --------------------------- PowerBuilder Application Execution Error (R0035) --------------------------- Application terminated. Error: Error calling external object function query at line 11 in clicked event of object cb_1 of w_main. --------------------------- 确定 --------------------------- 对我有用[0] 丢个板砖[0] 引用 | 举报 | 编辑 删除 管理 nimittz nimittz 等级: 结帖率:94.87% #14 得分:50 回复于: 2005-03-06 20:34:26 可能是packed 的结构和一般的record 不同的,好像内存分配的更紧凑阿,改改你的pb的结构声明呢 对我有用[0] 丢个板砖[0] 引用 | 举报 | 编辑 删除 管理 nimittz nimittz 等级: 结帖率:94.87% #15 得分:0 回复于: 2005-03-06 20:42:20 好像是2个字节word,然后直接跟上char数组,而一般分配内存是以4个字节为单位的,即至少要4字节,你的声明是delphi拷过来的吧 对我有用[0] 丢个板砖[0] 引用 | 举报 | 编辑 删除 管理 godeagle godeagle 等级: 结帖率:100% #16 得分:0 回复于: 2005-03-08 08:31:02 是delphi的声明,pb的结构声明如何写呢?我现在写的是 unsignedlong szworkno char szusername[20] char szpassword[8] 请指教,谢谢! 对我有用[0] 丢个板砖[0] 引用 | 举报 | 编辑 删除 管理 lzheng2001 lzheng2001 等级: 结帖率:100% 177 #17 得分:50 回复于: 2005-03-08 11:21:59 ulong szworkno character szusername[20] character szpassword[8] 对我有用[0] 丢个板砖[0] 引用 | 举报 | 编辑 删除 管理 godeagle godeagle 等级: 结帖率:100% #18 得分:0 回复于: 2005-03-09 13:56:54 ulong szworkno character szusername[20] character szpassword[8] 这样不行。 对我有用[0] 丢个板砖[0] 引用 | 举报 | 编辑 删除 管理 管理菜单 置顶 推荐 锁定 移动 编辑 删除 帖子加分 帖子高亮 结帖 发帖 回复 写出你眼中的IE11 赢取新年好礼! 勇敢写出你的爱 赢莫文蔚签名大礼 2014年4月微软MVP申请开始了! 陈勇- 敏捷开发现状及发展之路 CSDN高校俱乐部 高校全新改版邀你来学习和挑战 本帖子已过去太久远了,不再提供回复功能。 核心技术类目 全部主题 Java VPN Android iOS ERP IE10 Eclipse CRM JavaScript Ubuntu NFC WAP jQuery 数据库 BI HTML5 Spring Apache Hadoop .NET API HTML SDK IIS Fedora XML LBS Unity Splashtop UML components Windows Mobile Rails QEMU KDE Cassandra CloudStack FTC coremail OPhone CouchBase 云计算 iOS6 Rackspace [关闭] [关闭]