PROPERTIES Object +
Updated: Mar 26, 2005

The Properties Object (alias Prop) creates a "properties" resource in
your executable.  When your .exe file is right-clicked and "Properties"
is selected, your application information is displayed.

Each method adds a single line to the properties resource.  A source 
code line should contain only one properties method statement.

hotprop.bas below shows a working example.  A web search for
"versioninfo resource" may list sources with detailed technical
information of the resource format and examples.


METHODS    Arguments & Comments
~~~~~~~    ~~~~~~~~~~~~~~~~~~~~
Begin	   Write BEGIN statement to resource; Prop.Begin

Block      Used after .Begin to identify .Value data type

           Prop.Block quoted_string  'quoted_string = "text"

           Prop.Block "StringFileInfo"  'same as .StringFileInfo

End        Write END statement to resource; Prop.End

FileFlags  Write FILEFLAGS statement; Prop.FileFlags value

FileFlagsMask
           Write FILEFLAGSMASK statement; Prop.FileFlagsMask value

FileOS     Write FILEOS statement; Prop.FileOS value

FileSubType
           Write FILESUBTYPE statement; Prop.FileSubType value

FileType   Write FILETYPE statement; Prop.FileType value

FileVersion
           Write FILEVERSION statement; Prop.FileVersion value

ProductVersion
           Write PRODUCTVERSION statement; Prop.ProductVersion value

StringFileInfo
           Write BLOCK "StringFileInfo" statement

Value      Write VALUE value1, value2 statement; where value1 and
           value2 are quoted_string items

           Prop.Value "Author", "Maj. Hog"

VarFileInfo
           Write BLOCK "VarFileInfo" statement


###########
hotprop.bas in HotThing shows a working coding example.

PROPERTY object code generates a resource for the exectuable accessed
by the OS in the "Properties" tab for the .exe file properties.
As such, only quoted strings or $DEFINE values may be used.  E.g.,

$DEFINE PROP_prog "HotIDE"
$DEFINE PROP_version "2.5a"
$INCLUDE "MyPROPTemplate.bas"

  Lines in $INCLUDE file:

  .VALUE "FileDescription", PROP_prog
  .VALUE "FileVersion", PROP_version
  'etc

$UNDEF PROP_prog, PROP_version


+ Penthouse (registered) version

Copyright 2004-2005 James J Keene PhD
Original Publication: July 20, 2004
