Debug a bad DLL calling convention
I've seen this in Excel before without any external references. It happened, as with your problem, on an Exit Function call. Excel doesn't seem to have a /decompile option, but I fixed it by making a change in one of my class modules, executing a compilation from the Debug menu, and then undoing the change. I suspect that one of my class modules had mis-compiled for some reason, and Excel won't re-compile unless it thinks something has changed.
Have you checked your references and decompiled?
"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE" "d:\My Documents\access\mayapp.mdb" /decompile
See also:
http://www.granite.ab.ca/access/decompile.htm
VBScript Decompile
Check references in code
Dim ref As ReferenceDim sMsg As String''Available since 2010If BrokenReference Then For Each ref In References ''Available since at least 2000 If ref.IsBroken Then sMsg = sMsg & "Ref Name: " & ref.Name 'Also, if required 'sMsg = sMsg & vbCrLf & "Built In: " & ref.BuiltIn 'sMsg = sMsg & vbCrLf & "Full Path: " & ref.FullPath 'sMsg = sMsg & vbCrLf & "GUID: " & ref.Guid 'sMsg = sMsg & vbCrLf & "Kind: " & ref.Kind 'sMsg = sMsg & vbCrLf & "Major (version number): " & ref.Major 'sMsg = sMsg & vbCrLf & "Minor (version number): " & ref.Minor sMsg = sMsg & vbCrLf & "=================================" & vbCrLf End If Next MsgBox sMsgEnd If
I experienced and worked around this error using the .NET library for WinSCP from MS Access VBA.
What happened was:
- A function
UploadSomething
for connecting to an SFTP server and uploading a file worked fine. - Within the function
UploadSomething
changed the "resume support" option with this code:myTransferOptions.ResumeSupport.State = TransferResumeSupportState.TransferResumeSupportState_Off
After the change, the code worked as desired. However in the code that called UploadSomething
, Error 49 was thrown after the function had finished.
The error happened both when stepping through the code using the debugger and when executing at once outside of the debugger. Recompiling the project didn't work for me.
What did work was this:
- Remove the reference to the COM component
- Add the reference to the COM component
- Recompile