-
Đăng ký thư viện Tránh trường hợp lỗi ứng dụng khi sang máy khác
tt1212 > 10-04-15, 04:57 PM
Xin chào mọi người, mình viết ứng dụng trên một máy tính ở nhà, khi mang sang máy khác thì lại bị lỗi do thiểu thư viện hoặc là thư viện báo Missting vậy làm thế nào để giải quyết?
Mình làm thế này có đúng không?
Mình tạo một Forder Trong đó mình đặt ứng dụng, và các Activex ...dll;.occ.ild...
Sau đó mình viết trong biến co Load Form
Hàm copy file
copy("..Đương dẫn tai thư mục", "ĐƯờng dẫn tại quy định window)
ĐƯờng dẫn tại quy định window thông thường là C:\Progrm file \Command file \Off.....
Sau đó mình đăng ký thư viện
Shell "C:\WINDOWS\system32\regsvr32.exe /s strPath1, vbNormalNoFocus"
Shell "C:\WINDOWS\system32\regsvr32.exe /s strPath2, vbNormalNoFocus"
Shell "C:\WINDOWS\system32\regsvr32.exe /s strPath3, vbNormalNoFocus"
Shell "C:\WINDOWS\system32\regsvr32.exe /s strPath4, vbNormalNoFocus"
Rồi mình chạy hàm add thư viện
Mã PHP:Sub AddReference()
Dim strPath1 As String
Dim strPath2 As String
Dim strPath3 As String
Dim strPath4 As String
strPath1 = CurrentProject.Path & "\msado28.tlb"
Access.References.AddFromFile strPath1
'strPath2 = CurrentProject.Path & "\user32.dll"
strPath3 = CurrentProject.Path & "\msjro.dll"
Access.References.AddFromFile strPath3
strPath4 = CurrentProject.Path & "\msadox28.tlb"
'Access.References.AddFromFile strPath2
Access.References.AddFromFile strPath4
End Sub
Mà bị lỗi mình chưa thành công vì trên win 64; win 32 đểu bị lỗi mong mọi người giúp đỡ nhé -
RE: Đăng ký thư viện Tránh trường hợp lỗi ứng dụng khi sang máy khác
maidinhdan > 10-04-15, 05:31 PM
Không có file nên chưa test code trên như thế nào
Xin gửi bạn ngâm cứu những 3 đoạn code sau đây, có thể hữu ít
Code thứ nhất: Đăng ký thêm thư viện còn thiếu trong thư viện Access
Mã PHP:Sub AddWS()
ReferenceFromFile "C:\WINDOWS\System32\wshom.ocx"
End Sub
Mã PHP:Function ReferenceFromFile(strFileName As String) As Boolean
Dim ref As Reference
On Error GoTo Error_ReferenceFromFile
References.AddFromFile (strFileName)
ReferenceFromFile = True
Exit_ReferenceFromFile:
Exit Function
Error_ReferenceFromFile:
ReferenceFromFile = False
Resume Exit_ReferenceFromFile
End Function
Code thứ 2: Xóa thư viện
Mã PHP:Sub DeleteRef(RefName)
Dim ref As Reference
'You need a reference to remove
Set ref = References(RefName)
References.Remove ref
End Sub
Code thứ 3: Liệt kê danh sách các thư viện đã đăng ký
Mã PHP:Sub ListRefs()
Dim ref As Reference
For Each ref In References
Debug.Print RefFullName(ref.Name)
Debug.Print "Built In: " & ref.BuiltIn
Debug.Print "Full Path: " & ref.FullPath
Debug.Print "GUID: " & ref.Guid
Debug.Print "Is Broken: " & ref.IsBroken
Debug.Print "Kind: " & ref.Kind
Debug.Print "Major (version number): " & ref.Major
Debug.Print "Minor (version number): " & ref.Minor
Debug.Print "Name: " & ref.Name
Debug.Print '=================================
Next
End Sub
Mã PHP:
Function RefFullName(ReferenceName)
'A mere handful of common names
'These names are relevant to Access 2000
'and are for purposes of illustrating the name
'as used in Reference Name and the library
'name as it appears in Tools->References
Select Case ReferenceName
Case "Access"
RefFullName = "Microsoft Access 9.0 Object Library"
Case "ADODB"
RefFullName = "Microsoft ActiveX Data Objects 2.1 Library"
Case "CDO"
RefFullName = "Microsoft CDO for Windows 2000 Library"
Case "DAO "
RefFullName = "Microsoft DAO 3.6 Object Library"
Case "Excel"
RefFullName = "Microsoft Excel 9.0 Object Library"
Case "IWshRuntimeLibrary"
RefFullName = "Windows Script Host Object Model"
Case "Office"
RefFullName = "Microsoft Office 9.0 Object Library"
Case "Outlook"
RefFullName = "Microsoft Outlook 9.0 Object Library"
Case "stdole"
RefFullName = "OLE Automation"
Case "VBA"
RefFullName = "Visual Basic For Applications"
Case "VBIDE"
RefFullName = "Microsoft Visual Basic for Applications Extensibility 5.3"
Case "Word"
RefFullName = "Microsoft Word 9.0 Object Library"
Case Else
RefFullName = "Not available in this very limited list."
End Select
End Function
Nguồn tham khảo: lessthan.com -
RE: Đăng ký thư viện Tránh trường hợp lỗi ứng dụng khi sang máy khác
hieuvn > 10-04-15, 06:30 PM
tập dùng late bingding cho nó quen đi, mấy cái hàm đó hay bị lỗi lắm, viết cho 32bit sang 64bit là thấy cái cảnh lien -
RE: Đăng ký thư viện Tránh trường hợp lỗi ứng dụng khi sang máy khác
maidinhdan > 10-04-15, 08:12 PM
Bạn hiếu có thể viết 1 bài hướng dẫn kg
có demo càng tốt. -
RE: Đăng ký thư viện Tránh trường hợp lỗi ứng dụng khi sang máy khác
tt1212 > 11-04-15, 12:07 PM
Mình chưa hiểu í bạn nói bạn có thể nói qua cho mình hiểu hơn không bạn Hiếu nhi? Quả là có nhiều vấn đề quá bạn a? -
RE: Đăng ký thư viện Tránh trường hợp lỗi ứng dụng khi sang máy khác
hieuvn > 11-04-15, 12:44 PM
Hi, mình không giỏi viết tut nên tìm tài lieu trên mạng cho bạn hiểu khái niệm đã, và tất nhiên muốn sử dung thành thục thì phải thực hành mày mò rất nhiều
link tham khảo:
http://word.mvps.org/fAQs/InterDev/Early...inding.htm -
RE: Đăng ký thư viện Tránh trường hợp lỗi ứng dụng khi sang máy khác
tt1212 > 11-04-15, 03:54 PM
Rất cảm ơn Hiếu, Cái này là dùng để khai báo và tạo các bảng hả bạn? Nó có phải là AOX không hay là DAO hay là ADO vậy bạn? Mình thấy lạ quá
bạn có thể nói qua tác dung và các quá trình nó thực hiện hoạt động trong phần mềm mình không bạn, Hình như mình chỉ thấy tren Excel và word không thấy trên Access bạn nhỉ. Mong bạn hồi âm -
RE: Đăng ký thư viện Tránh trường hợp lỗi ứng dụng khi sang máy khác
Minh Tiên > 18-05-15, 04:41 PM
(11-04-15, 12:44 PM)hieuvn Đã viết: Hi, mình không giỏi viết tut nên tìm tài lieu trên mạng cho bạn hiểu khái niệm đã, và tất nhiên muốn sử dung thành thục thì phải thực hành mày mò rất nhiều
Nếu có thể bạn "hieuvn" làm demo và Up để mọi người học hỏi với nhé !
link tham khảo:
http://word.mvps.org/fAQs/InterDev/Early...inding.htm
Thanks ! -
RE: Đăng ký thư viện Tránh trường hợp lỗi ứng dụng khi sang máy khác
tt1212 > 18-05-15, 07:53 PM
Maidinhdan và các cao thủ thân mền hiện nay mình làm một ứng dụng nhưng đau đầu là sang máy khác thì bị lỗi mà ở máy mình thì chạy rất OK
Trong diễn đàn hôm trước thấy Maidinhdan có mấy hàm và thủ tục post lên nhưng thật sự mình không biết nó dùng thế nào?
bạn có thể hướng dẫn mình không bạn nhỉ
ai có cách giải quyết triệt để không nhỉ? hướng dẫn mình với. Mình xin cảm ơn nhiều -
RE: Đăng ký thư viện Tránh trường hợp lỗi ứng dụng khi sang máy khác
ledangvan > 18-05-15, 09:51 PM
(10-04-15, 04:57 PM)tt1212 Đã viết: Xin chào mọi người, mình viết ứng dụng trên một máy tính ở nhà, khi mang sang máy khác thì lại bị lỗi do thiểu thư viện hoặc là thư viện báo Missting vậy làm thế nào để giải quyết?
Mình làm thế này có đúng không?
Mình tạo một Forder Trong đó mình đặt ứng dụng, và các Activex ...dll;.occ.ild...
Sau đó mình viết trong biến co Load Form
Hàm copy file
copy("..Đương dẫn tai thư mục", "ĐƯờng dẫn tại quy định window)
ĐƯờng dẫn tại quy định window thông thường là C:\Progrm file \Command file \Off.....
Sau đó mình đăng ký thư viện
Shell "C:\WINDOWS\system32\regsvr32.exe /s strPath1, vbNormalNoFocus"
Shell "C:\WINDOWS\system32\regsvr32.exe /s strPath2, vbNormalNoFocus"
Shell "C:\WINDOWS\system32\regsvr32.exe /s strPath3, vbNormalNoFocus"
Shell "C:\WINDOWS\system32\regsvr32.exe /s strPath4, vbNormalNoFocus"
Rồi mình chạy hàm add thư viện
Mã PHP:Sub AddReference()
Dim strPath1 As String
Dim strPath2 As String
Dim strPath3 As String
Dim strPath4 As String
strPath1 = CurrentProject.Path & "\msado28.tlb"
Access.References.AddFromFile strPath1
'strPath2 = CurrentProject.Path & "\user32.dll"
strPath3 = CurrentProject.Path & "\msjro.dll"
Access.References.AddFromFile strPath3
strPath4 = CurrentProject.Path & "\msadox28.tlb"
'Access.References.AddFromFile strPath2
Access.References.AddFromFile strPath4
End Sub
Mà bị lỗi mình chưa thành công vì trên win 64; win 32 đểu bị lỗi mong mọi người giúp đỡ nhé
Có thể bạn khai báo sai ở câu lệnh Shell ở trên : Dấu " phải đặt trước , vbNormalNoFocus
Shell "C:\WINDOWS\system32\regsvr32.exe /s C:\KETOANH&V\.ocx", vbNormalNoFocus
Shell "C:\WINDOWS\system32\regsvr32.exe /s C:\KETOANH&V\comdlg32.ocx", vbNormalNoFocus
Shell "C:\WINDOWS\system32\regsvr32.exe /s C:\KETOANH&V\dmocx.dll", vbNormalNoFocus
Shell "C:\WINDOWS\system32\regsvr32.exe /s C:\KETOANH&V\FM20.DLL", vbNormalNoFocus
Shell "C:\WINDOWS\system32\regsvr32.exe /s C:\KETOANH&V\MSADODC.OCX", vbNormalNoFocus
Shell "C:\WINDOWS\system32\regsvr32.exe /s C:\KETOANH&V\msadox.dll", vbNormalNoFocus
Shell "C:\WINDOWS\system32\regsvr32.exe /s C:\KETOANH&V\MSCAL.OCX", vbNormalNoFocus
Bạn thử lại xem có được không