Debugging VB code with Image-Pro Plus
(Originally posted by KevinR on 11/27/2006)
common problem when debugging VB code with IPP is that the path does
not work. Image-Pro uses the ipc32.dll and ipcom32.dll modules for all
interprocess communication, and for a VB .EXE or .DLL to call AutoPro
commands requires that the VB application be using the _same_ ipc32.dll
that Image-Pro is.
The primary way to ensure that is to put the dll or .exe into the Image-Pro directory. This is fine for delivered modules, but a pain for debugging, as this requires that either your project (.VBP) file or the entire development directory also be in the Image-Pro directory.
The alternate is to put the Image-Pro directory in the $PATH for the machine, but various developers have run into trouble with that, too.
Here's a suggested solution that allows debugging of development code from any location on your development machine.
For a VB .exe file that works with Image-Pro:
Private Sub Form_Load() ' Debugging code, comment/remove before releasing... ChDir "c:\ipwin62" MsgBox "Changing directory to C:\Ipwin62", vbOKOnly, "Debugging" End Sub
For Image-Pro plug-ins developed with the SDK:
Private Sub IPluginTask_Invoke() ' Debugging code, comment/remove before releasing... ChDir "c:\ipwin62" MsgBox "Changing directory to C:\Ipwin62", vbOKOnly, "Debugging" ' Restore window position and show the form IpAppWndRestorePos Task1Dlg.hWnd, Task1Dlg.Caption, "WinPos" ' Make the form a child of Image Pro window IpAppAttach Task1Dlg.hWnd End Sub
The 'ChDir' location should be set to your IPP directory. If you are developing plug-ins using the SDK the project debugging preferences should be set to run IPP first when debugging.
Note that these lines with a hard-coded path SHOULD BE REMOVED BEFORE RELEASE of your modules - it's there for debugging, and may interfere with a delivered module if the user has installed to something other than the default directory. That's part of the reason for the MsgBox - if you don't comment out those lines you will get a nag dialog on your released modules.
Changing the directory to your Image-Pro folder ensures that the VB project will find the correct ipc32.dll module. If the ChDir (as here) is set before calling any IPP functions you should be good for debugging any VB code with Image-Pro.
I hope this is helpful!