Conteúdo
Índice 🔎︎

# CompatibilityMode() Function

CompatibilityMode() function is controlling runtime mode and affects all code executed after setting or resetting the mode.

Use this feature with caution, limit it to document conversion situations for example.

Option Compatible turns on VBA compatibility at module level for the LibreOffice Basic interpreter.

This function may affect or help in the following situations:

- Creating enumerations with Enum statement

- Running RmDir command in VBA mode. In VBA only empty directories are removed by RmDir while LibreOffice Basic removes a directory recursively.

- Changing behaviour of Basic Dir command. The directory flag (16) for the Dir command means that only directories are returned in LibreOffice Basic, while in VBA normal files and directories are returned.

CompatibilityMode() function may be necessary when resorting to Option Compatible or Option VBASupport compiler modes.

### Sintaxe:

CompatibilityMode(True | False)

### Exemplo:

Given a NOT empty directory at file:///home/me/Test

            Sub RemoveDir
                CompatibilityMode( true )
                RmDir( "file:///home/me/Test" )
            End Sub

With CompatibilityMode( true ) the program results in an error, otherwise the Test directory and all its content is deleted.

### Exemplo:

Modifying Dir behavior

        Sub VBADirCommand
            CompatibilityMode( true )   ' Shows also normal files
            Entry$ = Dir( "file:///home/me/Tmp/*.*", 16 )
            Total$ = ""
            While Entry$ <> ""
                Total$ = Total$ + Entry$ + Chr$(13)
                Entry$ = Dir
            Wend
            MsgBox Total$
        End Sub

Tópicos relacionados

Option Compatible Statement

Refer to Identifying the Operating System and Getting Session Information for Option Compatible simple examples, or Access2Base shared Basic library for other class examples making use of Option Compatible compiler mode.

Instrução Rem

Variables scope modification in Using Procedures and Functions with CompatibilityMode() function.

Instrução Option Base

Instrução Option Explicit

Instrução Option VBASupport

Option ClassModule Statement