Code: Alles auswählen.
data(ref) = ABC=>GET( ).
Code: Alles auswählen.
CLASS y DEFINITION INHERITING FROM x.
...
DATA ref_y TYPE REF TO y.
DATA(ref_x) = abc=>get( ).
ref_y ?= ref_x.
Code: Alles auswählen.
CLASS y DEFINITION.
PUBLIC SECTION.
INTERFACES if.
Code: Alles auswählen.
PARAMETERS p_test TYPE string DEFAULT 'test text demo'.
*CLASS my_btf_editor DEFINITION INHERITING FROM cl_btf_editor.
CLASS my_btf_editor DEFINITION.
PUBLIC SECTION.
INTERFACES if_btf.
METHODS get_editor_control RETURNING VALUE(editor) TYPE REF TO cl_gui_btfeditor.
ENDCLASS.
CLASS my_btf_editor IMPLEMENTATION.
METHOD get_editor_control.
* editor = m_ctrl_editor.
ENDMETHOD.
ENDCLASS.
CLASS btf_helper DEFINITION FRIENDS cl_btf.
PUBLIC SECTION.
METHODS show.
PROTECTED SECTION.
DATA my_editor TYPE REF TO my_btf_editor.
DATA editor TYPE REF TO if_btf_editor.
DATA btf_editor TYPE REF TO cl_btf_editor.
ENDCLASS.
AT SELECTION-SCREEN.
NEW btf_helper( )->show( ).
CLASS btf_helper IMPLEMENTATION.
METHOD show.
DATA(btf) = cl_btf=>get_reference( ).
DATA(btf_doc) = btf->create_document( sy-langu ).
btf_editor ?= btf->create_editor( btf_doc ).
editor ?= btf_editor.
* my_editor ?= editor. "==> DUMP
editor->initialize( ctrl_parent =
NEW cl_gui_docking_container(
ratio = 30
side = cl_gui_docking_container=>dock_at_bottom ) ).
DATA xstring TYPE xstring.
DATA len TYPE i.
CALL FUNCTION 'ECATT_CONV_STRING_TO_XSTRING'
EXPORTING
im_string = |<html><title>title</title><body><h1>demo</h1><p>{ p_test }</p></body></html>|
im_encoding = 'UTF-8'
IMPORTING
ex_xstring = xstring
ex_len = len.
btf_doc->set_content(
EXPORTING text = xstring
encoding = 'utf-8'
clean = 0 ).
editor->set_content( ).
* cl_gui_control=>set_focus( editor->get_editor_control( ) ).
ENDMETHOD.
ENDCLASS.
Code: Alles auswählen.
CLASS help_for_enno DEFINITION INHERITING FROM cl_btf_editor.
PUBLIC SECTION.
CLASS-METHODS: get_gui_control IMPORTING io_btf TYPE REF TO cl_btf_editor
RETURNING VALUE(ro_gui_editor) TYPE REF TO cl_gui_btfeditor.
ENDCLASS.
CLASS help_for_enno IMPLEMENTATION.
METHOD get_gui_control.
ro_gui_editor = io_btf->m_ctrl_editor.
ENDMETHOD.
ENDCLASS.
...
DATA(lo_gui_editor) = help_for_enno=>get_gui_control( btf_editor ).
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
SaskuAc
Das stimmt so pauschal leider nicht. Das geht nur, wenn du das Objekt auch selbst erzeugen kannst!black_adept hat geschrieben: ↑06.12.2019 18:11Nichts leichter als das. Solange eine Klasse nicht final ist, kann man auf alles was protected ist zugreifen:
Es geht aber nicht um die Objekterzeugung. Es wird mit einer statischen(!) Methode auf ein Attribut der Unterklasse abgefragt. Da zählt keine Objekterzeugung, nur die Vererbung.ewx hat geschrieben: ↑09.12.2019 09:59Das stimmt so pauschal leider nicht. Das geht nur, wenn du das Objekt auch selbst erzeugen kannst!black_adept hat geschrieben: ↑06.12.2019 18:11Nichts leichter als das. Solange eine Klasse nicht final ist, kann man auf alles was protected ist zugreifen:
Das ist in meiner *hust* "Aufgabe" jedoch nicht so.