Συνάρτηση CompatibilityMode()
Η συνάρτηση CompatibilityMode() ελέγχει την κατάσταση χρόνου εκτέλεσης και επηρεάζει όλον τον εκτελούμενο κώδικα μετά την ρύθμιση ή επαναρρύθμιση της κατάστασης.
Χρησιμοποιήστε αυτό το γνώρισμα με προσοχή, περιορίστε το σε καταστάσεις μετατροπής εγγράφου, παραδείγματος χάρη.
Το Option Compatible ενεργοποιεί τη συμβατότητα VBA σε επίπεδο αρθρώματος για τον διερμηνευτή Basic του LibreOffice.
Αυτή η συνάρτηση μπορεί να επηρεάσει ή να βοηθήσει στις παρακάτω καταστάσεις:
Δημιουργία απαριθμήσεων με Πρόταση Enum
Εκτέλεση εντολής RmDir σε κατάσταση VBA. Σε VBA αφαιρούνται μόνο κενοί κατάλογοι με RmDir ενώ η Basic του LibreOffice αφαιρεί κατάλογο αναδρομικά.
Αλλαγή συμπεριφοράς της εντολής Basic Dir. Η σημαία του καταλόγου (16) για την εντολή Dir σημαίνει ότι επιστρέφονται μόνο κατάλογοι στη Basic του LibreOffice, ενώ στην VBA επιστρέφονται κανονικά αρχεία και κατάλογοι.
Η συνάρτηση CompatibilityMode() μπορεί να είναι απαραίτητη κατά την επαναταξινόμηση σε καταστάσεις μεταγλωττιστή Option Compatible ή Option VBASupport.
CompatibilityMode(True | False)
Με δεδομένο κενό κατάλογο NOT στο 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.
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