PrefixIt! V5.0

.NET framework is nice indeed. I like it, and I am a Delphi "integralist".
Unfortunately, someone in MS decided that interface name prefix 'I' is good
but class name prefix ('T' or 'C') it is not. This has unpleasant
consequences.
1 - It decreases code clarity, e.g. is that a class or an instance
    reference?
2 - It makes often necessary to use the full type name because of clashing
    with some property, e.g. every form has a DialogResult property so if
    you want to test for a DialogResult type value you end up writing
    "if AForm.DialogResult = System.Windows.Form.DialogResult.OK then"
3 - It makes instance naming a pain, e.g. as I can not call it Graphics
    should I call it AGraphics, MyGraphics, _Graphics, argh!
    C# chaps have a case-sensitive solution: they uncapitalize the
    instance names, e.g. Graphics graphics = new Graphics; Very
    readable indeed! Not to mention the problem if the instance is visible
    outside the assembly (.NET in general is NOT case-sensitive).
Delphi would have the solution: type equivalence, e.g.

type
  TGraphics = System.Drawing.Graphics;

var
  Graphics: TGraphics;

but manually rename all framework types is not an option.
Fortunately, using reflection it is quite easy to develop a tool that
inspects one or more assemblies and generate units with all the required
type definitions.
These type definition bunches are also a nice place where to put some
helper types, especially dynamic arrays of base types that are necessary
for object casting due to a quirk of Delphi sintax: casting directly to
a dynamic array does not compile. e.g.

type
  TStringArray = array of string;

var
  e: TDragEventArgs
  Drops: TStringArray;
  //This compiles
  Drops := e.Data.GetData(TDataFormats.FileDrop) as TStringArray;
  //This does not
  Drops := e.Data.GetData(TDataFormats.FileDrop) as array of string;

Finally, during the inspection of the assemblies it is quite simple to
generate a list associating types with their implementing assemblies.
All these information can be used manually but a companion Open Tool
plugin, PUses, can simplify their use. PUses can be found at
http://cc.borland.com/codecentral/ccweb.exe/listing?id=22683


PrefixIt! Basic usage (for applications only).

1. Load an assembly, lists of namespaces and types are presented.
2. Sometimes MS dispersed a namespace over different assemblies. Merge
   these assemblies with the first one. It is also possible to merge
   automatically all assemblies in a folder (this operation may take
   quite a long time).
3. Uncheck any namespace and or type that you want to exclude from the
   elaboration (default configuration is a sensible starting point).
4. Generate the type definition (prefix) units. For any namespace
   <N> an <N>.T.pas unit is generated.
5. Generate, or append to an existing one, the type association list.
6. Copy the generated units where your project can find them (that is
   a path included in Project - Options - Directories/Conditionals -
   Search Path).
7. Inside your units add to uses referring namespace <N> uses referring
   namespace <N>.T. System namespace is implied, so you have only to add
   a uses to System.T There is an Open Tool plugin that can do this for
   you. You can find it at http://cc.borland.com/ccweb.exe/listing?id=22873
8. Now inside your units you can use the 'T' prefixed names. PrefixIt!
   has been developed this way since V3.4. Use its sources as an usage
   example.


PrefixIt! Advanced usage (for applications and packages).

If, as in step 6 before, the prefix units would be used for the
development of packages they would not be usable inside applications
that would also include the same prefix units.
To solve this one or more prefix packages should be created using the
prefix units. Then the prefix packages should be referenced, instead
that the prefix units, by the packages and the applications* (never
use the "Copy Local" and the "Link in Delphi Units").
The references are strictly "compile time only", there is no need
of the prefix packages to run the applications.
To help in prefix package creation during step 4 PrefixIt! generates
a file, named Assemblies.txt, with the list of referenced assemblies.
These assemblies should be added to the requires list of the prefix
package+.
I Project Options for a prefix package remove all Debugging options
and set the Output directory and the DCPIL output directory to the
same path. This is expecially important because here Delphi will put
the dcpil for the package but also dcpil for the referred packages
and all these dcpils will be required at compile time.
Two sample prefix package are included inside T.zip. SystemT package
includes the prefix units obtained merging the assemblies of the
.NET 1.1 SP1 framework, ForeignsT package includes the prefix units
for the SandBar and #ZipLib assemblies.

* Sometimes Delphi generates some spurious "Duplicate symbol names"
  warnings. To filter them out use the Compiler Messages options
  inside the Project Options.
+ References to framework assemblies are somewhat strange and many of
  them are not strictly necessary. See the SystemT package as an example.


PrefixIt! More info

Default behaviour of PrefixIt! is a below.
 a. Prefix normal class names with prefix 'T'
 b. Prefix exception class names with prefix 'E' and remove the
    'Exception' postfix if present
 c. For COM classes inside interop assemblies remove the 'Class' postfix
    when present
 d. Ignore (do not rename) attribute classes
 e. Prefix value type but enumerated (record) names with prefix 'R'
 f. Prefix enumerated type names with prefix 'T'
 g. Generate units named <N>.T
The prefixes can be changed and point b, c and d can be disabled using
Options dialog.
Using options/tweak dialogs it is also possible to set a special
prefix / name for selected namespace / type.
Options include also the namespaces and types that must not be included
in the generated units and are saved in PrefixIt.xml file inside the
program directory. PrefixIt.xml also include the helper types
definitions. These definitions are added to the System namespace.
The default for PrefixIt.xml is as below.

<?xml version="1.0"?>
<TOptions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ClassPrefix>T</ClassPrefix>
  <RecordPrefix>R</RecordPrefix>
  <EnumeratedPrefix>T</EnumeratedPrefix>
  <ExceptionPrefix>E</ExceptionPrefix>
  <RemoveExceptionPostfix>true</RemoveExceptionPostfix>
  <RemoveClassPostfix>true</RemoveClassPostfix>
  <DoNotRenameAttributes>true</DoNotRenameAttributes>
  <FullOptionsInUnits>false</FullOptionsInUnits>
  <SystemExtraTypes>
    <anyType xsi:type="TSystemExtraType">
      <DelphiName>TByteArray</DelphiName>
      <Definition>array of Byte</Definition>
    </anyType>
    <anyType xsi:type="TSystemExtraType">
      <DelphiName>TShortintArray</DelphiName>
      <Definition>array of Shortint</Definition>
    </anyType>
    <anyType xsi:type="TSystemExtraType">
      <DelphiName>TWordArray</DelphiName>
      <Definition>array of Word</Definition>
    </anyType>
    <anyType xsi:type="TSystemExtraType">
      <DelphiName>TSmallintArray</DelphiName>
      <Definition>array of Smallint</Definition>
    </anyType>
    <anyType xsi:type="TSystemExtraType">
      <DelphiName>TLongwordArray</DelphiName>
      <Definition>array of Longword</Definition>
    </anyType>
    <anyType xsi:type="TSystemExtraType">
      <DelphiName>TLongintArray</DelphiName>
      <Definition>array of Longint</Definition>
    </anyType>
    <anyType xsi:type="TSystemExtraType">
      <DelphiName>TInt64Array</DelphiName>
      <Definition>array of Int64</Definition>
    </anyType>
    <anyType xsi:type="TSystemExtraType">
      <DelphiName>TCardinalArray</DelphiName>
      <Definition>array of Cardinal</Definition>
    </anyType>
    <anyType xsi:type="TSystemExtraType">
      <DelphiName>TIntegerArray</DelphiName>
      <Definition>array of Integer</Definition>
    </anyType>
    <anyType xsi:type="TSystemExtraType">
      <DelphiName>TCharArray</DelphiName>
      <Definition>array of Char</Definition>
    </anyType>
    <anyType xsi:type="TSystemExtraType">
      <DelphiName>TBooleanArray</DelphiName>
      <Definition>array of Boolean</Definition>
    </anyType>
    <anyType xsi:type="TSystemExtraType">
      <DelphiName>TSingleArray</DelphiName>
      <Definition>array of Single</Definition>
    </anyType>
    <anyType xsi:type="TSystemExtraType">
      <DelphiName>TDoubleArray</DelphiName>
      <Definition>array of Double</Definition>
    </anyType>
    <anyType xsi:type="TSystemExtraType">
      <DelphiName>TExtendedArray</DelphiName>
      <Definition>array of Extended</Definition>
    </anyType>
    <anyType xsi:type="TSystemExtraType">
      <DelphiName>TCurrencyArray</DelphiName>
      <Definition>array of Currency</Definition>
    </anyType>
    <anyType xsi:type="TSystemExtraType">
      <DelphiName>TStringArray</DelphiName>
      <Definition>array of string</Definition>
    </anyType>
  </SystemExtraTypes>
  <KnownTypes>
    <anyType xsi:type="TKnownType">
      <NETName>System.Object</NETName>
      <DelphiName />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownType">
      <NETName>System.Void</NETName>
      <DelphiName />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownType">
      <NETName>System.__ComObject</NETName>
      <DelphiName />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownType">
      <NETName>System.String</NETName>
      <DelphiName />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownType">
      <NETName>System.Decimal</NETName>
      <DelphiName />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownType">
      <NETName>System.Exception</NETName>
      <DelphiName />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownType">
      <NETName>System.Guid</NETName>
      <DelphiName />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownType">
      <NETName>System.Attribute</NETName>
      <DelphiName />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownType">
      <NETName>System.Xml.Serialization.XmlDeserializationEvents</NETName>
      <DelphiName />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownType">
      <NETName>System.Runtime.InteropServices.SetWin32ContextInIDispatchAttribute</NETName>
      <DelphiName />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownType">
      <NETName>System.Runtime.InteropServices.TypeLibImportClassAttribute</NETName>
      <DelphiName />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownType">
      <NETName>System.Runtime.InteropServices.VariantWrapper</NETName>
      <DelphiName />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownType">
      <NETName>System.DirectoryServices.SearchWaitHandler</NETName>
      <DelphiName />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownType">
      <NETName>System.Web.UI.WebControls.TableCaptionAlign</NETName>
      <DelphiName />
      <Exclude>true</Exclude>
    </anyType>
  </KnownTypes>
  <KnownNamespaces>
    <anyType xsi:type="TKnownNamespace">
      <Name>AXLib</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>DATALib</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>OLE32Lib</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>SHDocVw</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.com.ILWrappers</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.com.JCW</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.com</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.dll</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.jdbc.odbc</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.lang</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.util.InputMethod</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.util</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp.beans.editors</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp.com</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp.cor</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp.debug</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp.lang</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp.object</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp.security</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp.struct</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp.text</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp.util</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp.win32</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.app</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.ax.JCW</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.ax</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.core</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.data.adodb.JCW</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.data.adodb</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.data.dsl.JCW</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.data.dsl</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.data.JCW</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.data.rds.JCW</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.data.rds</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.data</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.data.ui</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.html.event</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.html.JCW</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.html.om.JCW</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.html.om.shdocvw.JCW</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.html.om.shdocvw</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.html.om.shdocvw.WebBrowser</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.html</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.io</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.ole32.JCW</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.ole32</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.ui</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.util</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.win32</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.win32</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.applet</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.awt.datatransfer</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.awt.event</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.awt.image</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.awt</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.beans</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.io</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.lang.reflect</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.lang</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.math</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.net</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.security.acl</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.security</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.sql</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.text</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.util</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.util.zip</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft.CSharp</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft.IE</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft.JScript</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft.JScript.Vsa</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft.VisualBasic.CompilerServices</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft.VisualBasic.Vsa</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft.VisualC</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft.VJSharp</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft.Vsa</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft.Vsa.Vb.CodeDOM</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft_VsaVb</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft.VisualBasic</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>ADODBLib</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>RDS</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>RegCode</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>System.Diagnostics</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>System.Diagnostics.Design</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>System.Diagnostics.SymbolStore</Name>
     <Prefix />
      <Exclude>true</Exclude>
    </anyType>
  </KnownNamespaces>
</TOptions>

Helper types correspond to nodes with this format.

    <anyType xsi:type="TSystemExtraType">
      <DelphiName>[name for the type]</DelphiName>
      <Definition>[type definition]</Definition>
    </anyType>

Excluded types correspond to nodes with this format.

    <anyType xsi:type="TKnownType">
      <NETName>[full .NET name]</NETName>
      <DelphiName />
      <Exclude>true</Exclude>
    </anyType>

Types with custom names correspond to nodes with this format.

    <anyType xsi:type="TKnownType">
      <NETName>[full .NET name]</NETName>
      <DelphiName>[custom name]</DelphiName>
      <Exclude>false</Exclude>
    </anyType>

Excluded namespaces correspond to nodes with this format.

    <anyType xsi:type="TKnownNamespace">
      <Name>[full .NET name]</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>

Namespaces with custom prefixes correspond to nodes with this format.

    <anyType xsi:type="TKnownNamespace">
      <Name>[full .NET name]</Name>
      <Prefix>[custom prefix]</Prefix>
      <Exclude>false</Exclude>
    </anyType>


This application was generated and tested using Borland Developer
Studio V9.0.1761.24408 Update 1 (Delhi 2005.1) under Windows 2000 SP4,
.NET 1.1 SP1
This application uses the SystemT and ForeignsT prefix packages
obtained from the prefix units that it generates (included in T.zip),
some general components from the Visibles and Invisibles packages and
SandBar (SandBar is Copyright (c) 2004 by Tim Dawson,
http://www.divil.co.uk/net/)
