Today I'm updating a tool from using the Classic 15 SP1 API to the Classic 15 SP 3.3 ProFormAPI.Dll and associated files. I'm generating an exception "Unable to load DLL 'ProFormAPI.dll': The activation context being deactivated is not active for the current thread of execution. (Exception from HRESULT: 0x80073705)"
I replaced ProFormAPI.dll, softpro.dll, SoftProRichEdit.dll and spcrystal.dll with ones dated 6/13/2016, time a bit after 5 PM, ProFormAPI.dll file version is 15.0.30415.120. Previous file version was .55 rather than .120.
The DLL's match what is in the %ProgramFiles(x86)%\SoftPro\Enterprise\Client folder. The app is using the Classic API rather than the Com+. I've done a bit of research on the issue without luck. For the record, Mfc42.dll is present. The DLL's are loaded from the application directory and they do not exist in SysWow64. I'm sure they exist elsewhere, unlikely in the %Path%.
The call is
Code: Select all
ret1 = SPOpenFile(FileNumb, "default")
that was changed on 6-18-2015 from
Code: Select all
ret1 = SPOpenFile("default", FileNumb)
SPOpenFile in VB.Net is defined as:
Code: Select all
Private Declare Function SPOpenFile Lib "ProFormAPI.dll" (ByVal strUsrID As String, ByVal strFileID As String) As Short
Code: Select all
<DllImport("ProFormAPI.DLL", CharSet:=CharSet.Ansi, SetLastError:=True, ExactSpelling:=True)> Private Function SPOpenFile(<MarshalAs(UnmanagedType.VBByRefStr)> ByRef strUserID As String, <MarshalAs(UnmanagedType.VBByRefStr)> ByRef strFileID As String) As Short
End Function
Thanks for the assist!
-Dan