Funkcija CompatibilityMode

Vsebina
Kazalo 🔎︎

# Funkcija CompatibilityMode()

Funkcija CompatibilityMode() nadzira oz. vrne izvajalni način. Vpliva na vso izvršeno kodo po (po)nastavitvi izvajalnega načina.

To funkcionalnost uporabljajte previdno, omejite jo npr. na pretvorbo dokumentov.

### Skladnja:

          CompatibilityMode(Optional Enable As Boolean) As Boolean

### Vrnjena vrednost:

Funkcija CompatibilityMode vedno vrne način, ki je dejaven po njegovi izvršitvi. To pomeni, da če je klicana z argumentom, vrne novi način; če je klicana brez argumenta, pa vrne dejavni način, ne da bi ga spreminjala.

### Parametri:

Enable: določi ali prekliče določitev načina združljivosti, kadar je prisoten argument.

Funkcija CompatibilityMode se nanaša na Option VBASupport 1, zaradi česar vedno vrne True. Ni povezana z ukazom prevajalniku Option Compatible.

Ta funkcija lahko vpliva ali je v pomoč v sledečih situacijah:

- Določanje obsega spremenljivk.

- Izvajanje ukaza RmDir v načinu VBA. V VBA se z ukazom RmDir odstranijo le prazne mape, medtem ko LibreOffice Basic odstrani mapo na rekurziven način.

- Sprememba vedenja ukaza Basic Dir. Zastavica mape (16) za ukaz Dir pomeni, da se v LibreOffice Basic vrnejo le mape, v VBA pa navadne datoteke in mape.

- Izračun barvnih komponent s funkcijami Red in Blue, ki sta izmenljivi (na funkcijo Green to ne vpliva).

### Primer:

Primer: NE prazna mapa file:///domov/jaz/Preizkus

          Sub RemoveDir
              MsgBox CompatibilityMode() ' False

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

              MsgBox CompatibilityMode ' False
          End Sub

Z ukazom CompatibilityMode( True ) program vrne napako, sicer pa je mapa Test izbrisana z vso svojo vsebino.

### Primer:

Spreminjanje vedenja ukaza Dir

        Sub VBADirCommand
            CompatibilityMode( Enable := True )   ' Pokaže tudi navadne datoteke
            Entry$ = Dir( "file:///home/me/Tmp/*.*", 16 )
            Total$ = ""
            While Entry$ <> ""
                Total$ = Total$ + Entry$ + Chr$(13)
                Entry$ = Dir
            Wend
            MsgBox Total$
            CompatibilityMode Enable := False ' Pokaže samo mape
        End Sub

Podobne teme

Ukaz Option Compatible

Ukaz Rem

Spreminjanje obsega spremenljivk v razdelku Uporaba procedur in funkcij s funkcijo CompatibilityMode().

Ukaz Option Base

Ukaz Option Explicit

Ukaz Option VBASupport

Ukaz Option ClassModule