WinC version info - work around for all Plex releases

Document created by MW1 on Jun 26, 2014
Version 1Show Document
  • View in full screen mode

Great that there is the version info introduced for unmanaged C++ functions  through the code library with Plex 7.x.

 

"For unmanaged C++ applications, version information is added to a compiled .dll by adding a VERSIONINFO structure into a resource file (.rc) associated with your function. This information is then compiled into the DLL using the MS Resource Compiler when the function is built."

When the .rc file is compiled, it creates the .pnl file, but the version info is added to the .dll. This pnl file will also be generated for batch files without UI. So the .pnl file does not necessarily need to be deployedwi th the rest of the application.


However, you do need to be aware that sometimes the .pnl file contains additional information that may need to be deployed, and it would be difficult to determine which .pnl files contain actual resources and which .pnl files are there only for Version information.  For example, if your server functions use message text, the text is compiled into the .pnl file, even if there is no panel for the function.  There may also be other times when you need to deply the .pnl files.

 

 

 

 

I was looking for a work around that batch functions will not have a panel generated in WinC when using the default version info solution.

 

You need to place the attached templates in the same folder then the local model.

version.h
version.RC

 

In the bld file add/update:

    

 

[32-bit Cust Bld WinC External]

Usr Link Opt Release=version.RES

Usr Pre Bld Cmd Release=RC /i..\..\ /i"%INCLUDE%" /dPGMNAME=$(InputName) /dSRCEXT=SRC_EXT /dRUNEXT=DLL /dUSERNAME=%USERNAME% /dCOMPUTERNAME=%COMPUTERNAME% /foversion.RES ..\..\version.RC

     

 

G&B and the version info is in the file properties available (for batch and UI  - files).

 

  1. In version.h you can change in one single location your personal properties. You can place this file also on a network drive and share it with all developers
  2. In version.rc the info from environment + version.h are combined and converted to correct data types to prepare for the rc compiler
  3. The customized settings for C++ build create a ressource file after compiling but before linking to a dll.

 

Have fun while trying this solution.

 

Cheers,

 

Michael

Attachments

Outcomes