Download V1.1.0

Download DelphiXPG from here. See below for a list of enhancements and fixes in this release.

Once downloaded remove any previous versions of DelphiXPG then run DelphiXPGSetup1.1.0.exe to install.

File size: 3 Meg




Version History

V1.1.0

  • Support for Windows Vista operating system.
  • XRef list now shows method item is accessed from,
  • Added history of opened projects.
  • Parsed VCL units are cached speeding up subsequent parses.
  • When source is modified only effected units are reparsed.
  • Improved speed when navigating from one XRef item to another for large files.
  • Audible beep if Context or Data Type Context cannot be found.
  • Editor now synchronized, XRef window caret will reflect position in editor when it closes.
  • Searches for VCL source directories when first run after install.
  • User settings nolonger stored in registry, stored in non roaming Application Data area using Portable Objects persistence framework.
  • Fix: Method return value not being highlighted correctly (being offset by one char)
  • Fix: Stopped tree node 'Methods' appearing when there were no methods.
  • Fix: Error log not being cleared on reparse.
  • Fix: Access violation when opening file using .xpg file extension.
  • Fix: VCL source not always being picked up on XP, okay on W2K.
  • Fix: References from an array of class refs not being picked up.
    var
    	a : array [0..15] of TObject;
    	s : string;
    begin
    	a[0] := Application;
    
    	s := a[0].ClassName;	// ClassName not being picked up.
    end;
    
  • Fix: Record fields that were procedural type were not being parsed correctly.
    
      TVariantManager = record
        VarClear: procedure(var V : Variant);
        VarCopy: procedure(var Dest: Variant; const Source: Variant);
    

V1.0.9e

  • Fixed: Creating a "class of" class reference for an as yet undefined class would produce a "Unknown class" error e.g.
    
    type
    
    TPanningWindowClass = class of TCustomPanningWindow;
    TCustomPanningWindow = class
    private
      FBar: integer;
    end;
    
  • Fixed: Function declarations in constants were not being parsed correctly when there were more than two parameters e.g.
    
    function SetNamedSecurityInfoW(pObjectName: LPWSTR; ObjectType: SE_OBJECT_TYPE;
        SecurityInfo: SECURITY_INFORMATION; psidOwner, psidGroup: PSID;
        pDacl, pSacl: PACL): DWORD; stdcall;
    
    const
      RtdlSetNamedSecurityInfoW: function(pObjectName: LPWSTR; ObjectType: SE_OBJECT_TYPE;
        SecurityInfo: SECURITY_INFORMATION; psidOwner, psidGroup: PSID;
        pDacl, pSacl: PACL): DWORD stdcall = SetNamedSecurityInfoW;
    
  • Fixed: Compilation directive using $ELSEIF where not handled correctly resulting in an "Unexpected $Else" error e.g.
    
    {$DEFINE A}
    {$UNDEF B}
    {$UNDEF PIC}
    
    
    {$IF DEFINED(A)}
       {$message 'A defined start'}
            {$IFDEF PIC}
                   {$message 'PIC defined'}
            {$ELSE}
                   {$message 'PIC not defined'}
            {$ENDIF}
       {$message 'A defined end'}
    {$ELSEIF DEFINED(B)}
       {$message 'B defined'}
    {$ELSE}
       {$message 'Neither A nor B defined'}
    {$IFEND}
    
  • Fixed: System unit not parsed correctly because conditional define "CPU386" was not defined, this resulted an "Unknown class" error,
    
    Line:- 8389 (17) Unknown class.
    function TObject.ClassType: TClass;
    ________________^
    
    Define "CPU386" will automatically be added to VCL Version Information items with name containing "200" i.e. "2005", "2006", "2007",.. Otherwise add it manually.

V1.0.9d

  • Fixed: Parse error when property default was set to nil.
  • Fixed: Property default value not cross referenced when identifier used.

V1.0.9c

  • Fixed: Multiple label definition not catered for. e.g. label l1,l2,l3;
  • Fixed: Const section then "end." of unit not catered for.

V1.0.9b

  • Fixed: Parse error when implements keyword used in property.

V1.0.9a

  • Fixed: Default hex values not parsed for properties.
  • Fixed: Comment between return type and semi colon not parsed.
  • Fixed: Hash chars, #1034, not parsed in dfm's.

V1.0.9

  • Fixed: Function return value in method implementation not being picked up.
  • Fixed: Datatype in AS not being picked up.
  • Data tree items now show reference count.
  • Added CLR,CIL,MANAGEDCODE to defines for Delphi 2005 .NET
  • Added MSWINDOWS to defines for Delphi 2005 Win32

V1.0.8

  • Fixed: Function "result" variable XRef list not created.
  • Fixed: If there were no white space between an item and "THEN" e.g.
      if  TypeText='TEST'then
    
    and profiling code was added then the "THEN" would vanish.
  • Fixed: With statements (see ComCtrls TCustomRichEdit Print, hdc not picked up from Range) context of second item not being picked up.
  • Fixed: Not able to jump to a context or data type context from source window. This happens when you view an xref item in another unit then change the tree node to a container. XRef list is cleared and popup Find Context and Find Data Type Context do not work.
  • Fixed: Enumerations on array fields not being picked up e.g.
      FArray : array [alLow..alHigh] of string;
    
  • Fixed: Explicitly Assigned Ordinality for enumerations not picked up e.g.
    	TEdgeType = (etTop=1,etbottom=2,etLeft=etTop+etBottom,etRight);
    
  • Fixed: Hash chars in dfm strings caused parse error.
  • Fixed: Conditional symbols defined in include file not being processed. Also now handles multiple levels of include file.
  • NEW Functionality: List conditional symbols. When they are defined/undefined and tested.
  • Fixed: Data module only referenced in properties is not being picked up in refed unit/uses reports
  • Fixed: Sub referenced items not being picked up if DFMs e.g. DataSource1 in DataSource = DataModule3.DataSource1
  • Fixed: References to global consts not being picked up in local method const def e.g.
     implementation 
       const
        Smallest = 1;
        Biggest = 100;
    
     procedure test;
     const
      Sum = Smallest + Biggest;
     begin
    
     end;
    
  • Fixed: Compare color settings not being saved.

V1.0.7

  • Convert binary dfm's to text.
  • Add Context lookup and context data type lookup.
  • Next and Prev XRef tool buttons and menu items. Ctrl-N Ctrl-P
  • Search in main source window.
  • Implicit uses
  • Tool buttons in compare form.
  • Unknown contexts
  • Items in use context are qualified with class name if applicable.
Copyright © 2005-2009, Simon Cox