 |
|
 |
Download V1.2.0
Download DelphiXPG from here. See below for a list of enhancements
and fixes in this release.
Once downloaded unzip the contents and run DelphiXPGSetup1.2.0.exe to install.
File size: 3 Meg
Version History
V1.2.0
- NEW: Support for Delphi 2009, 2010 and XE project files.
- NEW: Parse status window now has a log of parse settings.
- NEW: Within the source window CTRL-I jumps to items implementation, CTRL-D jumps
to items declaration.
- NEW: A switch has been added to project properties that allows insertion of
include file source. The only caveat is that no source can be modified due
to possible ambiguity when two or more modules include the source.
- NEW: XRefs unit file name now shown below XRef entry.
- NEW: Supplemental switch to "Insert Include File Source" added to allow main source
line numbers to be added, allowing original location of line to be seen.
- NEW: If VCL source is not to be parsed then these units are not displayed in the
units list.
- Treat classes based on TObject as CLASS items.
- Anything past a units "end." is ignored.
- Fix: Problem in preprocessor where white space after symbol was not
removed but treated as part of the symbol e.g.
{$IFNDEF MSWINDOWS }
Symbol was being treated as "MSWINDOWS ".
- Hex ranges
THexRange = $00..$FF;
now processed like decimal ranges.
- Fix: Stop error being raised when class referenced before a forward declaration.
TTestCaseClass = class of TTestCase;
TTestCase = class;
TTestCase = class
end;
- Fix: Pointer to keyword FILE was being marked as an error,
PFile = ^FILE;
- Fix: Embedded bracketed expressions within enumerations caused an error,
TEnum = (First=(0+1));
- Fix: Missing semi colon after "as" caused error when followed by "end;"
Result := Form_Main as TForm
end;
- Fix: Access Violation on reparse for unit with an error in it that has an
associated DFM.
- Fix: Problem where properties that implement multiple interfaces caused an
error,
property PropertyPageImpl: TPropertyPageImpl read FPropertyPageImpl
implements IPropertyPage, IPropertyPage2;
- Fix: Problem where multi-line comment following a type caused an error,
TRRecObj = CLASS (TObject)
Public
RR : Integer;
end;
( *
Comment
* )
- Fix: Problem where a set range caused an error,
property ClipboardCommands: TJvClipboardCommands
read FClipboardCommands
write SetClipboardCommands default [caCopy..caUndo];
- Fix: Include files specification can now include an absolute path as well as relative.
{$I C:\projects\includes\conds.inc}
If no absolute path is specified then the relative path is searched first from
the modules directory then for each item in the search path.
If no extension is specified then ".pas" is used.
Conditional window now shows absolute path to include file.
- Fix: Problem where array of anonomous record causes an error,
NWVolumeRestrictions = packed Record
numberOfEntries : nuint8 ;
resInfo : Array[0..11] of packed Record
objectID : nuint32 ;
restriction : nuint32 ;
end;
end;
- Fix: Stop stack overflow caused when an alias references another alias of the same
name e.g.
Unit1
type
TBetterRegistry = TRegistry;
Unit2
type
TBetterRegistry = Unit1.TBetterRegistry;
- Fix: Conditional view window does not reflect changes in font.
- Fix: Tree view items in Conditionals/Symbol TV should be read only.
- Fix: Access violation whem clicking on the "VCL Source Root" browse button
for Options dialog under Windows Vista.
- Processes 'inline' directive for method.
- Process Helpers for both classes and records.
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-2010, Simon Cox |
|
 |
|