TPJVersionInfo Component |
This is a 32 bit non-visual component for Delphi 2, 3 and 4 that encapsulates file version resource information contained in a file.
The component reads information from the file's VERSIONINFO resource. If the file has no such resource then this component returns no information. Use the HaveInfo property to find whether the component has been able to get version information from the file.
The file from which resource information is gleaned is determined by the FileName property. Setting the file name property to the empty string makes the component read information from the executable file in which it embedded. Apart from the usual Name and Tag properties the FileName property is the only design-time property of the component. Other properties are available at run time only and are read only. They present the information from the VERSIONINFO resource to the user. See the help file for further information.
The component introduces no new methods and it has no events.
VERSIONINFO resources can contain more than one set of string resource information (in StringFileInfo blocks) - usually used to present the information in various languages. This component only reads the information for the first language/character set described in the first VarFileInfo block.
This version of the component makes calls to the 32 bit Windows API. It is not suitable for compilation using the 16 bit Delphi 1 compiler.
For detailed information about file version information see the Win32 Programmer's reference.
This version of the component works only with 32 bit versions of Delphi. It has been tested with Delphi versions 2, 3 and 4. A separate version of the component is available for 16 bit Delphi 1.
The unit name has changed from VerInfo
to VInfo
in this version of the code - this means that programs using earlier versions will need to be modified to use the new unit name before being re-compiled using the new version. The name has been changed to allow the component to be installed under Delphi 3 & 4 since the VerInfo
unit name clashes with another unit used by Delphi
In these instructions $(DELPHI)
is to be taken to represent the path where your 32 bit version of Delphi was installed. For example, if you have Delphi 4 installed on the path C:\Program Files\Borland\Delphi4
then $(DELPHI)
represents that path.
vinfo32.zip
into a folder, preserving the directory structure.
vinfo.pas
and vinfo.dcr
to the folder from
where you wish to install the component into the Delphi Component Palette. This will probably be
an existing folder where you keep the library components - say the default
$(DELPHI)\lib
folder.
verinfo.hlp
and the help keyword file
verinfo.kwf
into the $(DELPHI)\help
folder.
helpinst.exe
from the
$(DELPHI)\help\tools
folder. When helpinst.exe
is running open the
delphi.hdx
file and add verinfo.kwf
and click on the Save
button.
vinfo.pas
file in the folder where you placed it. Click OK to recompile the components
library.
vinfo.pas
from the place where you copied it if you wish.
The component will appear on a palette called PJ Stuff. You can move the component to a
different palette as required, or hack the source code (before installing the component) by
finding the Register
procedure at the end of the code and changing the string
'PJ stuff'
to the name of the required palette.
Note that although the provided help file gives information about using the component it cannot be linked into the Delphi 3 or Delphi 4 environments at present.
vinfo32.zip
into a folder, preserving the directory structure.
vinfo.pas
and vinfo.dcr
to the folder from where
you wish to install the component into the Delphi Component Palette. This will probably be a
sub-folder of the $(DELPHI)\lib
folder.
vinfo.pas
and select the file.
$(DELPHI)\lib\dclusrXX.dpk
(where XX=30 for Delphi 3 and XX=40 for Delphi 4).
vinfo.pas
from the place where you copied it if you wish.
The component will appear on a palette called PJ Stuff. You can move the component to a
different palette as required, or hack the source code (before installing the program) by
finding the Register
procedure at the end of the code and changing the string
'PJ stuff'
to the name of the required palette.
$(DELPHI)/help
folder). The location of the help file will be remembered in
future.
Un-released
VerInfo v1.0 of 25/04/1998
Un-released
VerInfo v2.0 of 16/12/1998
vinfo16.htm
for continued update history of v1).
Release 2.0 of 08/07/1999
VerInfo v2.0a of 09/04/1999
(This release also included Release 1.0 of 16 bit VerInfo v1.0a - see vinfo16.htm
for details).
Release 2.1 of 28/11/1999
VInfo v2.1 of 28/11/1999
(Separated 16 bit and 32 bits versions into separate releases).
This component is copyright © P.D.Johnson, 1998-1999.
The source code and help files can be freely distributed on a not-for-profit basis providing that:
By not-for-profit I mean that you may recover out of pocket expenses incurred in distributing the code, but should not make a profit from this.
If you discover any bugs in this implementation, or if you have any update suggestions, please contact me on peter.johnson@openlink.org.
Please do modify the code for you own use. I'd like to see any changes you make - I could incorporate them into future versions. Please notify me of changes on at the above e-mail address.
This software is provided as is - no warranty is given as to its suitability for any purposes to which you may wish to put it.
I'm Peter Johnson - a hobbyist programmer living in Ceredigion in West Wales, UK. I write mainly in Delphi, but occasionally dabble in C, C++ and Java. My programs are available for download on my web-site: http://homepages.tesco.net/~p.d.johnson/.
I can be contacted by e-mail on peter.johnson@openlink.org.