一种编程语言不可能是万能的,但通过各种接口技术可以集成其它技术以实现目标. 譬如, 在SAP GUI 屏幕编程中, SAP 提供了SAP GUI Control以提供可复用的控件, 这些控件可以以ActiveX或Java Bean实现. 在 SAP GUI for Windows中, SAP GUI Control 采用ActiveX实现, 安装GUI for windows后, 我们就可以通过这些控件调用SAP系统中的功能,譬如说在VBA中调用RFC. 而在SAP系统中,我们也可以调用系统已注册的ActiveX控件, 下面以Media Player Control为例说明:
确定Media Player 控件的ClassId,它是用来实例化控件时使用.
在ABAP 程序中实现Media Player 控件的wrapper class:
*----------------------------------------------------------------- PUBLIC SECTION. ENDCLASS. "lcl_player DEFINITION *----------------------------------------------------------------- METHOD constructor. ENDMETHOD. "constructor METHOD stop. CALL METHOD me->call_method METHOD play. DATA: l_url TYPE char100. l_url = file. CONCATENATE 'file://' l_url INTO l_url. CALL METHOD set_property ENDMETHOD. "PLAY
|
以上代码只是对Media Player 控件的简单封装调用
封装类的使用同其它GUI Control相同, 即需要在屏幕上建立Custom Container, 再实例化一个容器类,并传到封装类的构造器中.
效果运行如下:
PS: 每种语言都有其最适合的地方, 要多想想编程语言的特点, 以后每个编程人员都需要会用两三种语言来结合起来工作,这也是一个趋势. 譬如SQL,,这恐怕是每个应用都需要用到的.
以前在AMS写过一个JS对Media Player的封装类, 当时就找了些关于Media Player Control 的资料,地址为
http://msdn.microsoft.com/en-us/library/dd564034(VS.85).aspx