funktionen KompatilitetsTilstand

Indhold
Indholdsfortegnelse 🔎︎

# funktionen CompatibilityMode()

Funktionen CompatibilityMode() (kompatibilitets_tilstand()) kontrollerer eller forespørger om afviklingstilstanden. Den påvirker al kode, der afvikles efter indstilling eller nulstilling af afviklingstilstanden.

Brug den funktionalitet med forsigtighed. Begræns den til for eksempel til dokumentkonvertering.

### Syntaks:

          CompatibilityMode (Kompatibilitets_tilstand) (Optional Enable As Boolean (kan_valgfrit_aktiveres_som_Boolsk)) som_Boolsk

### Returværdi:

Funktionen CompatibilityMode (kompatibilitets-tilstand) returnerer altid den tilstand, der er aktiv efter dens udførelse. Det vil sige at, hvis den er kaldt med et argument, returnerer den den nye tilstand, hvis den er kaldt uden argument, returnerer den den aktive tilstand uden at returnere den.

### Parametre:

Aktiver: Sætter eller afsætter kompatibilitets-tilstand, når argumentet er tilstede.

Funktionen CompatibilityMode (kompatibilitets-tilstand) relaterer til Option VBASupport 1 (Indstillingen VBA-understøttelse 1), i hvilket tilfælde den altid returnerer True (sand). Den relaterer ikke til kompiler-direktivet Option Compatible.

Denne funktion kan påvirke eller hjælpe i følgende situationer:

- Omfang af variabler.

- Kørsel af kommandoen RmDir i VBA-tilstand. I VBA fjernes kun tomme mapper med RmDir, mens LibreOffice Basic fjerner en mappe rekursivt.

- Ændring af Basic-kommandoen Dirs adfærd. Mappeflaget (16) ved kommandoen Dir betyder, at udelukkende mapper returneres i LibreOffice Basic, mens filer og mapper normalt returneres i VBA.

- Beregning af farvekomponenter med funktionerne Red (rød) og Blue (blå), som ombyttes (Funktionen Green (grøn) påvirkes ikke).

### Eksempel:

Givet en IKKE-tom mappe på file:///home/me/Test

          Sub RemoveDir
              MsgBox CompatibilityMode() ' False

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

              MsgBox CompatibilityMode ' False
          End Sub

Med CompatibilityMode( True ) (kompatibilitets-tilstand (sand)) hejser programmet et fejlflag, eller slettes mappen Test og al dens indhold.

### Eksempel:

Ændring af Dirs adfærd

        Sub VBADirCommand
            CompatibilityMode( Enable := True ) (Kompatibilitets-tilstand (Aktiver = Sand)) ' Viser også normale filer
            Entry$ = Dir( "file:///home/me/Tmp/*.*", 16 )
            Total$ = ""
            While Entry$ <> ""
                Total$ = Total$ + Entry$ + Chr$(13)
                Entry$ = Dir
            Wend
            MsgBox Total$
            CompatibilityMode( Enable := True ) (Kompatibilitets-tilstand (Aktiver = Falsk)) ' Viser kun mapper
        End Sub

Relaterede emner

Option Compatible-udtryk

Rem udtyk

Ændring af variabelområdet i Brug af procedurer og funktioner med funktionen CompatibilityMode().

Option Base-udtryk

Option Explicit-udtryk

Option VBASupport-udtryk

Option ClassModule-udtryk