Friedrich,
I dont see this error number in the documentation. Any idea what this means? GetPCC.dll is a Clarion dll that the installer calls.
Mark
Attachment 4996
Printable View
Friedrich,
I dont see this error number in the documentation. Any idea what this means? GetPCC.dll is a Clarion dll that the installer calls.
Mark
Attachment 4996
Hi Mark,
this seems to be a custom message box. What command did you use to catch the "error code"?
The "Load DLL..." script function only returns the following:
If the function succeeds, the %_SB_ERRORCODE% return value is nonzero.
If the function fails, the return value is zero.
The %_SB_ERRORCODE% value is retrieved from the LoadLibrary Windows API.
Friedrich
Friedrich,
It looks like this:
There was a fatal error when trying to launch the Product Control Code
entry subsystem. This installation program must halt.
The module "GetPCC" returned errorcode : %_SB_ERRORCODE%
Please advise ENERCALC that this problem happened and provide
the errocode given above.
Send information to support@enercalc.com
See image below.
Mark
Attachment 4997
Hi Mark,
this error code comes directly from the LoadLibrary Windows API call. It is GetLastError() 87:
ERROR_INVALID_PARAMETER 87 (0x57) - The parameter is incorrect.
Friedrich
Friedrich,
Checked the source, it doesn't call LoadLibrary directly. I suppose it's possible that one of these does, however. You might recognize a few of them:)
Mark
MODULE('CLARUN.LIB')
CRC32(*STRING buffer,ULONG buffersize,ULONG seed),ULONG,RAW,NAME('Cla$crc32')
END
MODULE('win32.lib')
OutputDebugString(*CString),raw,pascal,name('Outpu tDebugStringA')
END
MODULE( 'LSMEMORY.LIB' )
LS_INIT( ULONG, ULONG ),LONG,RAW,PASCAL
LS_KILL(),RAW,PASCAL
LS_MEMCOMPRESS( *CSTRING, *CSTRING, *CSTRING ),LONG,RAW,PASCAL
LS_MEMDECOMPRESS( *CSTRING, *CSTRING, *CSTRING ),LONG,RAW,PASCAL
LS_ORIGINALSIZE(),LONG,RAW,PASCAL
LS_COMPRESSEDSIZE(),LONG,RAW,PASCAL
END
Hi Mark,
the installer has to use LoadLibrary Windows API when you call your DLL from within the installer. And this call fails.
Before the installer can call a function from within your DLL, it has to load it using the LoadLibrary Windows API. The installer is not even processing your DLL at this stage. It just uses the Windows API to load your library.
Friedrich
Friedrich,
I had a feeling that's what was going on. Not the first time, wont be the last:)
Mark