Lỗi FM20.dll khó hiểu trong Office 64 bit

Liên hệ QC

PhanTuHuong

VBA & VB.NET for Excel & AutoCad
Thành viên danh dự
Tham gia
13/6/06
Bài viết
7,169
Được thích
24,598
Tôi đang nâng cấp dự án trong Office 64 bit. Tuy nhiên có 1 vấn đề là khi chạy chương trình luôn nhận được thông báo lỗi FM20.dll dù đã thử bản Office 2016, 2019 (đã update). Chương trình sử dụng control trong FM20.dll đó. Đương nhiên là fix xong thì chạy bình thường. Lỗi này xảy ra từ lâu nhưng Microsoft không sửa thì phải??? Với Office 32 bit thì không xảy ra tình trạng này.

FM20.jpg
 
Tại dòng này Call LoadCOM.GetData(StrPath, DataRange, Des())
 
Upvote 0
Tại dòng này Call LoadCOM.GetData(StrPath, DataRange, Des())
bạn hỏi kiểu đó kiêu tôi đoán à ... cái đó do bạn khai báo sử dụng
Còn cách khai báo thì tôi chỉ rôi ... code bài trên có 1 chỗ tôi copy khai báo sai ... nếu để y trang thì chạy ok còn sub khác là sai

Úp hết code bạn viết lên tôi làm mẫu cho mỗi thứ 1 cái
 
Upvote 0
Mình cài hết rồi

Mã:
Option Explicit
Rem ========== Luu Y su dung
Rem 1/ Tools\References\Browse..\VBLibraryLoad.exe ==> Su dung Cho RPC As New VBLibraryLoad.cCOM
Rem ==========
Public RPC As New VBLibraryLoad.cCOM
Public LoadCOM As Object, test As Long
Rem ========== Su dung Cho Function
Public Function GetExcelConnection(ByVal Path As String)
    Set LoadCOM = RPC.NewInstance("dllvb6.clsMain")
    Set GetExcelConnection = LoadCOM.ConnectDataName(Path)
    If Not LoadCOM Is Nothing Then Set LoadCOM = Nothing
End Function
Rem ========== Su dung Cho Sub
Public Sub GetData(StrPath, DataRange, Des())
    Set LoadCOM = RPC.NewInstance("dllvb6.clsMain")
    Call LoadCOM.GetData(StrPath, DataRange, Des())
    If Not LoadCOM Is Nothing Then Set LoadCOM = Nothing
End Sub
 
Upvote 0
Mình cài hết rồi

Mã:
Option Explicit
Rem ========== Luu Y su dung
Rem 1/ Tools\References\Browse..\VBLibraryLoad.exe ==> Su dung Cho RPC As New VBLibraryLoad.cCOM
Rem ==========
Public RPC As New VBLibraryLoad.cCOM
Public LoadCOM As Object, test As Long
Rem ========== Su dung Cho Function
[CODE]Public Function GetExcelConnection(ByVal Path As String)
    Set LoadCOM = RPC.NewInstance("dllvb6.clsMain")
    Set GetExcelConnection = LoadCOM.ConnectDataName(Path)
    If Not LoadCOM Is Nothing Then Set LoadCOM = Nothing
End Function
Rem ========== Su dung Cho Sub
Public Sub GetData(StrPath, DataRange, Des())
Set LoadCOM = RPC.NewInstance("dllvb6.clsMain")
Call LoadCOM.GetData(StrPath, DataRange, Des())
If Not LoadCOM Is Nothing Then Set LoadCOM = Nothing
End Sub
[/CODE]
code này cái Hàm tôi khai báo do copy sai ... còn cái Sub là đúng ... vấn đề bạn hỏi cái gì trong code đó

Hàm khai báo sai là:
Mã:
Public Function GetExcelConnection(ByVal Path As String)
    Set LoadCOM = RPC.NewInstance("dllvb6.clsMain")
    Set GetExcelConnection = LoadCOM.ConnectDataName(Path)
    If Not LoadCOM Is Nothing Then Set LoadCOM = Nothing
End Function

Khai báo lại cho đúng là

Mã:
Public Function GetExcelConnection(ByVal Path As String)
    Set LoadCOM = RPC.NewInstance("dllvb6.clsMain")
    Set GetExcelConnection = LoadCOM.GetExcelConnection (Path)
    If Not LoadCOM Is Nothing Then Set LoadCOM = Nothing
End Function
 
Upvote 0
Không sao cài ms bạn gửi rồi vẫn lỗi như hình trên.
 
Upvote 0
Vấn đề là nó không chạy được bạn đã sữa code theo của bạn vẫn lỗi Provider.... như hình ở trên sau khi nhấn debug thì lỗi như hình
dưới
 

File đính kèm

  • Capture.PNG
    Capture.PNG
    190.4 KB · Đọc: 6
Upvote 0
Vấn đề là nó không chạy được bạn đã sữa code theo của bạn vẫn lỗi Provider.... như hình ở trên sau khi nhấn debug thì lỗi như hình
dưới
1/ đăng Ký File DLL VB6
2/ đăng Ký File Load đó
3/ Từ VBE check File load đó
4/ Lưu ý mọi trường hợp thay đổi đường dẫn của 2 Files trên phải làm lại từ mục số 1 to 3

1630980973134.png
 
Upvote 0
Đã thử mọi cách kết quả như ban đầu !
1/ ban đầu keo lỗi ADODB ... cài xong hết lỗi đó
2/ xong keo lỗi sub màu vàng ... lỗi đó là chưa biết khai báo theo chỉ dẫn
3/ tôi chịu cách bạn hỏi kiểu lấp lửng ko ra ngô ra khoai thì chỉ có đoán thôi
 
Upvote 0
Mục đích mình chỉ muốn xem nó có chạy trên
1/ ban đầu keo lỗi ADODB ... cài xong hết lỗi đó
2/ xong keo lỗi sub màu vàng ... lỗi đó là chưa biết khai báo theo chỉ dẫn
3/ tôi chịu cách bạn hỏi kiểu lấp lửng ko ra ngô ra khoai thì chỉ có đoán thôi
64 bit không thôi nếu dc bạn cho mình file đơn giản chỉ msgbox chạy dc trên 64 bit là ok rồi.
 
Upvote 0
Mục đích mình chỉ muốn xem nó có chạy trên

64 bit không thôi nếu dc bạn cho mình file đơn giản chỉ msgbox chạy dc trên 64 bit là ok rồi.
xem code mẫu trong File

1/ chạy File Register_VB6Library.dll.vbs chọn Yes để đăng ký DLL
2/ chạy File Register_VBLibraryLoad.EXE.vbs chọn Yes để đăng ký VBLibraryLoad.EXE
3/ Mở Files Tong hop.xlsb từ VBE check mục số 2 Tools\References \...VBLibraryLoad.EXE
 

File đính kèm

  • VB6_GPE.rar
    133.4 KB · Đọc: 3
Upvote 0
Mình làm như bạn hướng dẫn trên 32 bit ko vấn đề nhưng 64 bit là bị lỗi mình có làm thử một dll đơn giản chỉ một hàm msgbox vẫn bị lỗi trên 64 bit. Có thể lỗi đăng kí exe ko thành công trên 64 bit.
xem code mẫu trong File

1/ chạy File Register_VB6Library.dll.vbs chọn Yes để đăng ký DLL
2/ chạy File Register_VBLibraryLoad.EXE.vbs chọn Yes để đăng ký VBLibraryLoad.EXE
3/ Mở Files Tong hop.xlsb từ VBE check mục số 2 Tools\References \...VBLibraryLoad.EXE
Bài đã được tự động gộp:

Mình làm như bạn hướng dẫn trên 32 bit ko vấn đề nhưng 64 bit là bị lỗi mình có làm thử một dll đơn giản chỉ một hàm msgbox vẫn bị lỗi trên 64 bit. Có thể lỗi đăng kí exe ko thành công trên 64 bit. Dù đã add reference nó cũng không chạy.
xem code mẫu trong File
1/ chạy File Register_VB6Library.dll.vbs chọn Yes để đăng ký DLL
2/ chạy File Register_VBLibraryLoad.EXE.vbs chọn Yes để đăng ký VBLibraryLoad.EXE
3/ Mở Files Tong hop.xlsb từ VBE check mục số 2 Tools\References \...VBLibraryLoad.EXE
Bài đã được tự động gộp:

Mình làm như bạn hướng dẫn trên 32 bit ko vấn đề nhưng 64 bit là bị lỗi mình có làm thử một dll đơn giản chỉ một hàm msgbox vẫn bị lỗi trên 64 bit. Có thể lỗi đăng kí exe ko thành công trên 64 bit. Dù đã add reference nó cũng không chạy.
xem code mẫu trong File
1/ chạy File Register_VB6Library.dll.vbs chọn Yes để đăng ký DLL
2/ chạy File Register_VBLibraryLoad.EXE.vbs chọn Yes để đăng ký VBLibraryLoad.EXE
3/ Mở Files Tong hop.xlsb từ VBE check mục số 2 Tools\References \...VBLibraryLoad.EXE
Bài đã được tự động gộp:

Mình làm như bạn hướng dẫn trên 32 bit ko vấn đề nhưng 64 bit là bị lỗi mình có làm thử một dll đơn giản chỉ một hàm msgbox vẫn bị lỗi trên 64 bit. Có thể lỗi đăng kí exe ko thành công trên 64 bit. Dù đã add reference nó cũng không chạy.
xem code mẫu trong File
1/ chạy File Register_VB6Library.dll.vbs chọn Yes để đăng ký DLL
2/ chạy File Register_VBLibraryLoad.EXE.vbs chọn Yes để đăng ký VBLibraryLoad.EXE
3/ Mở Files Tong hop.xlsb từ VBE check mục số 2 Tools\References \...VBLibraryLoad.EXE
 
Upvote 0
Mình làm như bạn hướng dẫn trên 32 bit ko vấn đề nhưng 64 bit là bị lỗi mình có làm thử một dll đơn giản chỉ một hàm msgbox vẫn bị lỗi trên 64 bit. Có thể lỗi đăng kí exe ko thành công trên 64 bit.

Bài đã được tự động gộp:

Mình làm như bạn hướng dẫn trên 32 bit ko vấn đề nhưng 64 bit là bị lỗi mình có làm thử một dll đơn giản chỉ một hàm msgbox vẫn bị lỗi trên 64 bit. Có thể lỗi đăng kí exe ko thành công trên 64 bit. Dù đã add reference nó cũng không chạy.
xem code mẫu trong File

Bài đã được tự động gộp:

Mình làm như bạn hướng dẫn trên 32 bit ko vấn đề nhưng 64 bit là bị lỗi mình có làm thử một dll đơn giản chỉ một hàm msgbox vẫn bị lỗi trên 64 bit. Có thể lỗi đăng kí exe ko thành công trên 64 bit. Dù đã add reference nó cũng không chạy.
xem code mẫu trong File

Bài đã được tự động gộp:

Mình làm như bạn hướng dẫn trên 32 bit ko vấn đề nhưng 64 bit là bị lỗi mình có làm thử một dll đơn giản chỉ một hàm msgbox vẫn bị lỗi trên 64 bit. Có thể lỗi đăng kí exe ko thành công trên 64 bit. Dù đã add reference nó cũng không chạy.
xem code mẫu trong File
bạn qua link sau tải mấy Files bài đó về xem có chạy ko là biết ngay thôi ... nhớ là đăng ký nó

 
Upvote 0
Đã thử các file nhận xét là khó dùng và không ổn định cám ơn đóng góp của bạn rất nhiều.
 
Upvote 0
VB6 xuất hàm API 32 bit được đấy .... khi nào có gió + Rảnh làm bài hướng dẫn cho ai đó sử dụng ( code tây nó viết còn mình chỉ việc ...) xem hình sau

1632386369129.png
 
Upvote 0
Như bài số 57 tôi có nói .... thì hôm nay gió đông nam nó thổi lên từ phía biển đông .... xin mời qua link sau nếu ai quan tâm thử chút ... xem như thế nào thui

và cũng để lại chút gì đó cho gió cuốn đi

 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom