Inhoud
Index 🔎︎

# Functie CompatibilityMode

De functie CompatibilityMode beheert de runtime mode en beïnvloedt, na elke wijziging van die mode, alle code die daarna wordt uitgevoerd.

Wees voorzichtig met het gebruik van deze functionaliteit, beperk deze bijvoorbeeld tot de conversie van een document.

### Syntaxis:

          Compatibiliteitsmodus (Optioneel inschakelen als Boolean) As Boolean

### Geretourneerde waarde:

CompatibilityMode-functie retourneert altijd de modus die actief is na uitvoering. Dat wil zeggen, als het wordt aangeroepen met argument, wordt de nieuwe modus geretourneerd, als het wordt aangeroepen zonder argument, wordt de actieve modus geretourneerd zonder deze te wijzigen.

### Parameters:

Inschakelen: Stelt de nieuwe compatibiliteitsmodus in of uit wanneer het argument aanwezig is.

Functie CompatibilityMode is gerelateerd met Option VBASupport 1, in dat geval retourneert het altijd True. Het staat los van de compiler directive Option Compatible.

Deze functie heeft invloed op of kan nuttig zijn in de volgende situaties:

- Bereik van variabelen.

- Voer het commando RmDir uit in VBA-mode. In VBA worden alleen lege mappen verwijderd met RmDir terwijl LibreOffice Basic recursief een map verwijderd.

- Verandert de werking van het Basic commando Dir. De vlag van de map (16) bij het commando Dir betekent dat alleen mappen worden teruggegeven door LibreOffice Basic, terwijl in VBA ook de normale bestanden worden teruggegeven.

- De berekening van de kleurcomponenten met de functies Red en Blue is verbeterd (De functie Green is niet gewijzigd).

### Voorbeeld:

Uitgaande van een niet LEGE map op file:///home/me/Test

          Sub RemoveDir
              MsgBox CompatibilityMode() ' False

              CompatibilityMode( True )
              RmDir( "file:///home/me/Test" )
              CompatibilityMode False

              MsgBox CompatibilityMode ' False
          End Sub

Met CompatibilityMode( True ) treedt er in het programma een fout op, in het andere geval wordt de map Test en de inhoud ervan verwijderd.

### Voorbeeld:

Gedrag Dir aanpassen

        Sub VBADirCommand
            CompatibilityMode( Enable := True )   ' Toont ook normale bestanden
            Entry$ = Dir( "file:///home/me/Tmp/*.*", 16 )
            Total$ = ""
            While Entry$ <> ""
                Total$ = Total$ + Entry$ + Chr$(13)
                Entry$ = Dir
            Wend
            MsgBox Total$
            CompatibilityMode Enable := False ' Toont alleen mappen
        End Sub

Verwante onderwerpen

Instructie Option Compatible

Instructie Rem

Het wijzigen van het bereik van variabelen in Procedures en Functions gebruiken met de functie CompatibilityMode.

Instructie Option Base

Instructie Option Explicit

Instructie Option VBASupport

Instructie Option ClassModule