惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI
Help Net Security
Help Net Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
GbyAI
GbyAI
博客园_首页
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MongoDB | Blog
MongoDB | Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
L
LINUX DO - 最新话题
PCI Perspectives
PCI Perspectives
博客园 - 三生石上(FineUI控件)
V2EX - 技术
V2EX - 技术
Spread Privacy
Spread Privacy
T
Tor Project blog
量子位
阮一峰的网络日志
阮一峰的网络日志
S
SegmentFault 最新的问题
小众软件
小众软件
博客园 - 叶小钗
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Blog — PlanetScale
Blog — PlanetScale
H
Help Net Security
Y
Y Combinator Blog
N
News | PayPal Newsroom
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
T
Tenable Blog
Scott Helme
Scott Helme
G
GRAHAM CLULEY
大猫的无限游戏
大猫的无限游戏
aimingoo的专栏
aimingoo的专栏
IT之家
IT之家
Schneier on Security
Schneier on Security
F
Fortinet All Blogs
Martin Fowler
Martin Fowler
T
Threat Research - Cisco Blogs
博客园 - 司徒正美
Application and Cybersecurity Blog
Application and Cybersecurity Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Attack and Defense Labs
Attack and Defense Labs
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
The Last Watchdog
The Last Watchdog
L
LangChain Blog
C
Check Point Blog
Google Online Security Blog
Google Online Security Blog
V
Visual Studio Blog
Latest news
Latest news

博客园 - NextStep-V

新年学习进行时:关于十二生肖的英文表达 姓名音韵 不完全解码 ON REG EXPRESSION.SYNTAX - NextStep-V WBS ON wedding project (marked) ON sap portal (I) JS 四种定义方式 Dijest :on Web Dynpro or BSP FI模块间集成性设置 SAP系统财务模块的集团公司处理模式 耶鲁大学校长批判民朝大学 XI Dev. guide SAP Exchange Infrastructure POINTS 认识 ITIL Difference between sap_all and sap_new 企业财务流程: 传统存照 ASAP介绍 概要 SAP财务管理大全 精要 Series 心的强大--朱重八传 摘记 挑水与挖井z
on abap and ocx
NextStep-V · 2009-10-22 · via 博客园 - NextStep-V

今天去拜访了一下师傅,很是感慨。。。感慨之余,将所见所闻之新玩意儿找找资料,演练落实一下。

技术这玩意儿,一是要用,用则易学,用则显灵,二是要思,思则明,思则通,思则达,三是要破,不破不立,不能固步自封,如一招鲜,吃遍天,天下唯此术独尊之类思想是不可取的,技术思想、技术手段随着人们智能的发展、应用的深入是不断发展的,永无止境。

abap是面向商业编程用的,对底层和系统的操控能力欠佳,但是,应该还是有一些技术手段弥补这些先天不足的。比如,与ocx结合。

下面援引的一个老白的例子,揭示了一般原理和方法。

REPORT  z_barry_flash NO STANDARD PAGE HEADING.

DATA: cont TYPE REF TO cl_gui_custom_container .

CLASS cl_flash DEFINITION DEFERRED .
DATA: o_flash TYPE REF TO cl_flash .

*---------------------------------------------------------------------*
* CLASS cl_flash DEFINITION
*---------------------------------------------------------------------*
CLASS cl_flash DEFINITION INHERITING FROM cl_gui_control .
  PUBLIC SECTION .
    METHODS:
      constructor
        IMPORTING
          value(shellstyle) TYPE i OPTIONAL
          value(disp_mode) TYPE i OPTIONAL
          value(life_time) TYPE i OPTIONAL
          value(name) TYPE string OPTIONAL
        EXCEPTIONS
          cntl_error
          cntl_install_error .
ENDCLASS .                    "cl_flash DEFINITION

*----------------------------------------------------------------------*
*       CLASS cl_flash IMPLEMENTATION
*----------------------------------------------------------------------*
CLASS cl_flash IMPLEMENTATION .

  METHOD constructor.
    DATA: ctrl_name(80) TYPE c ,
    wf_clsid(100) TYPE c .
    IF NOT cl_gui_object=>activex IS INITIAL .
      wf_clsid = '{D27CDB6E-AE6D-11cf-96B8-444553540000}' .
    ELSE .
      RAISE cntl_error .
    ENDIF .

    CALL METHOD super->constructor
      EXPORTING
        clsid             = wf_clsid
        parent            = cont
        shellstyle        = shellstyle
        lifetime          = life_time
        name              = name
      EXCEPTIONS
        cntl_system_error = 1
        OTHERS            = 2.
    CASE sy-subrc .
      WHEN 1 .
        RAISE cntl_install_error .
      WHEN 2 .
        RAISE cntl_error .
    ENDCASE .

    CALL METHOD set_property
      EXPORTING
        property          = 'Movie'
        value             = 'c:\test.swf'
      EXCEPTIONS
        cntl_system_error = 1
        cntl_error        = 2
        OTHERS            = 3.

    CALL METHOD cl_gui_cfw=>subscribe
      EXPORTING
        ref     = me
        shellid = me->h_control-shellid
      EXCEPTIONS
        OTHERS  = 1.
    IF sy-subrc NE 0 .
      RAISE cntl_error .
    ENDIF .

  ENDMETHOD . "constructor
ENDCLASS . "cl_flash IMPLEMENTATION

START-OF-SELECTION.
  CALL SCREEN 100 .

*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'MAIN'.
  IF cont IS INITIAL.
    CREATE OBJECT cont
      EXPORTING
        container_name = 'CON1'.
    CREATE OBJECT o_flash .
  ENDIF.
ENDMODULE.                 " STATUS_0100  OUTPUT

*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
  CASE sy-ucomm.
    WHEN 'BACK'.
      LEAVE PROGRAM.
  ENDCASE.
ENDMODULE.                 " USER_COMMAND_0100  INPUT