Tech Notes

The following items are tech notes have been added since the last version of ProScan and ProImage was released and/or frequently asked questions:


Duplicate Symbol Errors for Clarion 9058 and 9059

Note:  ProScan 2.0 and ProImage 2.0 now use Dynamic DLL loading so if you upgrade to these versions this problem is totally eliminated.  This tech note only applies to users who have older versions of ProScan and ProImage.

In November of 2007 when Clarion 9058 was released, SoftVelocity created a problem for all 3rd Party vendors (and anyone else that uses API calls) when they included various Windows API calls without consideration that other vendors or programmers use them too.

This problem persists in Clarion 9059 (as of November 2008).

An example of this error is:

Link error: Duplicate symbol: DllGetVersion, file yourfile.obj
Link error: Duplicate symbol: SHGetFolderPathA
 

Both ProScan and ProImage use the SHGetFolderPathA API call to get the location of the Windows TEMP folder.

Even though our prototypes are correctly name mangled (which prevents problems within Clarion) the fact that the SoftVelocity LIB file and our LIB file both include information for the same Windows API causes the error.

We have been in touch with SoftVelocity and hope that they will find a better long term solution (since this potentially affects all API usage by any developer or vendor), but in the interim - here is a short term fix for the problem.

Solution:

Edit the PS_Utils.tpw file (in 3rdParty\Template) and comment out or remove
this line:

  #PROJECT('PS_Utils.LIB')

That will prevent ProScan/ProImage from adding it's LIB file for SHGetFolderPathA (which is the only thing in the LIB file right now).

We will be providing a long term fix in the next release of ProScan/ProImage, but we are waiting for now to see if SoftVelocity does the right thing and fixes the problem before we make changes in how the templates work.

Our apologies to all our customers for SoftVelocity breaking your code!



ImageEx Class Object Naming

Note that the name you see in the Clarion Window formatter for the ImageEx Viewer (and other controls) is NOT the name of the ImageEx object.

The Window Formatter will have a name like ?Viewer

However if you right-click on the viewer and select the ACTION tab, you will find a different name there ( such as ImageExViewer1 ).  THAT is the object name and what is used in the templates.

For consistency in our code and examples we always rename the generated name like  ImageExViewer1 to a name like IEView or IEViewSlide. Just keep in mind that when you see IEView or IEViewSlide in our documentation screen shots that is what it is referring to.

You can rename your ImageEx object as needed to match our style or use the generated name in the templates as you prefer.


 

Using ProImage 2.1 with ProScan 2.0

If you are using ProScan and ProImage in the same application you can either update your ProImage files by importing the ProImage TXA from the utility menu, or you can download a fresh copy of ProScan 2.0 and install that. 

The ProScan installer still says version 2.0 because that is the version of ProScan that it carries, but the combination ProScan/ProImage TXAs have been updated so that they import for ProImage 2.1 and ProScan 2.0.

When correctly configured and you import the TXA for the ProScan/ProImage combo into your application the procedure descriptions should show ProScan 2.0 and ProImage 2.1.

 

[Home] [ProArchive] [ProPath] [ProScan] [ProImage] [ProCodeBlock] [About Us] [Contact Us] [NewsGroups] [Search] [Tech Notes]

Copyright © 2006-2014  - LANSRAD  - All Rights Reserved