Here are my initial results:

I took the pproctx.clfile and setup the environment to compile a 32-bit dll. 
Ran "cl @pproctx.clfile" and it produced the file as expected, however, I got 
the following warnings:

C:\PProCtx>cl @pproctx.clfile
Ctxmenu.cpp
Shellext.cpp
Shexinit.cpp
Generating Code...
shellext.def(4) : warning LNK4017: DESCRIPTION statement not supported for the t
arget platform; ignored
shellext.def : warning LNK4222: exported symbol 'DllCanUnloadNow' should not be
assigned an ordinal
shellext.def : warning LNK4222: exported symbol 'DllGetClassObject' should not b
e assigned an ordinal
   Creating library pproctx.lib and object pproctx.exp

However, when powerpro.exe is started with context menu support it works on the 
32-bit platform.

I then reset the environment to compile a 64-bit dll. I run the same compiler 
command and it fails with the following errors:

C:\PProCtx>cl @pproctx.clfile
Ctxmenu.cpp
Ctxmenu.cpp(70) : warning C4244: '=' : conversion from 'LRESULT' to 'UINT', poss
ible loss of data
Ctxmenu.cpp(241) : warning C4267: '+=' : conversion from 'size_t' to 'int', poss
ible loss of data
Ctxmenu.cpp(252) : warning C4267: 'initializing' : conversion from 'size_t' to '
int', possible loss of data
Ctxmenu.cpp(264) : warning C4244: '=' : conversion from 'LRESULT' to 'UINT', pos
sible loss of data
Shellext.cpp
Shellext.cpp(131) : error C2259: 'CShellExt' : cannot instantiate abstract class

        due to following members:
        'HRESULT IContextMenu::GetCommandString(UINT_PTR,UINT,UINT *,LPSTR,UINT)
' : is abstract
        C:\Program Files\Microsoft SDKs\Windows\v6.1\include\shobjidl.h(1978) :
see declaration of 'IContextMenu::GetCommandString'
Shexinit.cpp
Generating Code...

Doing some research on the internet turns up 
http://social.msdn.microsoft.com/Forums/en-US/vclanguage/thread/d6144eaa-fa37-4133-87a0-75a06633209b
 which seems to be my problem. I then modify my C:\Program Files\Microsoft 
SDKs\Windows\v6.1\include\shobjidl.h file and recompile. Now it compiles with 
the following output:

C:\PProCtx>cl @pproctx.clfile
Ctxmenu.cpp
Ctxmenu.cpp(70) : warning C4244: '=' : conversion from 'LRESULT' to 'UINT', poss
ible loss of data
Ctxmenu.cpp(241) : warning C4267: '+=' : conversion from 'size_t' to 'int', poss
ible loss of data
Ctxmenu.cpp(252) : warning C4267: 'initializing' : conversion from 'size_t' to '
int', possible loss of data
Ctxmenu.cpp(264) : warning C4244: '=' : conversion from 'LRESULT' to 'UINT', pos
sible loss of data
Shellext.cpp
Shexinit.cpp
Generating Code...
shellext.def(4) : warning LNK4017: DESCRIPTION statement not supported for the t
arget platform; ignored
shellext.def : warning LNK4222: exported symbol 'DllCanUnloadNow' should not be
assigned an ordinal
shellext.def : warning LNK4222: exported symbol 'DllGetClassObject' should not b
e assigned an ordinal
   Creating library pproctx.lib and object pproctx.exp

The pproctx.dll file is created and I transfer it to my 64-bit machine and 
restart powerpro. Unfortunately it does not seem to work.

On the 32-bit machine I run the listdlls.exe command and see that pproctx.dll 
is loaded by explorer.exe. I also see it creates the ctx_debug.txt file. On the 
64-bit platform though pproctx.dll is not even loaded.

Any ideas on where to go from here? Any chance the warnings in the 64-bit 
compile would prevent it from even loading?



--- In [email protected], "brucexs" <bswit...@...> wrote:
>
> . Note, however, that when I download powerpro from 
> http://powerpro.webeddie.com/download/pwrpro49.zip I get version 4.9j and not 
> 4.9k that you list. Can you double check what version I need to use and where 
> to get it. 
> >
> 
> The pproconf.pcf is still at 4.9j; but if you ctrl-right click a bar and 
> select about PowerPro, it should say 4.9k
>


Reply via email to