ເນື້ອໃນ

# ຟັງຊັນ CompatibilityMode()

ຟັງຊັນ CompatibilityMode() ໃຊ້ເພື່ອຄວບຄຸມ ຫຼື ສອບຖາມໂໝດການເຮັດວຽກ (runtime mode). ມັນມີຜົນຕໍ່ລະຫັດທັງໝົດທີ່ເຮັດວຽກຫຼັງຈາກທີ່ມີການຕັ້ງຄ່າ ຫຼື ຕັ້ງຄ່າໂໝດການເຮັດວຽກໃໝ່.

ໃຊ້ຄຸນສົມບັດນີ້ດ້ວຍຄວາມລະມັດລະວັງ, ເຊັ່ນ ຈຳກັດໄວ້ພຽງແຕ່ສຳລັບການແປງເອກະສານ.

### ໄວຍາກອນ:

          CompatibilityMode(Optional Enable As Boolean) As Boolean

### ປະເພດຄ່າທີ່ສົ່ງກັບ:

ຟັງຊັນ CompatibilityMode ຈະສົ່ງຄືນໂໝດທີ່ມີຜົນໃຊ້ງານຫຼັງຈາກການເຮັດວຽກສະເໝີ. ນັ້ນຄື, ຖ້າຮຽກໃຊ້ພ້ອມອາກິວເມັນ, ມັນຈະສົ່ງຄືນໂໝດໃໝ່; ຖ້າຮຽກໃຊ້ໂດຍບໍ່ມີອາກິວເມັນ, ມັນຈະສົ່ງຄືນໂໝດທີ່ກຳລັງໃຊ້ງານຢູ່ໂດຍບໍ່ມີການແກ້ໄຂ.

### ພາຣາມິເຕີ:

Enable: ຕັ້ງຄ່າ ຫຼື ຍົກເລີກໂໝດເຂົ້າກັນໄດ້ໃໝ່ເມື່ອມີອາກິວເມັນ.

ຟັງຊັນ CompatibilityMode ກ່ຽວຂ້ອງກັບ Option VBASupport 1, ເຊິ່ງໃນກໍລະນີນັ້ນມັນຈະສົ່ງຄືນຄ່າ True ສະເໝີ. ມັນບໍ່ກ່ຽວຂ້ອງກັບຄຳສັ່ງຄອມໄພເລີ Option Compatible.

ຟັງຊັນນີ້ອາດມີຜົນ ຫຼື ຊ່ວຍໃນສະຖານະການຕໍ່ໄປນີ້:

- ຂອບເຂດຂອງຕົວປ່ຽນ (Scoping of variables).

- ການໃຊ້ຄຳສັ່ງ RmDir ໃນໂໝດ VBA. ໃນ VBA, RmDir ຈະລຶບໄດ້ສະເພາະໂຟນເດີທີ່ວ່າງເປົ່າເທົ່ານັ້ນ, ໃນຂະນະທີ່ LibreOffice Basic ຈະລຶບໂຟນເດີແບບ Recursive (ລວມທັງຂໍ້ມູນພາຍໃນທັງໝົດ).

- ການປ່ຽນພຶດຕິກຳຂອງຄຳສັ່ງ Basic Dir. ແຟລັກ directory (16) ສຳລັບຄຳສັ່ງ Dir ໝາຍເຖິງຈະສົ່ງຄືນສະເພາະໂຟນເດີເທົ່ານັ້ນໃນ LibreOffice Basic, ໃນຂະນະທີ່ໃນ VBA ຈະສົ່ງຄືນທັງໄຟລ໌ປົກກະຕິ ແລະ ໂຟນເດີ.

- ການຄຳນວນສ່ວນປະກອບຂອງສີດ້ວຍຟັງຊັນ Red ແລະ Blue ເຊິ່ງ ຖືກສະຫຼັບກັນ (ຟັງຊັນ Green ຈະບໍ່ໄດ້ຮັບຜົນກະທົບ).

### ຕົວຢ່າງ:

ສົມມຸດວ່າມີໂຟນເດີທີ່ບໍ່ວ່າງເປົ່າຢູ່ທີ່ file:///home/me/Test

          Sub RemoveDir
              MsgBox CompatibilityMode() ' False

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

              MsgBox CompatibilityMode ' False
          End Sub

ດ້ວຍ CompatibilityMode( True ) ໂປຣແກຣມຈະແຈ້ງຂໍ້ຜິດພາດ, ຖ້າບໍ່ດັ່ງນັ້ນ ໂຟນເດີ Test ແລະ ເນື້ອໃນທັງໝົດພາຍໃນຈະຖືກລຶບ.

### ຕົວຢ່າງ:

ການແກ້ໄຂພຶດຕິກຳຂອງ Dir

        Sub VBADirCommand
            CompatibilityMode( Enable := True )   ' ສະແດງໄຟລ໌ປົກກະຕິລວມນຳ
            Entry$ = Dir( "file:///home/me/Tmp/*.*", 16 )
            Total$ = ""
            While Entry$ <> ""
                Total$ = Total$ + Entry$ + Chr$(13)
                Entry$ = Dir
            Wend
            MsgBox Total$
            CompatibilityMode Enable := False ' ສະແດງສະເພາະໂຟນເດີ
        End Sub

ຫົວຂໍ້ທີ່ກ່ຽວຂ້ອງ

ຄຳສັ່ງ Option Compatible

ຄຳສັ່ງ Rem

ການແກ້ໄຂຂອບເຂດຂອງຕົວປ່ຽນໃນ ການໃຊ້ຂັ້ນຕອນ ແລະ ຟັງຊັນ ດ້ວຍຟັງຊັນ CompatibilityMode().

ຄຳສັ່ງ Option Base

ຄຳສັ່ງ Option Explicit

ຄຳສັ່ງ Option VBASupport

ຄຳສັ່ງ Option ClassModule

ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!