• Xin hỏi cách : Ép phần mềm phải dùng File có đuôi OCX cũ
  • Xin hỏi cách : Ép phần mềm phải dùng File có đuôi OCX cũ

    ledangvan > 05-09-18, 10:46 PM

    Tôi có viết một phần mềm chạy trên offi 2003 có sử dụng File  ActiveX có đuôi OCX cụ thể là File MSCOMCTL.OCX khi tải File vào nó hiện ra Microsoft Windows Common Controls 6.0 (SP3) Tuy nhiên khi chuyển phần mềm này sang máy khác có cài Office 2016 -> Phần mềm lại tự nhận File MSCOMCTL.OCX có sẵn trong máy (trong windows) và là phiên bản mới hơn cụ thể là  Microsoft Windows Common Controls 6.0 (SP6)

    Việc tự nhận này dẫn đến lỗi ActiveX của một số Form biểu, tôi thường phải vào gỡ File tự nhận rồi ActiveX lại FIle mình cần việc làm này rất mất thời gian.
    Xin hỏi có cách nào ép phần mềm phải sử dụng File có đuôi OCX mà mình lựa chọn cho phần mềm không.


    Xin chân thành cảm ơn.
  • RE: Xin hỏi cách : Ép phần mềm phải dùng File có đuôi OCX cũ

    cpucloi > 06-09-18, 08:46 AM

    Các .dll, .ocx sẽ được sử dụng mặc định theo từng ver off, nếu muốn sử dụng các .dll, .ocx của phiên bản cũ thì chắc bạn phải làm thủ công rồi, khi khởi động chương trình thì nạp nó vào thôi (mình chưa sử dụng nên chưa biết có xung đột gì hay không? đặc biệt khi bạn đóng chương trình của bạn và sử dụng acc trên phiên bản off mới).
  • RE: Xin hỏi cách : Ép phần mềm phải dùng File có đuôi OCX cũ

    mrsiro > 06-09-18, 09:17 AM

    mình cũng hay bị cái này, mình dùng treeview, cứ sang máy khác là bị. Đọc đâu đó trên mạng kêu là bug của access, và microsoft biết cái này nhưng giờ chưa khắc phục.
  • RE: Xin hỏi cách : Ép phần mềm phải dùng File có đuôi OCX cũ

    cpucloi > 06-09-18, 09:58 AM

    Nếu TreeView bạn dùng plugin của bên thứ 3 thì đương nhiên phải khai báo active nó trước khi sử dụng rồi
  • RE: Xin hỏi cách : Ép phần mềm phải dùng File có đuôi OCX cũ

    ongke0711 > 06-09-18, 11:06 AM

    Nhớ không lầm là Access 2013 trở lên không hỗ trợ TreeView ActiveX.
    Bài viết: https://www.devhut.net/2012/09/15/window...omctl-ocx/
    Thử tool fix của MS ở link này: https://support.microsoft.com/en-us/help...-august-14

    Anh nên ngâm cứu chuyển qua dùng code VBA để thuận tiện hơn, tránh dùng ActiveX cho đỡ rắc rối (qua 64bit lại còn mệt nữa). Như cái tool bạn huynhhuuduy đã post lần trước đó.

    Anh dùng cái hàm này để tích hợp việc cài đặt/gỡ cài đặt các OCX trong ứng dụng xem thử như thế nào.
    - Khai báo đường dẫn tới file OCX cho biến sFileName.
    - Nên tắt cái UAC của Windows.



    Mã PHP:
    Option Compare Database
    Option Explicit

    Const SW_SHOW 1
    Const SW_SHOWMAXIMIZED 3

    Public Declare Function ShellExecute Lib "Shell32.dll" Alias "ShellExecuteA" _
     
    (ByVal hwnd As Long_
      ByVal lpOperation 
    As String_
      ByVal lpFile 
    As String_
      ByVal lpParameters 
    As String_
      ByVal lpDirectory 
    As String_
      ByVal nShowCmd 
    As Long) As Long

    Sub RegisterFile
    (ByVal sFileName As String)
       ShellExecute 0"runas""cmd""/c regsvr32 /s " """" sFileName """""C:\Windows\System32\", 0 'SW_HIDE =0
    End Sub

    Sub UnRegisterFile(ByVal sFileName As String)
       ShellExecute 0, "
    runas", "cmd", "/c regsvr32 //" & """" & sFileName & """", "C:\Windows\System32\", 0 'SW_HIDE =0
    End Sub 
  • RE: Xin hỏi cách : Ép phần mềm phải dùng File có đuôi OCX cũ

    mrsiro > 06-09-18, 04:53 PM

    bạn có demo treeview với listview bằng vba ko cần dùng references ko. Cho mình xin tham khảo với
  • RE: Xin hỏi cách : Ép phần mềm phải dùng File có đuôi OCX cũ

    ongke0711 > 07-09-18, 10:42 AM

    (06-09-18, 04:53 PM)mrsiro Đã viết: bạn có demo treeview với listview bằng vba ko cần dùng references ko. Cho mình xin tham khảo với

    Bạn xem link này: http://thuthuataccess.com/forum/post-397...l#pid39758