LibreOfficeDev 25.8 Help
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.
      Compatibiliteitsmodus (Optioneel inschakelen als Boolean) As Boolean
    CompatibilityMode functie retourneert altijd de modus die actief is na de uitvoering ervan. Dat wil zeggen, als het wordt aangeroepen met een argument, wordt de nieuwe modus geretourneerd; indien aangeroepen zonder een argument, retourneert het de actieve modus zonder deze te wijzigen.
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 LibreOfficeDev 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 LibreOfficeDev 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).
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.
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