summaryrefslogtreecommitdiffstats
path: root/source/text/sbasic/shared/compatible.xhp
blob: 4a48a388c48fcfc914c6ce99c1d8d6ae573a8ec1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?xml version="1.0" encoding="UTF-8"?>
<helpdocument version="1.0">
    <!--
    * This file is part of the LibreOffice project.
    *
    * This Source Code Form is subject to the terms of the Mozilla Public
    * License, v. 2.0. If a copy of the MPL was not distributed with this
    * file, You can obtain one at http://mozilla.org/MPL/2.0/.
    *
    -->
    <meta>
        <topic id="text/sbasic/shared/compatible">
            <title id="tit" xml-lang="en-US">Option Compatible</title>
            <filename>/text/sbasic/shared/compatible.xhp</filename>
        </topic>
    </meta>
    <body>
    <bookmark branch="index" id="N0103">
        <bookmark_value>Option Compatible</bookmark_value>
        <bookmark_value>VBA compatibility option</bookmark_value>
    </bookmark>

    <section id="optioncompatiblestatement">
        <h1 id="N0104"><variable id="compatiblestatement"><link href="text/sbasic/shared/compatible.xhp" name="compatible">Option Compatible Statement</link></variable></h1>
        <paragraph role="paragraph" id="N0106"><literal>Option Compatible</literal> turns on the VBA-compatible Basic compiler mode at the module level.</paragraph>
    </section>
    <embed href="text/sbasic/shared/00000003.xhp#beforeexecutable"/>
    <note id="par_id931561646897105">The function <link href="text/sbasic/shared/compatibilitymode.xhp" name="copatibilitymode"><literal>CompatibilityMode()</literal></link> controls runtime mode and affects all code executed after setting or resetting the mode.</note>
    <paragraph role="paragraph" id="N0107">This option may affect or assist in the following situations:</paragraph>
    <list type="unordered">
        <listitem><paragraph role="listitem" id="N0108">Allow special characters as identifiers. all characters that are defined as
                letter in the Latin-1 (ISO 8859-1) character set, are accepted
                as part of identifiers.</paragraph></listitem>
        <listitem><paragraph role="listitem" id="N0109">Create <link href="text/sbasic/shared/03040000.xhp#addvbaconstants" name="addvbaconstants">VBA constants including non-printable characters</link>.</paragraph></listitem>
        <listitem><paragraph role="listitem" id="N0110">Support <literal>Private</literal>/<literal>Public</literal> keywords for procedures.</paragraph></listitem>
        <listitem><paragraph role="listitem" id="N0111">Compulsory <literal>Set</literal> statement for objects.</paragraph></listitem>
        <listitem><paragraph role="listitem" id="N0112">Default values for optional parameters in procedures.</paragraph></listitem>
        <listitem><paragraph role="listitem" id="N0113">Named arguments when multiple optional parameters exist.</paragraph></listitem>
        <listitem><paragraph role="listitem" id="N0114">Preload of %PRODUCTNAME Basic libraries</paragraph></listitem>
    </list>
    <note id="N0115"><literal>Option Compatible</literal> is required when coding class modules.</note>
    <embed href="text/sbasic/shared/00000003.xhp#functsyntax"/>
    <paragraph role="code" localize="false" id="N0117">Option Compatible</paragraph>
    <embed href="text/sbasic/shared/00000003.xhp#functexample"/>
    <h3 id="hd_id231561639199292">Special characters as identifiers</h3>
    <bascode>
        <paragraph role="bascode" id="par_id661561636654077">Option Compatible	' With this option the code works, other-</paragraph>
        <paragraph role="bascode" id="par_id81561636660626">                    ' wise it will cause a compiling error</paragraph>
        <paragraph role="bascode" id="par_id921561636641311" localize="false">Sub Main</paragraph>
        <paragraph role="bascode" id="par_id631561636632573" localize="false">    ä = 10</paragraph>
        <paragraph role="bascode" id="par_id101561636625260" localize="false">    print ä</paragraph>
        <paragraph role="bascode" id="par_id21561636616652"  localize="false">End Sub</paragraph>
    </bascode>
    <tip id="par_id381561650119146">Statement <literal>Option VBAsupport 1</literal> sets <literal>Option Compatible</literal> statement automatically.</tip>
    <section id="relatedtopics">
        <embed href="text/sbasic/shared/compatibilitymode.xhp#compatibilitymodeh1"/>
        <paragraph role="paragraph" id="N0129">Refer to <link href="text/sbasic/python/python_platform.xhp">Identifying the Operating System</link> and <link href="text/sbasic/python/python_session.xhp">Getting Session Information</link> for <literal>Option Compatible</literal> simple examples, or <link href="text/sbasic/guide/access2base.xhp">Access2Base shared Basic library</link> for other class examples making use of <literal>Option Compatible</literal> compiler mode.</paragraph>
        <embed href="text/sbasic/shared/03090407.xhp#remstatement"/>
        <paragraph role="paragraph" id="N0131">
            Variables scope modification in <link href="text/sbasic/shared/01020300.xhp">Using Procedures and Functions</link> with <literal>CompatibilityMode()</literal> function.
        </paragraph>
        <embed href="text/sbasic/shared/03103200.xhp#optionbasestatement"/>
        <embed href="text/sbasic/shared/03103300.xhp#explicitstatement"/>
        <embed href="text/sbasic/shared/03103350.xhp#vbasupportstatement"/>
        <embed href="text/sbasic/shared/classmodule.xhp#classmodulestatement"/>
    </section>
</body>
</helpdocument>