点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我们正在尝试使用从I...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我们正在尝试使用从I...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
我们正在尝试使用从Internet获得的以下功能从串行端口读取数据。
问题在于创建带有语句CREATE OBJECT o_obj'" MSCOMMLib.MSComm.1"'的对象。
这将返回sy-subrc = 2并显示异常NO_CREATE_OBJECT。
我们已经将文件MSCOMM32.OCX复制到c:\ windows \ system32中,并成功使用regsvr32.exe注册了它。
我们在Windows XP和Vista上进行了尝试。
有人有什么主意吗?
预先感谢
功能ZSERIALCOM。
*" ----
" "本地投放"
*"导入
*"参考(模式)类型I默认值0
*"参考(COMMPORT)I型默认值1
*"参考(设置)C型默认'2400,N,8,1'
*"参考(输出)C型可选
*"导出
*"参考(输入)C型
*"例外情况
*" NO_CREATE_OBJECT
*" ----
TYPE-POOLS:sabc。
包括ole2incl。
执行初始化。
使用通讯设置执行open_port。
IF模式= 0。
执行读取端口
更改输入。
ENDIF。
IF模式= 1。
执行write_port
使用输出
更改输入。
ENDIF。
最终执行。
ENDFUNCTION。
数据:o_obj类型ole2_object。
&----
*&表单初始化
&----
文本
----
-> p1文字
<-p2文字
----
FORM初始化。
数据:
wa_repid像sy-repid。
wa_repid = sy-repid。
CALL FUNCTION'AUTHORITY_CHECK_OLE'
导出
程序= wa_repid
活动= sabc_act_call
application ='MSCOMMLib.MSComm.1'
例外
no_authority = 1
activity_unknown = 2
OTHERS = 3。
IF sy-subrc <> 0。
消息ID sy-msgid类型sy-msgty编号sy-msgno
有sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4。
ENDIF。
创建对象o_obj'" MSCOMMLib.MSComm.1"'。
IF sy-subrc <> 0。
RAISE no_create_object。
ENDIF。
ENDFORM。 "初始化
----
FORM open_port *
----
........ *
----
-> COMMPORT *
->设置*
----
使用通讯设置来形成open_port。
o_obj'CommPort'的设置属性= commport。
o_obj的"设置属性""设置" =设置。
o_obj'InputLen'的设置属性= 0。
o_obj'PortOpen'的设置属性= 1。
ENDFORM。 " open_port
----
FORM read_port *
----
........ *
----
->输入*
----
FORM read_port
CHANGING输入。
数据:
wa_buffer TYPE i。
做10次。
获取o_obj'InBufferCount'= wa_buffer的属性。
如果wa_buffer> 0。
获取o_obj'Input'的属性=输入。
退出。
ENDIF。
ENDDO。
ENDFORM。 " read_port
----
FORM write_port *
----
........ *
----
->输出*
----
FORM write_port
使用输出
CHANGING输入。
数据:
wa_buffer TYPE i。
o_obj的SET PROPERTY OF'输出'=输出。
做10次。
获取o_obj'InBufferCount'= wa_buffer的属性。
如果wa_buffer> 0。
获取o_obj'Input'的属性=输入。
退出。
ENDIF。
ENDDO。
ENDFORM。
&----
*&最终表格
&----
文本
----
-> p1文字
<-p2文字
----
FORM决赛。
o_obj'PortOpen'的设置属性= 0。
免费对象o_obj。
ENDFORM。 " finalbligw
嗨,
我曾与之合作的是FM
此FM仅在"条件"下工作
1。 MSCOMM32.OCX文件复制到用户系统" C:\ Windows \ System \"或system32
如果您使用的是64位操作系统,则将其粘贴到WOW32文件夹中
2。 给出成功注册的消息框,执行regsvr32 MSCOMM32.OCX
3.Now Active,带有许可证密钥的MSCOMM32.OCX就像
-打开RUN执行:regedit
-Goo u201CHKEY_CLASSES_ROOT \ Licenses \ u201D
-使用'4250E830-6AC2-11cf-8ADB-00AA00C00905'创建新的密钥(文件夹)名称
-提供默认值:kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun
4重新启动系统
然后运行" FM",使其在串行端口具有数据时起作用
问候
Vijay Reddy.G
一周热门 更多>