|
From: <na...@us...> - 2008-08-25 13:28:10
|
Revision: 782
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=782&view=rev
Author: nandod
Date: 2008-08-25 13:28:15 +0000 (Mon, 25 Aug 2008)
Log Message:
-----------
+ new IQL function EXISTS().
Modified Paths:
--------------
trunk/Demos/PrimerCross/Primer.dproj
trunk/Demos/PrimerCross/PrimerExternal.dpr
trunk/Demos/PrimerCross/PrimerExternal.dproj
trunk/Demos/PrimerCross/QueryView.dfm
trunk/Demos/PrimerCross/QueryView.pas
trunk/Source/Brokers/XML/InstantXML.pas
trunk/Source/Core/InstantBrokers.pas
trunk/Source/Core/InstantCommand.pas
trunk/Source/Core/InstantConsts.pas
trunk/Source/Core/InstantPersistence.pas
trunk/Source/Core/InstantPresentation.pas
trunk/Source/Core/InstantUtils.pas
trunk/Source/PackageGroups/D2007/AllPackages.groupproj
Modified: trunk/Demos/PrimerCross/Primer.dproj
===================================================================
--- trunk/Demos/PrimerCross/Primer.dproj 2008-07-08 07:01:41 UTC (rev 781)
+++ trunk/Demos/PrimerCross/Primer.dproj 2008-08-25 13:28:15 UTC (rev 782)
@@ -1,4 +1,5 @@
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<?xml version="1.0" encoding="utf-8"?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{d197a2d4-31b9-43b1-8070-3f804d86e53f}</ProjectGuid>
<MainSource>Primer.dpr</MainSource>
@@ -20,7 +21,7 @@
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<Version>7.0</Version>
- <DCC_Define>DEBUG</DCC_Define>
+ <DCC_Define>DEBUG;IO_STATEMENT_LOGGING</DCC_Define>
<DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_UnitSearchPath>
<DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_ResourcePath>
<DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_ObjPath>
@@ -30,7 +31,8 @@
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>VCLApplication</Borland.ProjectType>
<BorlandProject>
-<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">1030</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName">InstantObjects.org</VersionInfoKeys><VersionInfoKeys Name="FileDescription">Primer Demo</VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright">MPL public license</VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">Primer.dpr</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
+<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">1030</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName">InstantObjects.org</VersionInfoKeys><VersionInfoKeys Name="FileDescription">Primer Demo</VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright">MPL public license</VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">Primer.dpr</Source></Source></Delphi.Personality> <ModelSupport>False</ModelSupport>
+</BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
Modified: trunk/Demos/PrimerCross/PrimerExternal.dpr
===================================================================
--- trunk/Demos/PrimerCross/PrimerExternal.dpr 2008-07-08 07:01:41 UTC (rev 781)
+++ trunk/Demos/PrimerCross/PrimerExternal.dpr 2008-08-25 13:28:15 UTC (rev 782)
@@ -62,10 +62,10 @@
ContactSort in 'ContactSort.pas' {ContactSortForm},
CategoryBrowse in 'CategoryBrowse.pas' {CategoryBrowseForm},
HelpView in 'HelpView.pas' {HelpViewForm: TFrame},
- QueryView in 'QueryView.pas' {QueryViewForm: TFrame},
RandomData in 'RandomData.pas',
Stopwatch in 'Stopwatch.pas',
- Utility in 'Utility.pas';
+ Utility in 'Utility.pas',
+ QueryView in 'QueryView.pas' {QueryViewForm: TFrame};
{$R *.res}
{$R *.mdr} {Model}
Modified: trunk/Demos/PrimerCross/PrimerExternal.dproj
===================================================================
--- trunk/Demos/PrimerCross/PrimerExternal.dproj 2008-07-08 07:01:41 UTC (rev 781)
+++ trunk/Demos/PrimerCross/PrimerExternal.dproj 2008-08-25 13:28:15 UTC (rev 782)
@@ -3,7 +3,7 @@
<PropertyGroup>
<ProjectGuid>{0d607f9b-9c2b-445d-84fd-7072bc53deff}</ProjectGuid>
<MainSource>PrimerExternal.dpr</MainSource>
- <Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>PrimerExternal.exe</DCC_DependencyCheckOutputName>
@@ -13,25 +13,25 @@
<DCC_DebugInformation>False</DCC_DebugInformation>
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
- <DCC_Define>RELEASE</DCC_Define>
- <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql</DCC_UnitSearchPath>
- <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql</DCC_ResourcePath>
- <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql</DCC_ObjPath>
- <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql</DCC_IncludePath>
+ <DCC_Define>RELEASE;IO_STATEMENT_LOGGING</DCC_Define>
+ <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_ObjPath>
+ <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_IncludePath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<Version>7.0</Version>
- <DCC_Define>DEBUG</DCC_Define>
- <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql</DCC_UnitSearchPath>
- <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql</DCC_ResourcePath>
- <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql</DCC_ObjPath>
- <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql</DCC_IncludePath>
+ <DCC_Define>DEBUG;IO_STATEMENT_LOGGING</DCC_Define>
+ <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_ObjPath>
+ <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_IncludePath>
</PropertyGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>VCLApplication</Borland.ProjectType>
<BorlandProject>
-<BorlandProject><Delphi.Personality><Compiler><Compiler Name="UsePackages">False</Compiler><Compiler Name="Packages"></Compiler></Compiler><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">False</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">1</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">2057</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName">InstantObjects.org</VersionInfoKeys><VersionInfoKeys Name="FileDescription">Primer Demo</VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.1.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright">MPL public license</VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.1</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">PrimerExternal.dpr</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
+<BorlandProject><Delphi.Personality><Compiler><Compiler Name="UsePackages">False</Compiler><Compiler Name="Packages"></Compiler></Compiler><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">1030</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName">InstantObjects.org</VersionInfoKeys><VersionInfoKeys Name="FileDescription">Primer Demo</VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright">MPL public license</VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">PrimerExternal.dpr</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
@@ -46,6 +46,7 @@
</DCCReference>
<DCCReference Include="BasicView.pas">
<Form>BasicViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="CategoryBrowse.pas">
<Form>CategoryBrowseForm</Form>
@@ -70,6 +71,7 @@
</DCCReference>
<DCCReference Include="ContactView.pas">
<Form>ContactViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="CountryBrowse.pas">
<Form>CountryBrowseForm</Form>
@@ -80,16 +82,19 @@
</DCCReference>
<DCCReference Include="HelpView.pas">
<Form>HelpViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="Main.pas">
<Form>MainForm</Form>
</DCCReference>
<DCCReference Include="MainData.pas">
<Form>MainDataModule</Form>
+ <DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="ModelExternal\Model.pas" />
<DCCReference Include="PerformanceView.pas">
<Form>PerformanceViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="PersonBrowse.pas">
<Form>PersonBrowseForm</Form>
@@ -99,6 +104,7 @@
</DCCReference>
<DCCReference Include="QueryView.pas">
<Form>QueryViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="RandomData.pas" />
<DCCReference Include="Stopwatch.pas" />
Modified: trunk/Demos/PrimerCross/QueryView.dfm
===================================================================
--- trunk/Demos/PrimerCross/QueryView.dfm 2008-07-08 07:01:41 UTC (rev 781)
+++ trunk/Demos/PrimerCross/QueryView.dfm 2008-08-25 13:28:15 UTC (rev 782)
@@ -1,10 +1,10 @@
inherited QueryViewForm: TQueryViewForm
- Width = 600
+ Width = 772
Height = 320
object Splitter: TSplitter
Left = 0
Top = 147
- Width = 600
+ Width = 772
Height = 6
Cursor = crVSplit
Align = alTop
@@ -12,7 +12,7 @@
object CommandPanel: TPanel
Left = 0
Top = 0
- Width = 600
+ Width = 772
Height = 147
Align = alTop
BevelOuter = bvNone
@@ -35,7 +35,7 @@
FocusControl = ExampleComboBox
end
object NumberLabel: TLabel
- Left = 443
+ Left = 614
Top = 126
Width = 77
Height = 13
@@ -47,7 +47,7 @@
object CommandEdit: TMemo
Left = 30
Top = 30
- Width = 540
+ Width = 712
Height = 87
Align = alClient
Font.Charset = ANSI_CHARSET
@@ -69,15 +69,16 @@
object ExampleComboBox: TComboBox
Left = 168
Top = 121
- Width = 281
+ Width = 461
Height = 21
Style = csDropDownList
+ DropDownCount = 11
ItemHeight = 13
TabOrder = 1
OnClick = ExampleComboBoxClick
end
object MaxCountEdit: TMaskEdit
- Left = 524
+ Left = 695
Top = 122
Width = 44
Height = 21
@@ -87,31 +88,53 @@
Text = '0 '
end
end
- object ResultPanel: TPanel
+ object ResultPageControl: TPageControl
Left = 0
Top = 153
- Width = 600
+ Width = 772
Height = 167
+ ActivePage = ResultTabSheet
Align = alClient
- BevelOuter = bvNone
TabOrder = 1
- object ResultGrid: TDBGrid
- Left = 0
- Top = 0
- Width = 600
- Height = 167
- Align = alClient
- DataSource = TestSource
- TabOrder = 0
- TitleFont.Charset = DEFAULT_CHARSET
- TitleFont.Color = clWindowText
- TitleFont.Height = -11
- TitleFont.Name = 'MS Sans Serif'
- TitleFont.Style = []
+ object ResultTabSheet: TTabSheet
+ Caption = 'Result'
+ object ResultGrid: TDBGrid
+ Left = 0
+ Top = 0
+ Width = 764
+ Height = 139
+ Align = alClient
+ DataSource = TestSource
+ TabOrder = 0
+ TitleFont.Charset = DEFAULT_CHARSET
+ TitleFont.Color = clWindowText
+ TitleFont.Height = -11
+ TitleFont.Name = 'MS Sans Serif'
+ TitleFont.Style = []
+ end
end
+ object TranslatedQueryTabSheet: TTabSheet
+ Caption = 'Translated Query'
+ ImageIndex = 1
+ object TranslatedQueryMemo: TMemo
+ Left = 0
+ Top = 0
+ Width = 764
+ Height = 139
+ Align = alClient
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -13
+ Font.Name = 'Courier New'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 0
+ end
+ end
end
object TestSelector: TInstantSelector
AfterScroll = TestSelectorAfterScroll
+ AfterClose = TestSelectorAfterClose
Left = 32
Top = 192
end
Modified: trunk/Demos/PrimerCross/QueryView.pas
===================================================================
--- trunk/Demos/PrimerCross/QueryView.pas 2008-07-08 07:01:41 UTC (rev 781)
+++ trunk/Demos/PrimerCross/QueryView.pas 2008-08-25 13:28:15 UTC (rev 782)
@@ -18,7 +18,7 @@
QGraphics, QControls, QForms, QDialogs, QMask,
QGrids, QDBGrids, QStdCtrls, QExtCtrls, QActnList, QMenus, QButtons,
{$ENDIF}
- BasicView, Db, InstantPresentation;
+ BasicView, Db, InstantPresentation, ComCtrls;
type
TQueryViewForm = class(TBasicViewForm)
@@ -31,29 +31,42 @@
ExecuteAction: TAction;
ExecuteButton: TButton;
ResultGrid: TDBGrid;
- ResultPanel: TPanel;
+ ResultPageControl: TPageControl;
Splitter: TSplitter;
TestSelector: TInstantSelector;
TestSource: TDataSource;
MaxCountEdit: TMaskEdit;
NumberLabel: TLabel;
+ ResultTabSheet: TTabSheet;
+ TranslatedQueryTabSheet: TTabSheet;
+ TranslatedQueryMemo: TMemo;
procedure ExecuteActionExecute(Sender: TObject);
procedure ExampleComboBoxClick(Sender: TObject);
procedure TestSelectorAfterScroll(DataSet: TDataSet);
procedure ActionsUpdate(Action: TBasicAction; var Handled: Boolean);
+ procedure TestSelectorAfterClose(DataSet: TDataSet);
+ private
+ procedure LogStatement(const AString: string);
+ procedure UpdateTabSheets;
protected
procedure LoadExamples;
public
procedure FormCreate(Sender: TObject); override;
+ procedure FormShow(Sender: TObject); override;
procedure Disconnect; override;
+ procedure Connect; override;
+ destructor Destroy; override;
end;
implementation
{$R *.dfm}
+uses
+ InstantPersistence, InstantBrokers, InstantConsts;
+
const
- Examples: array[0..9, 0..1] of string = (
+ Examples: array[0..10, 0..1] of string = (
('All contacts',
'SELECT * FROM ANY TContact'),
('All companies',
@@ -73,9 +86,19 @@
('Corporations ordered descending by city',
'SELECT * FROM TCompany WHERE Name LIKE "%Corp%" ORDER BY City DESC'),
('Employees from same city as their employer',
- 'SELECT * FROM TPerson WHERE City = Employer.City')
+ 'SELECT * FROM TPerson WHERE City = Employer.City'),
+ ('Categories of contacts in cities with names starting by A',
+ 'SELECT DISTINCT * FROM TCategory WHERE EXISTS(SELECT * FROM ANY TContact WHERE City LIKE ''A%'' USING Category)'),
+ ('Companies with at least one employee living in San Diego',
+ 'SELECT * FROM TCompany WHERE EXISTS(SELECT * FROM TPerson WHERE City = ''San Diego'' USING Employer)')
);
+destructor TQueryViewForm.Destroy;
+begin
+ InstantLogProc := nil;
+ inherited;
+end;
+
procedure TQueryViewForm.Disconnect;
begin
TestSelector.Close;
@@ -104,8 +127,17 @@
begin
Caption := 'Query';
LoadExamples;
+ ResultPageControl.ActivePage := ResultTabSheet;
end;
+procedure TQueryViewForm.LogStatement(const AString: string);
+begin
+ //Log only first statement
+ if TranslatedQueryMemo.Lines.Count = 0 then
+ TranslatedQueryMemo.Lines.Text :=
+ Copy(AString, Length(InstantLogStatementBefore) + 1, MaxInt);
+end;
+
procedure TQueryViewForm.LoadExamples;
var
I: Integer;
@@ -135,4 +167,33 @@
ExecuteAction.Enabled := IsConnected and (CommandEdit.Text <> '') and Visible;
end;
+procedure TQueryViewForm.FormShow(Sender: TObject);
+begin
+ inherited;
+ UpdateTabSheets;
+end;
+
+procedure TQueryViewForm.UpdateTabSheets;
+begin
+{$IFDEF IO_STATEMENT_LOGGING}
+ TranslatedQueryTabSheet.TabVisible := Assigned(Connector) and (Connector.Broker is TInstantSQLBroker);
+ InstantLogProc := LogStatement;
+{$ELSE}
+ TranslatedQueryTabSheet.TabVisible := False;
+ InstantLogProc := nil;
+{$ENDIF}
+end;
+
+procedure TQueryViewForm.Connect;
+begin
+ inherited;
+ UpdateTabSheets;
+end;
+
+procedure TQueryViewForm.TestSelectorAfterClose(DataSet: TDataSet);
+begin
+ inherited;
+ TranslatedQueryMemo.Clear;
+end;
+
end.
Modified: trunk/Source/Brokers/XML/InstantXML.pas
===================================================================
--- trunk/Source/Brokers/XML/InstantXML.pas 2008-07-08 07:01:41 UTC (rev 781)
+++ trunk/Source/Brokers/XML/InstantXML.pas 2008-08-25 13:28:15 UTC (rev 782)
@@ -22,7 +22,7 @@
*
* Contributor(s):
* Carlo Barazzetta, Adrea Petrelli, Nando Dessena, Marco Cant\xF9,
- * Steven Mitchell
+ * Steven Mitchell, Andrea Magni
*
* ***** END LICENSE BLOCK ***** *)
@@ -63,11 +63,11 @@
FConnected: Boolean;
FRootFolder: string;
FXMLFileFormat: TXMLFileFormat;
- procedure CreateStorageDir(const AStorageName: string);
function GetRootFolder: string;
procedure SetRootFolder(const AValue: string);
function ObjectUpdateCountFromFileName(const AFileName: string): Integer;
protected
+ procedure CreateStorageDir(const AStorageName: string);
procedure DoConnect; override;
procedure DoDisconnect; override;
function GetConnected: Boolean; override;
@@ -109,7 +109,7 @@
function CheckConflict(AObject: TInstantObject;
const AStorageName, AObjectId: string): Boolean;
procedure LoadFileList(const AFileList: TStringList;
- const AStorageNames: TStrings);
+ const AStorageNames: TStrings); virtual;
published
property RootFolder: string read GetRootFolder write SetRootFolder;
property XMLFileFormat: TXMLFileFormat
@@ -259,6 +259,7 @@
procedure SetParams(Value: TParams); override;
function ObjectFetched(Index: Integer): Boolean; override;
procedure SetStatement(const Value: string); override;
+ function InternalGetObjectReferenceId(Index: Integer) : string; override;
property ObjectReferenceCount: Integer read GetObjectReferenceCount;
property ObjectReferenceList: TObjectList read GetObjectReferenceList;
property ObjectReferences[Index: Integer]: TInstantObjectReference read
@@ -312,6 +313,8 @@
property TableMetadata: TInstantTableMetadata read GetTableMetadata;
end;
+procedure GlobalLoadFileList(const Path: string; FileList: TStringList);
+
implementation
uses
@@ -922,6 +925,13 @@
Result := ObjectReferenceCount;
end;
+function TInstantXMLQuery.InternalGetObjectReferenceId(
+ Index: Integer): string;
+begin
+ Result := inherited InternalGetObjectReferenceId(Index)+
+ '['+TInstantObjectReference(ObjectReferenceList[Index]).ObjectId+']';
+end;
+
function TInstantXMLQuery.InternalGetObjects(Index: Integer): TObject;
begin
Result := ObjectReferences[Index].Dereference(Connector);
@@ -1245,9 +1255,9 @@
I: Integer;
begin
Result := inherited TranslateClassRef(ClassRef, Writer);
- if TablePathCount > 0 then
+ if Context.TablePathCount > 0 then
begin
- (Query as TInstantXMLQuery).StorageNames.Text := TablePaths[0];
+ (Query as TInstantXMLQuery).StorageNames.Text := Context.TablePaths[0];
(Query as TInstantXMLQuery).ObjectClassNames.Text := ClassRef.ObjectClassName;
if ClassRef.Any then
begin
Modified: trunk/Source/Core/InstantBrokers.pas
===================================================================
--- trunk/Source/Core/InstantBrokers.pas 2008-07-08 07:01:41 UTC (rev 781)
+++ trunk/Source/Core/InstantBrokers.pas 2008-08-25 13:28:15 UTC (rev 782)
@@ -26,7 +26,7 @@
* Contributor(s):
* Carlo Barazzetta, Andrea Petrelli, Nando Dessena, Steven Mitchell,
* Joao Morais, Cesar Coll, Uberto Barbini, David Taylor, Hanedi Salas,
- * Riceball Lee, David Moorhouse
+ * Riceball Lee, David Moorhouse, Andrea Magni
*
* ***** END LICENSE BLOCK ***** *)
@@ -778,60 +778,126 @@
property Query: TInstantQuery read GetQuery;
end;
- TInstantRelationalTranslator = class(TInstantQueryTranslator)
+ // Holds all information pertaining to a class used in a command. A command
+ // may use several classes (because of subqueries), and a relational translator
+ // has a tree of class context objects.
+ TInstantTranslationContext = class
private
+ FChildContexts: TObjectList;
+ FClassRef: TInstantIQLClassRef;
FCriteriaList: TStringList;
+ FDelimiters: string;
+ FObjectClassName: string;
+ FObjectClassMetadata: TInstantClassMetadata;
+ FQuote: Char;
+ FSpecifier: TInstantIQLSpecifier;
+ FStatement: TInstantIQLObject;
FTablePathList: TStringList;
+ FParentContext: TInstantTranslationContext;
+
procedure AddJoin(const FromPath, FromField, ToPath, ToField: string);
- function ConcatPath(const APathText, AttribName: string): string;
- procedure DestroyCriteriaList;
- procedure DestroyTablePathList;
- function ExtractTarget(const PathStr: string): string;
- function RootAttribToFieldName(const AttribName: string): string;
function GetClassTablePath: string;
+ function GetChildContext(const AIndex: Integer): TInstantTranslationContext;
+ function GetChildContextCount: Integer;
function GetCriteriaCount: Integer;
function GetCriteriaList: TStringList;
function GetCriterias(Index: Integer): string;
function GetObjectClassMetadata: TInstantClassMetadata;
- function GetQuery: TInstantCustomRelationalQuery;
+ function GetTableAlias: string;
+ function GetTableName: string;
function GetTablePathAliases(Index: Integer): string;
function GetTablePathCount: Integer;
function GetTablePathList: TStringList;
function GetTablePaths(Index: Integer): string;
function PathToTablePath(const PathText: string): string;
function PathToTarget(const PathText: string;
- out TablePath, FieldName: string): TInstantAttributeMetadata;
+ out TablePath, FieldName: string; const AClassMetadata: TInstantClassMetadata = nil): TInsta...
[truncated message content] |
|
From: <na...@us...> - 2009-07-07 11:00:05
|
Revision: 802
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=802&view=rev
Author: nandod
Date: 2009-07-07 10:59:47 +0000 (Tue, 07 Jul 2009)
Log Message:
-----------
* A first set of changes for D2009 compatibility: Core, Design, BDE, XML. Still WIP.
Modified Paths:
--------------
trunk/Source/Core/InstantBrokers.pas
trunk/Source/Core/InstantClasses.pas
trunk/Source/Core/InstantCode.pas
trunk/Source/Core/InstantCommand.pas
trunk/Source/Core/InstantExplorer.pas
trunk/Source/Core/InstantMetadata.pas
trunk/Source/Core/InstantPersistence.pas
trunk/Source/Core/InstantPresentation.pas
trunk/Source/Core/InstantRtti.pas
trunk/Source/Core/InstantTextFiler.pas
trunk/Source/Core/InstantUtils.pas
trunk/Source/Design/InstantAttributeEditor.dfm
trunk/Source/Design/InstantAttributeEditor.pas
trunk/Source/Design/InstantModelExpert.pas
trunk/Source/Design/InstantOTA.pas
trunk/Source/InstantDefines.inc
trunk/Tests/InstantMock.pas
trunk/Tests/TestIO.dpr
trunk/Tests/TestIO.mdr
trunk/Tests/TestIO.mdrt
trunk/Tests/TestIO.mdx
trunk/Tests/TestIO.mdxt
trunk/Tests/TestInstantClasses.pas
trunk/Tests/TestInstantRtti.pas
trunk/Tests/TestModel.pas
trunk/Tests/ubmock/src/testutils.pas
Added Paths:
-----------
trunk/Demos/Intro/Intro_D2007.dproj
trunk/Demos/Intro/Intro_D2007.mdr
trunk/Demos/Intro/Intro_D2009.dproj
trunk/Source/Brokers/XML/D2009/
trunk/Source/Brokers/XML/D2009/DclIOXML.dpk
trunk/Source/Brokers/XML/D2009/DclIOXML.dproj
trunk/Source/Brokers/XML/D2009/DclIOXML.res
trunk/Source/Brokers/XML/D2009/IOXML.dpk
trunk/Source/Brokers/XML/D2009/IOXML.dproj
trunk/Source/Brokers/XML/D2009/IOXML.res
trunk/Source/PackageGroups/D2009/
trunk/Source/PackageGroups/D2009/CorePackages.groupproj
trunk/Tests/DUnit/
trunk/Tests/DUnit/src/
trunk/Tests/DUnit/src/TestFramework.pas
trunk/Tests/TestIO_D2007.dproj
trunk/Tests/TestIO_D2007.mdr
trunk/Tests/TestIO_D2009.dproj
trunk/Tests/TestIO_D2009.mdr
Added: trunk/Demos/Intro/Intro_D2007.dproj
===================================================================
--- trunk/Demos/Intro/Intro_D2007.dproj (rev 0)
+++ trunk/Demos/Intro/Intro_D2007.dproj 2009-07-07 10:59:47 UTC (rev 802)
@@ -0,0 +1,103 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{5e7fed32-48a7-4d66-a1ed-fbf2fb9c43c1}</ProjectGuid>
+ <MainSource>Intro.dpr</MainSource>
+ <Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <DCC_DependencyCheckOutputName>Intro.exe</DCC_DependencyCheckOutputName>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <Version>7.0</Version>
+ <DCC_WriteableConstants>True</DCC_WriteableConstants>
+ <DCC_Optimize>False</DCC_Optimize>
+ <DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
+ <DCC_DebugInfoInExe>True</DCC_DebugInfoInExe>
+ <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\BDE</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\BDE</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\BDE</DCC_ObjPath>
+ <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\BDE</DCC_IncludePath>
+ <DCC_UNSAFE_TYPE>True</DCC_UNSAFE_TYPE>
+ <DCC_UNSAFE_CODE>True</DCC_UNSAFE_CODE>
+ <DCC_UNSAFE_CAST>True</DCC_UNSAFE_CAST>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <Version>7.0</Version>
+ <DCC_WriteableConstants>True</DCC_WriteableConstants>
+ <DCC_Optimize>False</DCC_Optimize>
+ <DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
+ <DCC_DebugInfoInExe>True</DCC_DebugInfoInExe>
+ <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\BDE</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\BDE</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\BDE</DCC_ObjPath>
+ <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\BDE</DCC_IncludePath>
+ <DCC_Define>DEBUG</DCC_Define>
+ <DCC_UNSAFE_TYPE>True</DCC_UNSAFE_TYPE>
+ <DCC_UNSAFE_CODE>True</DCC_UNSAFE_CODE>
+ <DCC_UNSAFE_CAST>True</DCC_UNSAFE_CAST>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality</Borland.Personality>
+ <Borland.ProjectType>VCLApplication</Borland.ProjectType>
+ <BorlandProject>
+<BorlandProject xmlns=""> <Delphi.Personality> <Parameters>
+ <Parameters Name="UseLauncher">False</Parameters>
+ <Parameters Name="LoadAllSymbols">True</Parameters>
+ <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
+ </Parameters>
+ <Language>
+ <Language Name="ProjectLang">$00000406</Language>
+ </Language>
+ <VersionInfo>
+ <VersionInfo Name="IncludeVerInfo">False</VersionInfo>
+ <VersionInfo Name="AutoIncBuild">False</VersionInfo>
+ <VersionInfo Name="MajorVer">1</VersionInfo>
+ <VersionInfo Name="MinorVer">0</VersionInfo>
+ <VersionInfo Name="Release">0</VersionInfo>
+ <VersionInfo Name="Build">0</VersionInfo>
+ <VersionInfo Name="Debug">False</VersionInfo>
+ <VersionInfo Name="PreRelease">False</VersionInfo>
+ <VersionInfo Name="Special">False</VersionInfo>
+ <VersionInfo Name="Private">False</VersionInfo>
+ <VersionInfo Name="DLL">False</VersionInfo>
+ <VersionInfo Name="Locale">1030</VersionInfo>
+ <VersionInfo Name="CodePage">1252</VersionInfo>
+ </VersionInfo>
+ <VersionInfoKeys>
+ <VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
+ <VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
+ <VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="InternalName"></VersionInfoKeys>
+ <VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
+ <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
+ <VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
+ <VersionInfoKeys Name="ProductName"></VersionInfoKeys>
+ <VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="Comments"></VersionInfoKeys>
+ </VersionInfoKeys>
+ <Source>
+ <Source Name="MainSource">Intro.dpr</Source>
+ </Source>
+ </Delphi.Personality> </BorlandProject></BorlandProject>
+ </ProjectExtensions>
+ <ItemGroup />
+ <ItemGroup>
+ <DelphiCompile Include="Intro.dpr">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="CompanyEdit.pas">
+ <Form>CompanyEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="ContactEdit.pas">
+ <Form>ContactEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="Main.pas">
+ <Form>MainForm</Form>
+ </DCCReference>
+ <DCCReference Include="Model.pas" />
+ <DCCReference Include="PersonEdit.pas">
+ <Form>PersonEditForm</Form>
+ </DCCReference>
+ </ItemGroup>
+ <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
+</Project>
\ No newline at end of file
Property changes on: trunk/Demos/Intro/Intro_D2007.dproj
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Demos/Intro/Intro_D2007.mdr
===================================================================
(Binary files differ)
Property changes on: trunk/Demos/Intro/Intro_D2007.mdr
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/Demos/Intro/Intro_D2009.dproj
===================================================================
--- trunk/Demos/Intro/Intro_D2009.dproj (rev 0)
+++ trunk/Demos/Intro/Intro_D2009.dproj 2009-07-07 10:59:47 UTC (rev 802)
@@ -0,0 +1,141 @@
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{5e7fed32-48a7-4d66-a1ed-fbf2fb9c43c1}</ProjectGuid>
+ <MainSource>Intro.dpr</MainSource>
+ <Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <DCC_DependencyCheckOutputName>Intro.exe</DCC_DependencyCheckOutputName>
+ <ProjectVersion>12.0</ProjectVersion>
+ <Config Condition="'$(Config)'==''">Release</Config>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
+ <Cfg_1>true</Cfg_1>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
+ <Cfg_2>true</Cfg_2>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Base)'!=''">
+ <DCC_UsePackage>vclx;vcl;dbrtl;Rave76VCL;bdertl;rtl;vclactnband;vcldb;vcldbx;dsnap;dsnapcon;TeeUI;TeeDB;Tee;adortl;vclib;ibxpress;IndyCore;IndySystem;IndyProtocols;xmlrtl;inet;intrawebdb_100_120;Intraweb_100_120;VclSmp;vclie;websnap;webdsnap;inetdbbde;inetdbxpress;soaprtl;vclribbon;dbexpress;DbxCommonDriver;DataSnapIndy10ServerTransport;DataSnapProviderClient;DataSnapServer;DbxClientDriver;DBXInterBaseDriver;DBXMySQLDriver;dbxcds;DBXSybaseASEDriver;DBXSybaseASADriver;DBXOracleDriver;DBXMSSQLDriver;DBXInformixDriver;DBXDb2Driver;IWEliteSuite_100_Delphi2009;InstantBDExpress;IOCore;IOBDE</DCC_UsePackage>
+ <DCC_DependencyCheckOutputName>Intro.exe</DCC_DependencyCheckOutputName>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_1)'!=''">
+ <Version>7.0</Version>
+ <DCC_WriteableConstants>True</DCC_WriteableConstants>
+ <DCC_Optimize>False</DCC_Optimize>
+ <DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
+ <DCC_DebugInfoInExe>True</DCC_DebugInfoInExe>
+ <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\BDE;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\BDE;$(DCC_ResourcePath)</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\BDE;$(DCC_ObjPath)</DCC_ObjPath>
+ <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\BDE;$(DCC_IncludePath)</DCC_IncludePath>
+ <DCC_UNSAFE_TYPE>True</DCC_UNSAFE_TYPE>
+ <DCC_UNSAFE_CODE>True</DCC_UNSAFE_CODE>
+ <DCC_UNSAFE_CAST>True</DCC_UNSAFE_CAST>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_2)'!=''">
+ <DCC_DebugDCUs>true</DCC_DebugDCUs>
+ <Version>7.0</Version>
+ <DCC_WriteableConstants>True</DCC_WriteableConstants>
+ <DCC_Optimize>False</DCC_Optimize>
+ <DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
+ <DCC_DebugInfoInExe>True</DCC_DebugInfoInExe>
+ <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\BDE;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\BDE;$(DCC_ResourcePath)</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\BDE;$(DCC_ObjPath)</DCC_ObjPath>
+ <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\BDE;$(DCC_IncludePath)</DCC_IncludePath>
+ <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
+ <DCC_UNSAFE_TYPE>True</DCC_UNSAFE_TYPE>
+ <DCC_UNSAFE_CODE>True</DCC_UNSAFE_CODE>
+ <DCC_UNSAFE_CAST>True</DCC_UNSAFE_CAST>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality.12</Borland.Personality>
+ <Borland.ProjectType>VCLApplication</Borland.ProjectType>
+ <BorlandProject>
+ <Delphi.Personality>
+ <Parameters>
+ <Parameters Name="UseLauncher">False</Parameters>
+ <Parameters Name="LoadAllSymbols">True</Parameters>
+ <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
+ </Parameters>
+ <Language>
+ <Language Name="ProjectLang">$00000406</Language>
+ </Language>
+ <VersionInfo>
+ <VersionInfo Name="IncludeVerInfo">False</VersionInfo>
+ <VersionInfo Name="AutoIncBuild">False</VersionInfo>
+ <VersionInfo Name="MajorVer">1</VersionInfo>
+ <VersionInfo Name="MinorVer">0</VersionInfo>
+ <VersionInfo Name="Release">0</VersionInfo>
+ <VersionInfo Name="Build">0</VersionInfo>
+ <VersionInfo Name="Debug">False</VersionInfo>
+ <VersionInfo Name="PreRelease">False</VersionInfo>
+ <VersionInfo Name="Special">False</VersionInfo>
+ <VersionInfo Name="Private">False</VersionInfo>
+ <VersionInfo Name="DLL">False</VersionInfo>
+ <VersionInfo Name="Locale">1030</VersionInfo>
+ <VersionInfo Name="CodePage">1252</VersionInfo>
+ </VersionInfo>
+ <VersionInfoKeys>
+ <VersionInfoKeys Name="CompanyName"/>
+ <VersionInfoKeys Name="FileDescription"/>
+ <VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="InternalName"/>
+ <VersionInfoKeys Name="LegalCopyright"/>
+ <VersionInfoKeys Name="LegalTrademarks"/>
+ <VersionInfoKeys Name="OriginalFilename"/>
+ <VersionInfoKeys Name="ProductName"/>
+ <VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="Comments"/>
+ </VersionInfoKeys>
+ <Source>
+ <Source Name="MainSource">Intro.dpr</Source>
+ </Source>
+ <Excluded_Packages>
+ <Excluded_Packages Name="$(BDS)\bin\dcloffice2k120.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
+ <Excluded_Packages Name="$(BDS)\bin\dclofficexp120.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
+ </Excluded_Packages>
+ </Delphi.Personality>
+ </BorlandProject>
+ <ProjectFileVersion>12</ProjectFileVersion>
+ </ProjectExtensions>
+ <ItemGroup>
+ <DelphiCompile Include="Intro.dpr">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="Model.pas"/>
+ <DCCReference Include="Main.pas">
+ <Form>MainForm</Form>
+ </DCCReference>
+ <DCCReference Include="ContactEdit.pas">
+ <Form>ContactEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="PersonEdit.pas">
+ <Form>PersonEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="CompanyEdit.pas">
+ <Form>CompanyEditForm</Form>
+ </DCCReference>
+ <BuildConfiguration Include="Base">
+ <Key>Base</Key>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Debug">
+ <Key>Cfg_2</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Release">
+ <Key>Cfg_1</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ </ItemGroup>
+ <ItemGroup/>
+ <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
+ </Project>
Property changes on: trunk/Demos/Intro/Intro_D2009.dproj
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Property changes on: trunk/Source/Brokers/XML/D2009
___________________________________________________________________
Added: svn:ignore
+ *.dcu
__history
*.local
Added: trunk/Source/Brokers/XML/D2009/DclIOXML.dpk
===================================================================
--- trunk/Source/Brokers/XML/D2009/DclIOXML.dpk (rev 0)
+++ trunk/Source/Brokers/XML/D2009/DclIOXML.dpk 2009-07-07 10:59:47 UTC (rev 802)
@@ -0,0 +1,40 @@
+package DclIOXML;
+
+{$R *.res}
+{$R '..\InstantXML.dcr'}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS ON}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'InstantObjects XML Design-Time Support (Delphi 2009)'}
+{$LIBSUFFIX '_D12'}
+{$DESIGNONLY}
+{$IMPLICITBUILD OFF}
+
+requires
+ vcl,
+ rtl,
+ vclx,
+ IOXML;
+
+contains
+ InstantXMLReg in '..\InstantXMLReg.pas';
+
+end.
Property changes on: trunk/Source/Brokers/XML/D2009/DclIOXML.dpk
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Source/Brokers/XML/D2009/DclIOXML.dproj
===================================================================
--- trunk/Source/Brokers/XML/D2009/DclIOXML.dproj (rev 0)
+++ trunk/Source/Brokers/XML/D2009/DclIOXML.dproj 2009-07-07 10:59:47 UTC (rev 802)
@@ -0,0 +1,121 @@
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{82c41017-7d52-4f3f-92f1-c69cd9f9b523}</ProjectGuid>
+ <MainSource>DclIOXML.dpk</MainSource>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <DCC_DependencyCheckOutputName>C:\Users\nandod\Documents\RAD Studio\5.0\Bpl\DclIOXML_D11.bpl</DCC_DependencyCheckOutputName>
+ <ProjectVersion>12.0</ProjectVersion>
+ <Config Condition="'$(Config)'==''">Debug</Config>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
+ <Cfg_1>true</Cfg_1>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
+ <Cfg_2>true</Cfg_2>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Base)'!=''">
+ <DCC_ImageBase>00400000</DCC_ImageBase>
+ <DesignOnlyPackage>true</DesignOnlyPackage>
+ <DCC_DependencyCheckOutputName>C:\Users\Public\Documents\RAD Studio\6.0\Bpl\DclIOXML_D12.bpl</DCC_DependencyCheckOutputName>
+ <DCC_TypedAtParameter>true</DCC_TypedAtParameter>
+ <DCC_Description>InstantObjects XML Design-Time Support (Delphi 2009)</DCC_Description>
+ <DCC_OutputNeverBuildDcps>true</DCC_OutputNeverBuildDcps>
+ <GenDll>true</GenDll>
+ <GenPackage>true</GenPackage>
+ <DllSuffix>_D12</DllSuffix>
+ <DCC_SymbolReferenceInfo>1</DCC_SymbolReferenceInfo>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_1)'!=''">
+ <Version>7.0</Version>
+ <DCC_DebugInformation>False</DCC_DebugInformation>
+ <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
+ <DCC_TypedAtParameter>True</DCC_TypedAtParameter>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_2)'!=''">
+ <Version>7.0</Version>
+ <DCC_TypedAtParameter>True</DCC_TypedAtParameter>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality.12</Borland.Personality>
+ <Borland.ProjectType>Package</Borland.ProjectType>
+ <BorlandProject>
+ <Delphi.Personality>
+ <Compiler>
+ <Compiler Name="UsePackages">False</Compiler>
+ <Compiler Name="Packages"/>
+ </Compiler>
+ <Parameters>
+ <Parameters Name="UseLauncher">False</Parameters>
+ <Parameters Name="LoadAllSymbols">True</Parameters>
+ <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
+ </Parameters>
+ <VersionInfo>
+ <VersionInfo Name="IncludeVerInfo">True</VersionInfo>
+ <VersionInfo Name="AutoIncBuild">False</VersionInfo>
+ <VersionInfo Name="MajorVer">2</VersionInfo>
+ <VersionInfo Name="MinorVer">1</VersionInfo>
+ <VersionInfo Name="Release">0</VersionInfo>
+ <VersionInfo Name="Build">0</VersionInfo>
+ <VersionInfo Name="Debug">False</VersionInfo>
+ <VersionInfo Name="PreRelease">False</VersionInfo>
+ <VersionInfo Name="Special">False</VersionInfo>
+ <VersionInfo Name="Private">False</VersionInfo>
+ <VersionInfo Name="DLL">False</VersionInfo>
+ <VersionInfo Name="Locale">1040</VersionInfo>
+ <VersionInfo Name="CodePage">1252</VersionInfo>
+ </VersionInfo>
+ <VersionInfoKeys>
+ <VersionInfoKeys Name="CompanyName">www.instantobjects.org</VersionInfoKeys>
+ <VersionInfoKeys Name="FileDescription">InstantObjects</VersionInfoKeys>
+ <VersionInfoKeys Name="FileVersion">2.1.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="InternalName"/>
+ <VersionInfoKeys Name="LegalCopyright"/>
+ <VersionInfoKeys Name="LegalTrademarks"/>
+ <VersionInfoKeys Name="OriginalFilename"/>
+ <VersionInfoKeys Name="ProductName">InstantObjects</VersionInfoKeys>
+ <VersionInfoKeys Name="ProductVersion">2.1.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="Comments"/>
+ </VersionInfoKeys>
+ <Source>
+ <Source Name="MainSource">DclIOXML.dpk</Source>
+ </Source>
+ </Delphi.Personality>
+ </BorlandProject>
+ <ProjectFileVersion>12</ProjectFileVersion>
+ </ProjectExtensions>
+ <ItemGroup>
+ <DelphiCompile Include="DclIOXML.dpk">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="..\InstantXML.dcr"/>
+ <DCCReference Include="vcl.dcp"/>
+ <DCCReference Include="rtl.dcp"/>
+ <DCCReference Include="vclx.dcp"/>
+ <DCCReference Include="IOXML.dcp"/>
+ <DCCReference Include="..\InstantXMLReg.pas"/>
+ <DCCReference Include="..\InstantXML.dcr"/>
+ <BuildConfiguration Include="Base">
+ <Key>Base</Key>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Debug">
+ <Key>Cfg_2</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Release">
+ <Key>Cfg_1</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ </ItemGroup>
+ <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
+ </Project>
Property changes on: trunk/Source/Brokers/XML/D2009/DclIOXML.dproj
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Source/Brokers/XML/D2009/DclIOXML.res
===================================================================
(Binary files differ)
Property changes on: trunk/Source/Brokers/XML/D2009/DclIOXML.res
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/Source/Brokers/XML/D2009/IOXML.dpk
===================================================================
--- trunk/Source/Brokers/XML/D2009/IOXML.dpk (rev 0)
+++ trunk/Source/Brokers/XML/D2009/IOXML.dpk 2009-07-07 10:59:47 UTC (rev 802)
@@ -0,0 +1,41 @@
+package IOXML;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS ON}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'InstantObjects XML Run-Time Support (Delphi 2009)'}
+{$LIBSUFFIX '_D12'}
+{$RUNONLY}
+{$IMPLICITBUILD OFF}
+
+requires
+ vcl,
+ rtl,
+ vclx,
+ IOCore;
+
+contains
+ InstantXMLCatalog in '..\InstantXMLCatalog.pas',
+ InstantXMLConnectionDefEdit in '..\InstantXMLConnectionDefEdit.pas' {InstantXMLConnectionDefEditForm},
+ InstantXML in '..\InstantXML.pas';
+
+end.
Property changes on: trunk/Source/Brokers/XML/D2009/IOXML.dpk
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Source/Brokers/XML/D2009/IOXML.dproj
===================================================================
--- trunk/Source/Brokers/XML/D2009/IOXML.dproj (rev 0)
+++ trunk/Source/Brokers/XML/D2009/IOXML.dproj 2009-07-07 10:59:47 UTC (rev 802)
@@ -0,0 +1,125 @@
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{d2f12d26-2127-4834-8d0e-e4c9bfabb985}</ProjectGuid>
+ <MainSource>IOXML.dpk</MainSource>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <DCC_DependencyCheckOutputName>C:\Documents and Settings\nandod\Documenti\RAD Studio\Projects\Bpl\IOXML_D11.bpl</DCC_DependencyCheckOutputName>
+ <ProjectVersion>12.0</ProjectVersion>
+ <Config Condition="'$(Config)'==''">Debug</Config>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
+ <Cfg_1>true</Cfg_1>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
+ <Cfg_2>true</Cfg_2>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Base)'!=''">
+ <DCC_DependencyCheckOutputName>C:\Users\Public\Documents\RAD Studio\6.0\Bpl\IOXML_D12.bpl</DCC_DependencyCheckOutputName>
+ <DCC_ImageBase>00400000</DCC_ImageBase>
+ <RuntimeOnlyPackage>true</RuntimeOnlyPackage>
+ <DCC_TypedAtParameter>true</DCC_TypedAtParameter>
+ <DCC_Description>InstantObjects XML Run-Time Support (Delphi 2009)</DCC_Description>
+ <DesignOnlyPackage>false</DesignOnlyPackage>
+ <DCC_OutputNeverBuildDcps>true</DCC_OutputNeverBuildDcps>
+ <GenDll>true</GenDll>
+ <GenPackage>true</GenPackage>
+ <DllSuffix>_D12</DllSuffix>
+ <DCC_SymbolReferenceInfo>1</DCC_SymbolReferenceInfo>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_1)'!=''">
+ <Version>7.0</Version>
+ <DCC_DebugInformation>False</DCC_DebugInformation>
+ <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
+ <DCC_TypedAtParameter>True</DCC_TypedAtParameter>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_2)'!=''">
+ <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
+ <Version>7.0</Version>
+ <DCC_TypedAtParameter>True</DCC_TypedAtParameter>
+ </PropertyGroup>
+ <ItemGroup>
+ <DelphiCompile Include="IOXML.dpk">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="vcl.dcp"/>
+ <DCCReference Include="rtl.dcp"/>
+ <DCCReference Include="vclx.dcp"/>
+ <DCCReference Include="IOCore.dcp"/>
+ <DCCReference Include="..\InstantXMLCatalog.pas"/>
+ <DCCReference Include="..\InstantXMLConnectionDefEdit.pas">
+ <Form>InstantXMLConnectionDefEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="..\InstantXML.pas"/>
+ <BuildConfiguration Include="Base">
+ <Key>Base</Key>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Debug">
+ <Key>Cfg_2</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Release">
+ <Key>Cfg_1</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ </ItemGroup>
+ <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality.12</Borland.Personality>
+ <Borland.ProjectType>Package</Borland.ProjectType>
+ <BorlandProject>
+ <Delphi.Personality>
+ <Compiler>
+ <Compiler Name="UsePackages">False</Compiler>
+ <Compiler Name="Packages"/>
+ </Compiler>
+ <Parameters>
+ <Parameters Name="UseLauncher">False</Parameters>
+ <Parameters Name="LoadAllSymbols">True</Parameters>
+ <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
+ </Parameters>
+ <VersionInfo>
+ <VersionInfo Name="IncludeVerInfo">True</VersionInfo>
+ <VersionInfo Name="AutoIncBuild">False</VersionInfo>
+ <VersionInfo Name="MajorVer">2</VersionInfo>
+ <VersionInfo Name="MinorVer">1</VersionInfo>
+ <VersionInfo Name="Release">0</VersionInfo>
+ <VersionInfo Name="Build">0</VersionInfo>
+ <VersionInfo Name="Debug">False</VersionInfo>
+ <VersionInfo Name="PreRelease">False</VersionInfo>
+ <VersionInfo Name="Special">False</VersionInfo>
+ <VersionInfo Name="Private">False</VersionInfo>
+ <VersionInfo Name="DLL">False</VersionInfo>
+ <VersionInfo Name="Locale">1040</VersionInfo>
+ <VersionInfo Name="CodePage">1252</VersionInfo>
+ </VersionInfo>
+ <VersionInfoKeys>
+ <VersionInfoKeys Name="CompanyName">www.instantobjects.org</VersionInfoKeys>
+ <VersionInfoKeys Name="FileDescription">InstantObjects</VersionInfoKeys>
+ <VersionInfoKeys Name="FileVersion">2.1.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="InternalName"/>
+ <VersionInfoKeys Name="LegalCopyright"/>
+ <VersionInfoKeys Name="LegalTrademarks"/>
+ <VersionInfoKeys Name="OriginalFilename"/>
+ <VersionInfoKeys Name="ProductName">InstantObjects</VersionInfoKeys>
+ <VersionInfoKeys Name="ProductVersion">2.1.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="Comments"/>
+ </VersionInfoKeys>
+ <Source>
+ <Source Name="MainSource">IOXML.dpk</Source>
+ </Source>
+ </Delphi.Personality>
+ </BorlandProject>
+ <ProjectFileVersion>12</ProjectFileVersion>
+ </ProjectExtensions>
+ </Project>
Property changes on: trunk/Source/Brokers/XML/D2009/IOXML.dproj
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Source/Brokers/XML/D2009/IOXML.res
===================================================================
(Binary files differ)
Property changes on: trunk/Source/Brokers/XML/D2009/IOXML.res
_...
[truncated message content] |
|
From: <car...@us...> - 2009-07-27 12:49:29
|
Revision: 811
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=811&view=rev
Author: carlobar
Date: 2009-07-27 12:49:16 +0000 (Mon, 27 Jul 2009)
Log Message:
-----------
Added packages for Delphi 2009
Added Paths:
-----------
trunk/Demos/Intro/Intro_D2009.mdr
trunk/Demos/Intro/Intro_D2009.res
trunk/Source/Brokers/ADO/D2009/
trunk/Source/Brokers/ADO/D2009/DclIOADO.dpk
trunk/Source/Brokers/ADO/D2009/DclIOADO.dproj
trunk/Source/Brokers/ADO/D2009/DclIOADO.res
trunk/Source/Brokers/ADO/D2009/IOADO.dpk
trunk/Source/Brokers/ADO/D2009/IOADO.dproj
trunk/Source/Brokers/ADO/D2009/IOADO.res
trunk/Source/Brokers/BDE/D2009/
trunk/Source/Brokers/BDE/D2009/DclIOBDE.dpk
trunk/Source/Brokers/BDE/D2009/DclIOBDE.dproj
trunk/Source/Brokers/BDE/D2009/DclIOBDE.res
trunk/Source/Brokers/BDE/D2009/IOBDE.dpk
trunk/Source/Brokers/BDE/D2009/IOBDE.dproj
trunk/Source/Brokers/BDE/D2009/IOBDE.res
trunk/Source/Brokers/DBX/D2009/
trunk/Source/Brokers/DBX/D2009/DclIODBX.dpk
trunk/Source/Brokers/DBX/D2009/DclIODBX.dproj
trunk/Source/Brokers/DBX/D2009/DclIODBX.res
trunk/Source/Brokers/DBX/D2009/IODBX.dpk
trunk/Source/Brokers/DBX/D2009/IODBX.dproj
trunk/Source/Brokers/DBX/D2009/IODBX.res
trunk/Source/Brokers/IBX/D2009/
trunk/Source/Brokers/IBX/D2009/DclIOIBX.dpk
trunk/Source/Brokers/IBX/D2009/DclIOIBX.dproj
trunk/Source/Brokers/IBX/D2009/DclIOIBX.res
trunk/Source/Brokers/IBX/D2009/IOIBX.dpk
trunk/Source/Brokers/IBX/D2009/IOIBX.dproj
trunk/Source/Brokers/IBX/D2009/IOIBX.res
trunk/Source/Catalogs/IBFb/D2009/
trunk/Source/Catalogs/IBFb/D2009/IOIBFbCatalog.dpk
trunk/Source/Catalogs/IBFb/D2009/IOIBFbCatalog.dproj
trunk/Source/Catalogs/IBFb/D2009/IOIBFbCatalog.res
trunk/Source/Catalogs/MSSql/D2009/
trunk/Source/Catalogs/MSSql/D2009/IOMSSqlCatalog.dpk
trunk/Source/Catalogs/MSSql/D2009/IOMSSqlCatalog.dproj
trunk/Source/Catalogs/MSSql/D2009/IOMSSqlCatalog.res
trunk/Source/Catalogs/MySQL/D2009/
trunk/Source/Catalogs/MySQL/D2009/IOMySQLCatalog.dpk
trunk/Source/Catalogs/MySQL/D2009/IOMySQLCatalog.dproj
trunk/Source/Catalogs/MySQL/D2009/IOMySQLCatalog.res
trunk/Source/Core/D2009/
trunk/Source/Core/D2009/IOCore.dpk
trunk/Source/Core/D2009/IOCore.dproj
trunk/Source/Core/D2009/IOCore.res
trunk/Source/Design/D2009/
trunk/Source/Design/D2009/DclIOCore.dpk
trunk/Source/Design/D2009/DclIOCore.dproj
trunk/Source/Design/D2009/DclIOCore.res
Property Changed:
----------------
trunk/Tests/
Added: trunk/Demos/Intro/Intro_D2009.mdr
===================================================================
(Binary files differ)
Property changes on: trunk/Demos/Intro/Intro_D2009.mdr
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/Demos/Intro/Intro_D2009.res
===================================================================
(Binary files differ)
Property changes on: trunk/Demos/Intro/Intro_D2009.res
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/Source/Brokers/ADO/D2009/DclIOADO.dpk
===================================================================
--- trunk/Source/Brokers/ADO/D2009/DclIOADO.dpk (rev 0)
+++ trunk/Source/Brokers/ADO/D2009/DclIOADO.dpk 2009-07-27 12:49:16 UTC (rev 811)
@@ -0,0 +1,38 @@
+package DclIOADO;
+
+{$R *.res}
+{$R '..\InstantADO.dcr'}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS ON}
+{$RANGECHECKS ON}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'InstantObjects ADO Design-Time Support (Delphi 2009)'}
+{$LIBSUFFIX '_D12'}
+{$DESIGNONLY}
+{$IMPLICITBUILD OFF}
+
+requires
+ rtl,
+ IOADO;
+
+contains
+ InstantADOReg in '..\InstantADOReg.pas';
+
+end.
Property changes on: trunk/Source/Brokers/ADO/D2009/DclIOADO.dpk
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Source/Brokers/ADO/D2009/DclIOADO.dproj
===================================================================
--- trunk/Source/Brokers/ADO/D2009/DclIOADO.dproj (rev 0)
+++ trunk/Source/Brokers/ADO/D2009/DclIOADO.dproj 2009-07-27 12:49:16 UTC (rev 811)
@@ -0,0 +1,122 @@
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{83fb334c-a8d7-4ac2-a891-1c5f3085aaf1}</ProjectGuid>
+ <MainSource>DclIOADO.dpk</MainSource>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <DCC_DependencyCheckOutputName>C:\Users\nandod\Documents\RAD Studio\5.0\Bpl\DclIOADO_D11.bpl</DCC_DependencyCheckOutputName>
+ <ProjectVersion>12.0</ProjectVersion>
+ <Config Condition="'$(Config)'==''">Debug</Config>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
+ <Cfg_1>true</Cfg_1>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
+ <Cfg_2>true</Cfg_2>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Base)'!=''">
+ <DCC_ImageBase>00400000</DCC_ImageBase>
+ <DesignOnlyPackage>true</DesignOnlyPackage>
+ <DCC_DependencyCheckOutputName>C:\Users\Public\Documents\RAD Studio\6.0\Bpl\DclIOADO_D12.bpl</DCC_DependencyCheckOutputName>
+ <DCC_RangeChecking>true</DCC_RangeChecking>
+ <DCC_Description>InstantObjects ADO Design-Time Support (Delphi 2009)</DCC_Description>
+ <DllSuffix>_D12</DllSuffix>
+ <DCC_OutputNeverBuildDcps>true</DCC_OutputNeverBuildDcps>
+ <GenDll>true</GenDll>
+ <DCC_IntegerOverflowCheck>true</DCC_IntegerOverflowCheck>
+ <DCC_SymbolReferenceInfo>1</DCC_SymbolReferenceInfo>
+ <GenPackage>true</GenPackage>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_1)'!=''">
+ <Version>7.0</Version>
+ <DCC_DebugInformation>False</DCC_DebugInformation>
+ <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
+ <DCC_IntegerOverflowCheck>True</DCC_IntegerOverflowCheck>
+ <DCC_RangeChecking>True</DCC_RangeChecking>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_2)'!=''">
+ <Version>7.0</Version>
+ <DCC_IntegerOverflowCheck>True</DCC_IntegerOverflowCheck>
+ <DCC_RangeChecking>True</DCC_RangeChecking>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality.12</Borland.Personality>
+ <Borland.ProjectType>Package</Borland.ProjectType>
+ <BorlandProject>
+ <Delphi.Personality>
+ <Compiler>
+ <Compiler Name="UsePackages">False</Compiler>
+ <Compiler Name="Packages"/>
+ </Compiler>
+ <Parameters>
+ <Parameters Name="UseLauncher">False</Parameters>
+ <Parameters Name="LoadAllSymbols">True</Parameters>
+ <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
+ </Parameters>
+ <VersionInfo>
+ <VersionInfo Name="IncludeVerInfo">True</VersionInfo>
+ <VersionInfo Name="AutoIncBuild">False</VersionInfo>
+ <VersionInfo Name="MajorVer">2</VersionInfo>
+ <VersionInfo Name="MinorVer">1</VersionInfo>
+ <VersionInfo Name="Release">0</VersionInfo>
+ <VersionInfo Name="Build">0</VersionInfo>
+ <VersionInfo Name="Debug">False</VersionInfo>
+ <VersionInfo Name="PreRelease">False</VersionInfo>
+ <VersionInfo Name="Special">False</VersionInfo>
+ <VersionInfo Name="Private">False</VersionInfo>
+ <VersionInfo Name="DLL">False</VersionInfo>
+ <VersionInfo Name="Locale">1040</VersionInfo>
+ <VersionInfo Name="CodePage">1252</VersionInfo>
+ </VersionInfo>
+ <VersionInfoKeys>
+ <VersionInfoKeys Name="CompanyName">www.instantobjects.org</VersionInfoKeys>
+ <VersionInfoKeys Name="FileDescription">InstantObjects</VersionInfoKeys>
+ <VersionInfoKeys Name="FileVersion">2.1.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="InternalName"/>
+ <VersionInfoKeys Name="LegalCopyright"/>
+ <VersionInfoKeys Name="LegalTrademarks"/>
+ <VersionInfoKeys Name="OriginalFilename"/>
+ <VersionInfoKeys Name="ProductName">InstantObjects</VersionInfoKeys>
+ <VersionInfoKeys Name="ProductVersion">2.1.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="Comments"/>
+ </VersionInfoKeys>
+ <Source>
+ <Source Name="MainSource">DclIOADO.dpk</Source>
+ </Source>
+ </Delphi.Personality>
+ </BorlandProject>
+ <ProjectFileVersion>12</ProjectFileVersion>
+ </ProjectExtensions>
+ <ItemGroup>
+ <DelphiCompile Include="DclIOADO.dpk">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="..\InstantADO.dcr"/>
+ <DCCReference Include="rtl.dcp"/>
+ <DCCReference Include="IOADO.dcp"/>
+ <DCCReference Include="..\InstantADOReg.pas"/>
+ <DCCReference Include="..\InstantADO.dcr"/>
+ <BuildConfiguration Include="Base">
+ <Key>Base</Key>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Debug">
+ <Key>Cfg_2</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Release">
+ <Key>Cfg_1</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ </ItemGroup>
+ <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
+ </Project>
Property changes on: trunk/Source/Brokers/ADO/D2009/DclIOADO.dproj
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Source/Brokers/ADO/D2009/DclIOADO.res
===================================================================
(Binary files differ)
Property changes on: trunk/Source/Brokers/ADO/D2009/DclIOADO.res
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/Source/Brokers/ADO/D2009/IOADO.dpk
===================================================================
--- trunk/Source/Brokers/ADO/D2009/IOADO.dpk (rev 0)
+++ trunk/Source/Brokers/ADO/D2009/IOADO.dpk 2009-07-27 12:49:16 UTC (rev 811)
@@ -0,0 +1,44 @@
+package IOADO;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST ON}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'InstantObjects ADO Run-Time Support (Delphi 2009)'}
+{$LIBSUFFIX '_D12'}
+{$RUNONLY}
+{$IMPLICITBUILD OFF}
+
+requires
+ vcl,
+ vcldb,
+ adortl,
+ IOCore,
+ IOMSSqlCatalog;
+
+contains
+ InstantADOX in '..\InstantADOX.pas',
+ InstantADOJRO in '..\InstantADOJRO.pas',
+ InstantADOTools in '..\InstantADOTools.pas',
+ InstantADOConnectionDefEdit in '..\InstantADOConnectionDefEdit.pas' {InstantADOConnectionDefEditForm},
+ InstantADO in '..\InstantADO.pas';
+
+end.
Property changes on: trunk/Source/Brokers/ADO/D2009/IOADO.dpk
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Source/Brokers/ADO/D2009/IOADO.dproj
===================================================================
--- trunk/Source/Brokers/ADO/D2009/IOADO.dproj (rev 0)
+++ trunk/Source/Brokers/ADO/D2009/IOADO.dproj 2009-07-27 12:49:16 UTC (rev 811)
@@ -0,0 +1,127 @@
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{92084594-c0f7-4f8d-8e98-b5fdc630773c}</ProjectGuid>
+ <MainSource>IOADO.dpk</MainSource>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <DCC_DependencyCheckOutputName>C:\Documents and Settings\nandod\Documenti\RAD Studio\Projects\Bpl\IOADO_D11.bpl</DCC_DependencyCheckOutputName>
+ <ProjectVersion>12.0</ProjectVersion>
+ <Config Condition="'$(Config)'==''">Debug</Config>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
+ <Cfg_1>true</Cfg_1>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
+ <Cfg_2>true</Cfg_2>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Base)'!=''">
+ <DCC_ImageBase>00400000</DCC_ImageBase>
+ <DesignOnlyPackage>false</DesignOnlyPackage>
+ <DCC_DependencyCheckOutputName>C:\Users\Public\Documents\RAD Studio\6.0\Bpl\IOADO_D12.bpl</DCC_DependencyCheckOutputName>
+ <DCC_Description>InstantObjects ADO Run-Time Support (Delphi 2009)</DCC_Description>
+ <RuntimeOnlyPackage>true</RuntimeOnlyPackage>
+ <DCC_WriteableConstants>true</DCC_WriteableConstants>
+ <DCC_OutputNeverBuildDcps>true</DCC_OutputNeverBuildDcps>
+ <GenDll>true</GenDll>
+ <GenPackage>true</GenPackage>
+ <DllSuffix>_D12</DllSuffix>
+ <DCC_SymbolReferenceInfo>1</DCC_SymbolReferenceInfo>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_1)'!=''">
+ <Version>7.0</Version>
+ <DCC_DebugInformation>False</DCC_DebugInformation>
+ <DCC_WriteableConstants>True</DCC_WriteableConstants>
+ <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_2)'!=''">
+ <Version>7.0</Version>
+ <DCC_WriteableConstants>True</DCC_WriteableConstants>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality.12</Borland.Personality>
+ <Borland.ProjectType>Package</Borland.ProjectType>
+ <BorlandProject>
+ <Delphi.Personality>
+ <Compiler>
+ <Compiler Name="UsePackages">False</Compiler>
+ <Compiler Name="Packages"/>
+ </Compiler>
+ <Parameters>
+ <Parameters Name="UseLauncher">False</Parameters>
+ <Parameters Name="LoadAllSymbols">True</Parameters>
+ <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
+ </Parameters>
+ <VersionInfo>
+ <VersionInfo Name="IncludeVerInfo">True</VersionInfo>
+ <VersionInfo Name="AutoIncBuild">False</VersionInfo>
+ <VersionInfo Name="MajorVer">2</VersionInfo>
+ <VersionInfo Name="MinorVer">1</VersionInfo>
+ <VersionInfo Name="Release">0</VersionInfo>
+ <VersionInfo Name="Build">0</VersionInfo>
+ <VersionInfo Name="Debug">False</VersionInfo>
+ <VersionInfo Name="PreRelease">False</VersionInfo>
+ <VersionInfo Name="Special">False</VersionInfo>
+ <VersionInfo Name="Private">False</VersionInfo>
+ <VersionInfo Name="DLL">False</VersionInfo>
+ <VersionInfo Name="Locale">1040</VersionInfo>
+ <VersionInfo Name="CodePage">1252</VersionInfo>
+ </VersionInfo>
+ <VersionInfoKeys>
+ <VersionInfoKeys Name="CompanyName">www.instantobjects.org</VersionInfoKeys>
+ <VersionInfoKeys Name="FileDescription">InstantObjects</VersionInfoKeys>
+ <VersionInfoKeys Name="FileVersion">2.1.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="InternalName"/>
+ <VersionInfoKeys Name="LegalCopyright"/>
+ <VersionInfoKeys Name="LegalTrademarks"/>
+ <VersionInfoKeys Name="OriginalFilename"/>
+ <VersionInfoKeys Name="ProductName">InstantObjects</VersionInfoKeys>
+ <VersionInfoKeys Name="ProductVersion">2.1.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="Comments"/>
+ </VersionInfoKeys>
+ <Source>
+ <Source Name="MainSource">IOADO.dpk</Source>
+ </Source>
+ </Delphi.Personality>
+ </BorlandProject>
+ <ProjectFileVersion>12</ProjectFileVersion>
+ </ProjectExtensions>
+ <ItemGroup>
+ <DelphiCompile Include="IOADO.dpk">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="vcl.dcp"/>
+ <DCCReference Include="vcldb.dcp"/>
+ <DCCReference Include="adortl.dcp"/>
+ <DCCReference Include="IOCore.dcp"/>
+ <DCCReference Include="IOMSSqlCatalog.dcp"/>
+ <DCCReference Include="..\InstantADOX.pas"/>
+ <DCCReference Include="..\InstantADOJRO.pas"/>
+ <DCCReference Include="..\InstantADOTools.pas"/>
+ <DCCReference Include="..\InstantADOConnectionDefEdit.pas">
+ <Form>InstantADOConnectionDefEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="..\InstantADO.pas"/>
+ <BuildConfiguration Include="Base">
+ <Key>Base</Key>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Debug">
+ <Key>Cfg_2</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Release">
+ <Key>Cfg_1</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ </ItemGroup>
+ <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
+ </Project>
Property changes on: trunk/Source/Brokers/ADO/D2009/IOADO.dproj
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Source/Brokers/ADO/D2009/IOADO.res
===================================================================
(Binary files differ)
Property changes on: trunk/Source/Brokers/ADO/D2009/IOADO.res
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/Source/Brokers/BDE/D2009/DclIOBDE.dpk
===================================================================
--- trunk/Source/Brokers/BDE/D2009/DclIOBDE.dpk (rev 0)
+++ trunk/Source/Brokers/BDE/D2009/DclIOBDE.dpk 2009-07-27 12:49:16 UTC (rev 811)
@@ -0,0 +1,41 @@
+package DclIOBDE;
+
+{$R *.res}
+{$R '..\InstantBDE.dcr'}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS ON}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'InstantObjects BDE Design-Time Support (Delphi 2009)'}
+{$LIBSUFFIX '_D12'}
+{$DESIGNONLY}
+{$IMPLICITBUILD OFF}
+
+requires
+ vcl,
+ vcldb,
+ bdertl,
+ IOCore,
+ IOBDE;
+
+contains
+ InstantBDEReg in '..\InstantBDEReg.pas';
+
+end.
Property changes on: trunk/Source/Brokers/BDE/D2009/DclIOBDE.dpk
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Source/Brokers/BDE/D2009/DclIOBDE.dproj
===================================================================
--- trunk/Source/Brokers/BDE/D2009/DclIOBDE.dproj (rev 0)
+++ trunk/Source/Brokers/BDE/D2009/DclIOBDE.dproj 2009-07-27 12:49:16 UTC (rev 811)
@@ -0,0 +1,122 @@
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{54d8280d-11e9-4256-ba0a-30fc942591e7}</ProjectGuid>
+ <MainSource>DclIOBDE.dpk</MainSource>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <DCC_DependencyCheckOutputName>C:\Users\nandod\Documents\RAD Studio\5.0\Bpl\DclIOBDE_D11.bpl</DCC_DependencyCheckOutputName>
+ <ProjectVersion>12.0</ProjectVersion>
+ <Config Condition="'$(Config)'==''">Debug</Config>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
+ <Cfg_1>true</Cfg_1>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
+ <Cfg_2>true</Cfg_2>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Base)'!=''">
+ <DCC_ImageBase>00400000</DCC_ImageBase>
+ <DesignOnlyPackage>true</DesignOnlyPackage>
+ <DCC_DependencyCheckOutputName>C:\Users\Public\Documents\RAD Studio\6.0\Bpl\DclIOBDE_D12.bpl</DCC_DependencyCheckOutputName>
+ <DCC_TypedAtParameter>true</DCC_TypedAtParameter>
+ <DCC_Description>InstantObjects BDE Design-Time Support (Delphi 2009)</DCC_Description>
+ <DCC_OutputNeverBuildDcps>true</DCC_OutputNeverBuildDcps>
+ <GenDll>true</GenDll>
+ <GenPackage>true</GenPackage>
+ <DllSuffix>_D12</DllSuffix>
+ <DCC_SymbolReferenceInfo>1</DCC_SymbolReferenceInfo>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_1)'!=''">
+ <Version>7.0</Version>
+ <DCC_DebugInformation>False</DCC_DebugInformation>
+ <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
+ <DCC_TypedAtParameter>True</DCC_TypedAtParameter>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_2)'!=''">
+ <Version>7.0</Version>
+ <DCC_TypedAtParameter>True</DCC_TypedAtParameter>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality.12</Borland.Personality>
+ <Borland.ProjectType>Package</Borland.ProjectType>
+ <BorlandProject>
+ <Delphi.Personality>
+ <Compiler>
+ <Compiler Name="UsePackages">False</Compiler>
+ <Compiler Name="Packages"/>
+ </Compiler>
+ <Parameters>
+ <Parameters Name="UseLauncher">False</Parameters>
+ <Parameters Name="LoadAllSymbols">True</Parameters>
+ <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
+ </Parameters>
+ <VersionInfo>
+ <VersionInfo Name="IncludeVerInfo">True</VersionInfo>
+ <VersionInfo Name="AutoIncBuild">False</VersionInfo>
+ <VersionInfo Name="MajorVer">2</VersionInfo>
+ <VersionInfo Name="MinorVer">1</VersionInfo>
+ <VersionInfo Name="Release">0</VersionInfo>
+ <VersionInfo Name="Build">0</VersionInfo>
+ <VersionInfo Name="Debug">False</VersionInfo>
+ <VersionInfo Name="PreRelease">False</VersionInfo>
+ <VersionInfo Name="Special">False</VersionInfo>
+ <VersionInfo Name="Private">False</VersionInfo>
+ <VersionInfo Name="DLL">False</VersionInfo>
+ <VersionInfo Name="Locale">1040</VersionInfo>
+ <VersionInfo Name="CodePage">1252</VersionInfo>
+ </VersionInfo>
+ <VersionInfoKeys>
+ <VersionInfoKeys Name="CompanyName">www.instantobjects.org</VersionInfoKeys>
+ <VersionInfoKeys Name="FileDescription">InstantObjects</VersionInfoKeys>
+ <VersionInfoKeys Name="FileVersion">2.1.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="InternalName"/>
+ <VersionInfoKeys Name="LegalCopyright"/>
+ <VersionInfoKeys Name="LegalTrademarks"/>
+ <VersionInfoKeys Name="OriginalFilename"/>
+ <VersionInfoKeys Name="ProductName">InstantObjects</VersionInfoKeys>
+ <VersionInfoKeys Name="ProductVersion">2.1.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="Comments"/>
+ </VersionInfoKeys>
+ <Source>
+ <Source Name="MainSource">DclIOBDE.dpk</Source>
+ </Source>
+ </Delphi.Personality>
+ </BorlandProject>
+ <ProjectFileVersion>12</ProjectFileVersion>
+ </ProjectExtensions>
+ <ItemGroup>
+ <DelphiCompile Include="DclIOBDE.dpk">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="..\InstantBDE.dcr"/>
+ <DCCReference Include="vcl.dcp"/>
+ <DCCReference Include="vcldb.dcp"/>
+ <DCCReference Include="bdertl.dcp"/>
+ <DCCReference Include="IOCore.dcp"/>
+ <DCCReference Include="IOBDE.dcp"/>
+ <DCCReference Include="..\InstantBDEReg.pas"/>
+ <DCCReference Include="..\InstantBDE.dcr"/>
+ <BuildConfiguration Include="Base">
+ <Key>Base</Key>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Debug">
+ <Key>Cfg_2</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Release">
+ <Key>Cfg_1</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ </ItemGroup>
+ <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
+ </Project>
Property changes on: trunk/Source/Brokers/BDE/D2009/DclIOBDE.dproj
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Source/Brokers/BDE/D2009/DclIOBDE.res
===================================================================
(Binary files differ)
Property changes on: trunk/Source/Brokers/BDE/D2009/DclIOBDE.res
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/Source/Brokers/BDE/D2009/IOBDE.dpk
===================================================================
--- trunk/Source/Brokers/BDE/D2009/IOBDE.dpk (rev 0)
+++ trunk/Source/Brokers/BDE/D2009/IOBDE.dpk 2009-07-27 12:49:16 UTC (rev 811)
@@ -0,0 +1,41 @@
+package IOBDE;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS ON}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'InstantObjects BDE Run-Time Support (Delphi 2009)'}
+{$LIBSUFFIX '_D12'}
+{$RUNONLY}
+{$IMPLICITBUILD OFF}
+
+requires
+ vcl,
+ vcldb,
+ bdertl,
+ IOCore;
+
+contains
+ InstantBDECatalog in '..\InstantBDECatalog.pas',
+ InstantBDEConnectionDefEdit in '..\InstantBDEConnectionDefEdit.pas' {InstantBDEConnectionDefEditForm},
+ InstantBDE in '..\InstantBDE.pas';
+
+end.
Property changes on: trunk/Source/Brokers/BDE/D2009/IOBDE.dpk
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Source/Brokers/BDE/D2009/IOBDE.dproj
===================================================================
--- trunk/Source/Brokers/BDE/D2009/IOBDE.dproj (rev 0)
+++ trunk/Source/Brokers/BDE/D2009/IOBDE.dproj 2009-07-27 12:49:16 UTC (rev 811)
@@ -0,0 +1,124 @@
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{340a6323-81f2-431c-adca-555d83affb71}</ProjectGuid>
+ <MainSource>IOBDE.dpk</MainSource>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <DCC_DependencyCheckOutputName>C:\Documents and Settings\nandod\Documenti\RAD Studio\Projects\Bpl\IOBDE_D11.bpl</DCC_DependencyCheckOutputName>
+ <ProjectVersion>12.0</ProjectVersion>
+ <Config Condition="'$(Config)'==''">Debug</Config>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
+ <Cfg_1>true</Cfg_1>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
+ <Cfg_2>true</Cfg_2>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Base)'!=''">
+ <DCC_DependencyCheckOutputName>C:\Users\Public\Documents\RAD Studio\6.0\Bpl\IOBDE_D12.bpl</DCC_DependencyCheckOutputName>
+ <DCC_ImageBase>00400000</DCC_ImageBase>
+ <RuntimeOnlyPackage>true</RuntimeOnlyPackage>
+ <DCC_TypedAtParameter>true</DCC_TypedAtParameter>
+ <DCC_Description>InstantObjects BDE Run-Time Support (Delphi 2009)</DCC_Description>
+ <DesignOnlyPackage>false</DesignOnlyPackage>
+ <DCC_OutputNeverBuildDcps>true</DCC_OutputNeverBuildDcps>
+ <GenDll>true</GenDll>
+ <GenPackage>true</GenPackage>
+ <DllSuffix>_D12</DllSuffix>
+ <DCC_SymbolReferenceInfo>1</DCC_SymbolReferenceInfo>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_1)'!=''">
+ <Version>7.0</Version>
+ <DCC_DebugInformation>False</DCC_DebugInformation>
+ <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
+ <DCC_TypedAtParameter>True</DCC_TypedAtParameter>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_2)'!=''">
+ <Version>7.0</Version>
+ <DCC_TypedAtParameter>True</DCC_TypedAtParameter>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality.12</Borland.Personality>
+ <Borland.ProjectType>Package</Borland.ProjectType>
+ <BorlandProject>
+ <Delphi.Personality>
+ <Compiler>
+ <Compiler Name="UsePackages">False</Compiler>
+ <Compiler Name="Packages"/>
+ </Compiler>
+ <Parameters>
+ <Parameters Name="UseLauncher">False</Parameters>
+ <Parameters Name="LoadAllSymbols">True</Parameters>
+ <Parameters Name="LoadUnspecifiedSymbols">Fals...
[truncated message content] |
|
From: <na...@us...> - 2009-08-05 10:57:20
|
Revision: 813
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=813&view=rev
Author: nandod
Date: 2009-08-05 10:57:00 +0000 (Wed, 05 Aug 2009)
Log Message:
-----------
* Unicode support in XML broker and other XML-related areas rewritten. Demos and Tests updated accordingly.
+ As a bonus, XML broker now supports ORDER BY in IQL queries.
* Removed useless code from InstantADO that was causing problems in D2009.
Modified Paths:
--------------
trunk/Demos/Intro/Intro.mdr
trunk/Demos/Intro/Intro_D2009.dproj
trunk/Demos/PrimerCross/Main.dfm
trunk/Demos/PrimerCross/Main.pas
trunk/Demos/PrimerCross/Primer.dproj
trunk/Demos/PrimerCross/PrimerExternal.xml
trunk/Source/Brokers/ADO/InstantADO.pas
trunk/Source/Brokers/XML/InstantXML.pas
trunk/Source/Core/InstantClasses.pas
trunk/Source/Core/InstantConsts.pas
trunk/Source/Core/InstantPersistence.pas
trunk/Source/Core/InstantUtils.pas
trunk/Source/Design/D2007/DclIOCore.dpk
trunk/Source/Design/D2007/DclIOCore.dproj
trunk/Source/Design/D7/DclIOCore.dpk
trunk/Source/Design/InstantAbout.pas
trunk/Source/PackageGroups/D2007/DesignTimePackages.groupproj
trunk/Tests/TestIO.dpr
trunk/Tests/TestIO.dproj
trunk/Tests/TestIO.mdr
trunk/Tests/TestIO.mdrt
trunk/Tests/TestIO.mdx
trunk/Tests/TestIO.mdxt
trunk/Tests/TestIO_D2009.dproj
Added Paths:
-----------
trunk/Demos/Intro/Intro_D2009.dpr
trunk/Demos/PrimerCross/Primer_D2009.dpr
trunk/Demos/PrimerCross/Primer_D2009.dproj
trunk/Demos/PrimerCross/Primer_D2009.mdr
trunk/Demos/PrimerCross/Primer_D2009.res
trunk/Demos/PrimerCross/Primer_D2009.xml
trunk/Source/PackageGroups/D2009/DesignTimePackages.groupproj
trunk/Source/PackageGroups/D2009/RunTimePackages.groupproj
trunk/Tests/TestIO_D2009.dpr
trunk/Tests/TestIO_D2009.mdrt
trunk/Tests/TestIO_D2009.mdx
trunk/Tests/TestIO_D2009.mdxt
trunk/Tests/TestIO_D2009.res
trunk/Tests/TestXMLBroker.pas
Removed Paths:
-------------
trunk/Tests/TestIO_D2007.dproj
trunk/Tests/TestIO_D2007.mdr
Property Changed:
----------------
trunk/Demos/PrimerCross/
trunk/Tests/
Modified: trunk/Demos/Intro/Intro.mdr
===================================================================
(Binary files differ)
Added: trunk/Demos/Intro/Intro_D2009.dpr
===================================================================
--- trunk/Demos/Intro/Intro_D2009.dpr (rev 0)
+++ trunk/Demos/Intro/Intro_D2009.dpr 2009-08-05 10:57:00 UTC (rev 813)
@@ -0,0 +1,21 @@
+program Intro_D2009;
+
+uses
+ Forms,
+ Model in 'Model.pas',
+ Main in 'Main.pas' {MainForm},
+ ContactEdit in 'ContactEdit.pas' {ContactEditForm},
+ PersonEdit in 'PersonEdit.pas' {PersonEditForm},
+ CompanyEdit in 'CompanyEdit.pas' {CompanyEditForm};
+
+{$R *.RES}
+{$R *.MDR} {Model}
+
+begin
+ Application.Initialize;
+ Application.CreateForm(TMainForm, MainForm);
+ Application.CreateForm(TContactEditForm, ContactEditForm);
+ Application.CreateForm(TPersonEditForm, PersonEditForm);
+ Application.CreateForm(TCompanyEditForm, CompanyEditForm);
+ Application.Run;
+end.
Property changes on: trunk/Demos/Intro/Intro_D2009.dpr
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Modified: trunk/Demos/Intro/Intro_D2009.dproj
===================================================================
--- trunk/Demos/Intro/Intro_D2009.dproj 2009-07-27 13:24:38 UTC (rev 812)
+++ trunk/Demos/Intro/Intro_D2009.dproj 2009-08-05 10:57:00 UTC (rev 813)
@@ -1,7 +1,7 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{5e7fed32-48a7-4d66-a1ed-fbf2fb9c43c1}</ProjectGuid>
- <MainSource>Intro.dpr</MainSource>
+ <MainSource>Intro_D2009.dpr</MainSource>
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
@@ -24,7 +24,7 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Base)'!=''">
<DCC_UsePackage>vclx;vcl;dbrtl;Rave76VCL;bdertl;rtl;vclactnband;vcldb;vcldbx;dsnap;dsnapcon;TeeUI;TeeDB;Tee;adortl;vclib;ibxpress;IndyCore;IndySystem;IndyProtocols;xmlrtl;inet;intrawebdb_100_120;Intraweb_100_120;VclSmp;vclie;websnap;webdsnap;inetdbbde;inetdbxpress;soaprtl;vclribbon;dbexpress;DbxCommonDriver;DataSnapIndy10ServerTransport;DataSnapProviderClient;DataSnapServer;DbxClientDriver;DBXInterBaseDriver;DBXMySQLDriver;dbxcds;DBXSybaseASEDriver;DBXSybaseASADriver;DBXOracleDriver;DBXMSSQLDriver;DBXInformixDriver;DBXDb2Driver;IWEliteSuite_100_Delphi2009;InstantBDExpress;IOCore;IOBDE</DCC_UsePackage>
- <DCC_DependencyCheckOutputName>Intro.exe</DCC_DependencyCheckOutputName>
+ <DCC_DependencyCheckOutputName>Intro_D2009.exe</DCC_DependencyCheckOutputName>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_1)'!=''">
<Version>7.0</Version>
@@ -97,7 +97,7 @@
<VersionInfoKeys Name="Comments"/>
</VersionInfoKeys>
<Source>
- <Source Name="MainSource">Intro.dpr</Source>
+ <Source Name="MainSource">Intro_D2009.dpr</Source>
</Source>
<Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k120.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
@@ -108,7 +108,7 @@
<ProjectFileVersion>12</ProjectFileVersion>
</ProjectExtensions>
<ItemGroup>
- <DelphiCompile Include="Intro.dpr">
+ <DelphiCompile Include="Intro_D2009.dpr">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="Model.pas"/>
Property changes on: trunk/Demos/PrimerCross
___________________________________________________________________
Modified: svn:ignore
- *.dcu
*.~*
*.ddp
*.exe
__history
*.identcache
*.local
*.dsk
*.MB
+ *.dcu
*.~*
*.ddp
*.exe
__history
*.identcache
*.local
*.dsk
*.MB
XMLDB
Modified: trunk/Demos/PrimerCross/Main.dfm
===================================================================
--- trunk/Demos/PrimerCross/Main.dfm 2009-07-27 13:24:38 UTC (rev 812)
+++ trunk/Demos/PrimerCross/Main.dfm 2009-08-05 10:57:00 UTC (rev 813)
@@ -1,8 +1,6 @@
object MainForm: TMainForm
Left = 254
Top = 225
- Width = 521
- Height = 372
Caption = 'InstantObjects Primer'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
@@ -12,25 +10,24 @@
Font.Style = []
Menu = MainMenu
OldCreateOrder = False
- WindowState = wsMaximized
OnClose = FormClose
OnCreate = FormCreate
+ OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object SideBarSplitter: TSplitter
Left = 88
- Top = 28
- Height = 271
+ Top = 26
+ Height = 458
ResizeStyle = rsLine
end
object ToolBar: TToolBar
Left = 0
Top = 0
- Width = 513
- Height = 28
+ Width = 624
+ Height = 26
AutoSize = True
BorderWidth = 1
- Flat = True
Images = ActionImages
ParentShowHint = False
ShowHint = True
@@ -48,8 +45,8 @@
end
object StatusBar: TStatusBar
Left = 0
- Top = 299
- Width = 513
+ Top = 484
+ Width = 624
Height = 19
Panels = <
item
@@ -62,9 +59,9 @@
end
object SideBarPanel: TPanel
Left = 0
- Top = 28
+ Top = 26
Width = 88
- Height = 271
+ Height = 458
Align = alLeft
BevelOuter = bvNone
BorderStyle = bsSingle
@@ -82,7 +79,7 @@
Left = 0
Top = 8
Width = 84
- Height = 259
+ Height = 446
Align = alClient
BorderStyle = bsNone
Color = clAppWorkSpace
@@ -100,16 +97,16 @@
end
object WorkPanel: TPanel
Left = 91
- Top = 28
- Width = 422
- Height = 271
+ Top = 26
+ Width = 533
+ Height = 458
Align = alClient
BevelOuter = bvNone
TabOrder = 3
object WorkTitleSpacer: TBevel
Left = 0
Top = 27
- Width = 422
+ Width = 533
Height = 4
Align = alTop
Shape = bsSpacer
@@ -117,7 +114,7 @@
object WorkTitlePanel: TPanel
Left = 0
Top = 0
- Width = 422
+ Width = 533
Height = 27
Align = alTop
BevelInner = bvLowered
@@ -140,8 +137,8 @@
object WorkClientPanel: TPanel
Left = 0
Top = 31
- Width = 422
- Height = 240
+ Width = 533
+ Height = 427
Align = alClient
BevelOuter = bvNone
TabOrder = 1
Modified: trunk/Demos/PrimerCross/Main.pas
===================================================================
--- trunk/Demos/PrimerCross/Main.pas 2009-07-27 13:24:38 UTC (rev 812)
+++ trunk/Demos/PrimerCross/Main.pas 2009-08-05 10:57:00 UTC (rev 813)
@@ -75,6 +75,7 @@
procedure ExportItemClick(Sender: TObject);
procedure ImportItemClick(Sender: TObject);
procedure ExportModelItemClick(Sender: TObject);
+ procedure FormShow(Sender: TObject);
private
FActiveSubView: TBasicViewForm;
FConnectionDef: TInstantConnectionDef;
@@ -541,6 +542,11 @@
UpdateStatus;
end;
+procedure TMainForm.FormShow(Sender: TObject);
+begin
+ WindowState := wsMaximized;
+end;
+
function TMainForm.GetConnectionName: string;
begin
if Assigned(FConnectionDef) then
Modified: trunk/Demos/PrimerCross/Primer.dproj
===================================================================
--- trunk/Demos/PrimerCross/Primer.dproj 2009-07-27 13:24:38 UTC (rev 812)
+++ trunk/Demos/PrimerCross/Primer.dproj 2009-08-05 10:57:00 UTC (rev 813)
@@ -1,117 +1,183 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <ProjectGuid>{d197a2d4-31b9-43b1-8070-3f804d86e53f}</ProjectGuid>
- <MainSource>Primer.dpr</MainSource>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
- <DCC_DependencyCheckOutputName>Primer.exe</DCC_DependencyCheckOutputName>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <Version>7.0</Version>
- <DCC_DebugInformation>False</DCC_DebugInformation>
- <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
- <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
- <DCC_Define>RELEASE</DCC_Define>
- <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_UnitSearchPath>
- <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_ResourcePath>
- <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_ObjPath>
- <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_IncludePath>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <Version>7.0</Version>
- <DCC_Define>DEBUG;IO_STATEMENT_LOGGING</DCC_Define>
- <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_UnitSearchPath>
- <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_ResourcePath>
- <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_ObjPath>
- <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_IncludePath>
- </PropertyGroup>
- <ProjectExtensions>
- <Borland.Personality>Delphi.Personality</Borland.Personality>
- <Borland.ProjectType>VCLApplication</Borland.ProjectType>
- <BorlandProject>
-<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">1030</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName">InstantObjects.org</VersionInfoKeys><VersionInfoKeys Name="FileDescription">Primer Demo</VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright">MPL public license</VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">Primer.dpr</Source></Source></Delphi.Personality> <ModelSupport>False</ModelSupport>
-</BorlandProject></BorlandProject>
- </ProjectExtensions>
- <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
- <ItemGroup>
- <DelphiCompile Include="Primer.dpr">
- <MainSource>MainSource</MainSource>
- </DelphiCompile>
- <DCCReference Include="BasicBrowse.pas">
- <Form>BasicBrowseForm</Form>
- </DCCReference>
- <DCCReference Include="BasicEdit.pas">
- <Form>BasicEditForm</Form>
- </DCCReference>
- <DCCReference Include="BasicView.pas">
- <Form>BasicViewForm</Form>
- <DesignClass>TFrame</DesignClass>
- </DCCReference>
- <DCCReference Include="CategoryBrowse.pas">
- <Form>CategoryBrowseForm</Form>
- </DCCReference>
- <DCCReference Include="CompanyBrowse.pas">
- <Form>CompanyBrowseForm</Form>
- </DCCReference>
- <DCCReference Include="CompanyEdit.pas">
- <Form>CompanyEditForm</Form>
- </DCCReference>
- <DCCReference Include="ContactBrowse.pas">
- <Form>ContactBrowseForm</Form>
- </DCCReference>
- <DCCReference Include="ContactEdit.pas">
- <Form>ContactEditForm</Form>
- </DCCReference>
- <DCCReference Include="ContactFilterEdit.pas">
- <Form>ContactFilterEditForm</Form>
- </DCCReference>
- <DCCReference Include="ContactSort.pas">
- <Form>ContactSortForm</Form>
- </DCCReference>
- <DCCReference Include="ContactView.pas">
- <Form>ContactViewForm</Form>
- <DesignClass>TFrame</DesignClass>
- </DCCReference>
- <DCCReference Include="CountryBrowse.pas">
- <Form>CountryBrowseForm</Form>
- </DCCReference>
- <DCCReference Include="DemoData.pas" />
- <DCCReference Include="DemoDataRequest.pas">
- <Form>DemoDataRequestForm</Form>
- </DCCReference>
- <DCCReference Include="HelpView.pas">
- <Form>HelpViewForm</Form>
- <DesignClass>TFrame</DesignClass>
- </DCCReference>
- <DCCReference Include="Main.pas">
- <Form>MainForm</Form>
- </DCCReference>
- <DCCReference Include="MainData.pas">
- <Form>MainDataModule</Form>
- <DesignClass>TDataModule</DesignClass>
- </DCCReference>
- <DCCReference Include="Model\Model.pas" />
- <DCCReference Include="PerformanceView.pas">
- <Form>PerformanceViewForm</Form>
- <DesignClass>TFrame</DesignClass>
- </DCCReference>
- <DCCReference Include="PersonBrowse.pas">
- <Form>PersonBrowseForm</Form>
- </DCCReference>
- <DCCReference Include="PersonEdit.pas">
- <Form>PersonEditForm</Form>
- </DCCReference>
- <DCCReference Include="QueryView.pas">
- <Form>QueryViewForm</Form>
- <DesignClass>TFrame</DesignClass>
- </DCCReference>
- <DCCReference Include="RandomData.pas" />
- <DCCReference Include="Stopwatch.pas" />
- <DCCReference Include="Utility.pas" />
- <DCCReference Include="Welcome.pas">
- <Form>WelcomeForm</Form>
- </DCCReference>
- </ItemGroup>
-</Project>
\ No newline at end of file
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{d197a2d4-31b9-43b1-8070-3f804d86e53f}</ProjectGuid>
+ <MainSource>Primer.dpr</MainSource>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <DCC_DependencyCheckOutputName>Primer.exe</DCC_DependencyCheckOutputName>
+ <ProjectVersion>12.0</ProjectVersion>
+ <Config Condition="'$(Config)'==''">Debug</Config>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
+ <Cfg_1>true</Cfg_1>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
+ <Cfg_2>true</Cfg_2>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Base)'!=''">
+ <DCC_DependencyCheckOutputName>Primer.exe</DCC_DependencyCheckOutputName>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_1)'!=''">
+ <Version>7.0</Version>
+ <DCC_DebugInformation>False</DCC_DebugInformation>
+ <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
+ <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_ResourcePath)</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_ObjPath)</DCC_ObjPath>
+ <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_IncludePath)</DCC_IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_2)'!=''">
+ <Version>7.0</Version>
+ <DCC_Define>DEBUG;IO_STATEMENT_LOGGING;$(DCC_Define)</DCC_Define>
+ <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_ResourcePath)</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_ObjPath)</DCC_ObjPath>
+ <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_IncludePath)</DCC_IncludePath>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality.12</Borland.Personality>
+ <Borland.ProjectType>VCLApplication</Borland.ProjectType>
+ <BorlandProject>
+ <Delphi.Personality>
+ <Parameters>
+ <Parameters Name="UseLauncher">False</Parameters>
+ <Parameters Name="LoadAllSymbols">True</Parameters>
+ <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
+ </Parameters>
+ <VersionInfo>
+ <VersionInfo Name="IncludeVerInfo">True</VersionInfo>
+ <VersionInfo Name="AutoIncBuild">False</VersionInfo>
+ <VersionInfo Name="MajorVer">2</VersionInfo>
+ <VersionInfo Name="MinorVer">0</VersionInfo>
+ <VersionInfo Name="Release">0</VersionInfo>
+ <VersionInfo Name="Build">0</VersionInfo>
+ <VersionInfo Name="Debug">False</VersionInfo>
+ <VersionInfo Name="PreRelease">False</VersionInfo>
+ <VersionInfo Name="Special">False</VersionInfo>
+ <VersionInfo Name="Private">False</VersionInfo>
+ <VersionInfo Name="DLL">False</VersionInfo>
+ <VersionInfo Name="Locale">1030</VersionInfo>
+ <VersionInfo Name="CodePage">1252</VersionInfo>
+ </VersionInfo>
+ <VersionInfoKeys>
+ <VersionInfoKeys Name="CompanyName">InstantObjects.org</VersionInfoKeys>
+ <VersionInfoKeys Name="FileDescription">Primer Demo</VersionInfoKeys>
+ <VersionInfoKeys Name="FileVersion">2.0.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="InternalName"/>
+ <VersionInfoKeys Name="LegalCopyright">MPL public license</VersionInfoKeys>
+ <VersionInfoKeys Name="LegalTrademarks"/>
+ <VersionInfoKeys Name="OriginalFilename"/>
+ <VersionInfoKeys Name="ProductName"/>
+ <VersionInfoKeys Name="ProductVersion">2.0</VersionInfoKeys>
+ <VersionInfoKeys Name="Comments"/>
+ </VersionInfoKeys>
+ <Source>
+ <Source Name="MainSource">Primer.dpr</Source>
+ </Source>
+ </Delphi.Personality>
+ <ModelSupport>False</ModelSupport>
+ </BorlandProject>
+ <ProjectFileVersion>12</ProjectFileVersion>
+ </ProjectExtensions>
+ <ItemGroup>
+ <DelphiCompile Include="Primer.dpr">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="Main.pas">
+ <Form>MainForm</Form>
+ </DCCReference>
+ <DCCReference Include="Model\Model.pas"/>
+ <DCCReference Include="ContactView.pas">
+ <Form>ContactViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="BasicView.pas">
+ <Form>BasicViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="BasicEdit.pas">
+ <Form>BasicEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="ContactEdit.pas">
+ <Form>ContactEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="PersonEdit.pas">
+ <Form>PersonEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="CompanyEdit.pas">
+ <Form>CompanyEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="DemoData.pas"/>
+ <DCCReference Include="ContactFilterEdit.pas">
+ <Form>ContactFilterEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="MainData.pas">
+ <Form>MainDataModule</Form>
+ <DesignClass>TDataModule</DesignClass>
+ </DCCReference>
+ <DCCReference Include="ContactBrowse.pas">
+ <Form>ContactBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="CompanyBrowse.pas">
+ <Form>CompanyBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="PerformanceView.pas">
+ <Form>PerformanceViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="Welcome.pas">
+ <Form>WelcomeForm</Form>
+ </DCCReference>
+ <DCCReference Include="PersonBrowse.pas">
+ <Form>PersonBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="BasicBrowse.pas">
+ <Form>BasicBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="CountryBrowse.pas">
+ <Form>CountryBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="DemoDataRequest.pas">
+ <Form>DemoDataRequestForm</Form>
+ </DCCReference>
+ <DCCReference Include="ContactSort.pas">
+ <Form>ContactSortForm</Form>
+ </DCCReference>
+ <DCCReference Include="CategoryBrowse.pas">
+ <Form>CategoryBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="HelpView.pas">
+ <Form>HelpViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="QueryView.pas">
+ <Form>QueryViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="RandomData.pas"/>
+ <DCCReference Include="Stopwatch.pas"/>
+ <DCCReference Include="Utility.pas"/>
+ <BuildConfiguration Include="Base">
+ <Key>Base</Key>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Debug">
+ <Key>Cfg_2</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Release">
+ <Key>Cfg_1</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ </ItemGroup>
+ <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
+ </Project>
Modified: trunk/Demos/PrimerCross/PrimerExternal.xml
===================================================================
--- trunk/Demos/PrimerCross/PrimerExternal.xml 2009-07-27 13:24:38 UTC (rev 812)
+++ trunk/Demos/PrimerCross/PrimerExternal.xml 2009-08-05 10:57:00 UTC (rev 813)
@@ -1,11 +1,2 @@
-<TInstantConnectionDefs>
- <TInstantIBXConnectionDef>
- <Name>FirebirdDBExternal</Name>
- <IsBuilt>TRUE</IsBuilt>
- <LoginPrompt>FALSE</LoginPrompt>
- <ConnectionString>.\FirebirdDB\PRIMERDB.FDB</ConnectionString>
- <Options>ibxUseDelimitedIdents</Options>
- <Params>User_Name=SYSDBA
-Password=masterkey</Params>
- </TInstantIBXConnectionDef>
-</TInstantConnectionDefs>
\ No newline at end of file
+<TInstantConnectionDefs><TInstantIBXConnectionDef><Name>FirebirdDBExternal</Name><IsBuilt>TRUE</IsBuilt><LoginPrompt>FALSE</LoginPrompt><ConnectionString>.\FirebirdDB\PRIMERDB.FDB</ConnectionString><Options>ibxUseDelimitedIdents</Options><Params>User_Name=SYSDBA
+Password=masterkey</Params></TInstantIBXConnectionDef><TInstantXMLConnectionDef><Name>XMLDB</Name><IsBuilt>TRUE</IsBuilt><RootFolder>W:\Projects\instantobjects\Demos\PrimerCross\XMLDB</RootFolder></TInstantXMLConnectionDef></TInstantConnectionDefs>
\ No newline at end of file
Added: trunk/Demos/PrimerCross/Primer_D2009.dpr
===================================================================
--- trunk/Demos/PrimerCross/Primer_D2009.dpr (rev 0)
+++ trunk/Demos/PrimerCross/Primer_D2009.dpr 2009-08-05 10:57:00 UTC (rev 813)
@@ -0,0 +1,80 @@
+(*
+ * InstantObjects
+ * Primer Demo - with "internal storage" of Part and Parts
+ * Model.pas unit is located in Model folder
+ *
+ *)
+
+(* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is: Seleqt InstantObjects
+ *
+ * The Initial Developer of the Original Code is: Seleqt
+ *
+ * Portions created by the Initial Developer are Copyright (C) 2001-2003
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ * Carlo Barazzetta, Nando Dessena
+ *
+ * ***** END LICENSE BLOCK ***** *)
+
+program Primer_D2009;
+
+{$IFDEF LINUX}
+{$I '../../Source/InstantDefines.inc'}
+{$ELSE}
+{$I '..\..\Source\InstantDefines.inc'}
+{$ENDIF}
+
+
+uses
+ Forms,
+ Main in 'Main.pas' {MainForm},
+ Model in 'Model\Model.pas',
+ ContactView in 'ContactView.pas' {ContactViewForm: TFrame},
+ BasicView in 'BasicView.pas' {BasicViewForm: TFrame},
+ BasicEdit in 'BasicEdit.pas' {BasicEditForm},
+ ContactEdit in 'ContactEdit.pas' {ContactEditForm},
+ PersonEdit in 'PersonEdit.pas' {PersonEditForm},
+ CompanyEdit in 'CompanyEdit.pas' {CompanyEditForm},
+ DemoData in 'DemoData.pas',
+ ContactFilterEdit in 'ContactFilterEdit.pas' {ContactFilterEditForm},
+ MainData in 'MainData.pas' {MainDataModule: TDataModule},
+ ContactBrowse in 'ContactBrowse.pas' {ContactBrowseForm},
+ CompanyBrowse in 'CompanyBrowse.pas' {CompanyBrowseForm},
+ PerformanceView in 'PerformanceView.pas' {PerformanceViewForm: TFrame},
+ Welcome in 'Welcome.pas' {WelcomeForm},
+ PersonBrowse in 'PersonBrowse.pas' {PersonBrowseForm},
+ BasicBrowse in 'BasicBrowse.pas' {BasicBrowseForm},
+ ...
[truncated message content] |
|
From: <na...@us...> - 2009-08-05 17:15:48
|
Revision: 815
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=815&view=rev
Author: nandod
Date: 2009-08-05 17:15:33 +0000 (Wed, 05 Aug 2009)
Log Message:
-----------
* Fixed error "implementation expected" when editing a class in the model expert at design time in D2009.
* svn:ignore set.
Modified Paths:
--------------
trunk/Demos/PrimerCross/ModelExternal/Model.pas
trunk/Source/Core/InstantCode.pas
trunk/Source/Core/InstantTextFiler.pas
trunk/Source/Design/D2009/DclIOCore.dproj
trunk/Source/PackageGroups/D2009/CorePackages.groupproj
trunk/Tests/TestModel.pas
Property Changed:
----------------
trunk/Demos/PrimerCross/ModelExternal/
trunk/Source/Brokers/ADO/D2009/
trunk/Source/Brokers/BDE/D2009/
trunk/Source/Brokers/DBX/D2009/
trunk/Source/Brokers/IBX/D2009/
trunk/Source/Catalogs/IBFb/D2009/
trunk/Source/Catalogs/MSSql/D2009/
trunk/Source/Catalogs/MySQL/D2009/
trunk/Source/Core/D2009/
trunk/Source/Design/D2009/
Property changes on: trunk/Demos/PrimerCross/ModelExternal
___________________________________________________________________
Modified: svn:ignore
- *.dcu
*.~pas
+ *.dcu
*.~pas
__history
Modified: trunk/Demos/PrimerCross/ModelExternal/Model.pas
===================================================================
--- trunk/Demos/PrimerCross/ModelExternal/Model.pas 2009-08-05 11:44:58 UTC (rev 814)
+++ trunk/Demos/PrimerCross/ModelExternal/Model.pas 2009-08-05 17:15:33 UTC (rev 815)
@@ -22,7 +22,7 @@
TPhone = class;
TAddress = class(TInstantObject)
- {IOMETADATA stored;
+ {IOMETADATA stored;
City: String(30) index;
Country: Reference(TCountry);
State: String(4);
@@ -95,7 +95,7 @@
end;
TCategory = class(TInstantObject)
- {IOMETADATA stored;
+ {IOMETADATA stored;
Name: String(30); }
_Name: TInstantString;
private
@@ -236,7 +236,7 @@
implementation
uses
- SysUtils, InstantUtils;
+ SysUtils, InstantUtils, InstantMetadata;
{ TAddress }
Property changes on: trunk/Source/Brokers/ADO/D2009
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
Property changes on: trunk/Source/Brokers/BDE/D2009
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
Property changes on: trunk/Source/Brokers/DBX/D2009
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
Property changes on: trunk/Source/Brokers/IBX/D2009
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
Property changes on: trunk/Source/Catalogs/IBFb/D2009
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
Property changes on: trunk/Source/Catalogs/MSSql/D2009
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
Property changes on: trunk/Source/Catalogs/MySQL/D2009
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
Property changes on: trunk/Source/Core/D2009
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
*.identcache
Modified: trunk/Source/Core/InstantCode.pas
===================================================================
--- trunk/Source/Core/InstantCode.pas 2009-08-05 11:44:58 UTC (rev 814)
+++ trunk/Source/Core/InstantCode.pas 2009-08-05 17:15:33 UTC (rev 815)
@@ -8628,23 +8628,25 @@
if not Assigned(AObject) then
Exit;
Stream := TInstantStringStream.Create('');
- Writer := TInstantCodeWriter.Create(Stream);
try
- Writer.Origin := CursorPos;
- while IndentLevel > 0 do
- begin
- Writer.Indent;
- Dec(IndentLevel);
- end;
- AObject.Write(Writer);
- AObject.Lock;
+ Writer := TInstantCodeWriter.Create(Stream);
try
- InsertText(Stream.DataString);
+ while IndentLevel > 0 do
+ begin
+ Writer.Indent;
+ Dec(IndentLevel);
+ end;
+ AObject.Write(Writer);
+ AObject.Lock;
+ try
+ InsertText(Stream.DataString);
+ finally
+ AObject.Unlock;
+ end;
finally
- AObject.Unlock;
+ Writer.Free;
end;
finally
- Writer.Free;
Stream.Free;
end;
end;
Modified: trunk/Source/Core/InstantTextFiler.pas
===================================================================
--- trunk/Source/Core/InstantTextFiler.pas 2009-08-05 11:44:58 UTC (rev 814)
+++ trunk/Source/Core/InstantTextFiler.pas 2009-08-05 17:15:33 UTC (rev 815)
@@ -45,7 +45,7 @@
PInstantTextPos = ^TInstantTextPos;
TInstantTextPos = record
Column, Line: Integer;
- Offset: Int64;
+ Offset: Int64; // In characters, not bytes.
end;
EInstantTextPosError = class(EInstantError)
@@ -143,7 +143,7 @@
else
Inc(Pos.Column);
end;
- Inc(Pos.Offset, SizeOf(Char));
+ Inc(Pos.Offset);
end;
procedure DescendTextPos(var Pos: TInstantTextPos; Ch: Char);
@@ -163,7 +163,7 @@
else
Dec(Pos.Column);
end;
- Dec(Pos.Offset, SizeOf(Char));
+ Dec(Pos.Offset);
end;
{ EInstantTextPosError }
@@ -194,7 +194,7 @@
constructor TInstantTextFiler.Create(AText: string);
begin
- Create(TInstantStringStream.Create(AText), True);
+ Create(TStringStream.Create(AText), True);
end;
procedure TInstantTextFiler.DescendPosition(Ch: Char);
@@ -221,7 +221,7 @@
function TInstantTextFiler.GetPosition: TInstantTextPos;
begin
- FPosition.Offset := StreamPos;
+ FPosition.Offset := StreamPos div SizeOf(Char);
Result := FPosition;
end;
@@ -261,7 +261,7 @@
procedure TInstantTextFiler.SetPosition(const Value: TInstantTextPos);
begin
FPosition := Value;
- StreamPos := FPosition.Offset;
+ StreamPos := FPosition.Offset * SizeOf(Char);
end;
procedure TInstantTextFiler.SetStreamPos(Value: Int64);
Property changes on: trunk/Source/Design/D2009
___________________________________________________________________
Added: svn:ignore
+ __history
*.dcu
*.local
*.identcache
Modified: trunk/Source/Design/D2009/DclIOCore.dproj
===================================================================
--- trunk/Source/Design/D2009/DclIOCore.dproj 2009-08-05 11:44:58 UTC (rev 814)
+++ trunk/Source/Design/D2009/DclIOCore.dproj 2009-08-05 17:15:33 UTC (rev 815)
@@ -136,8 +136,8 @@
<Parameters Name="LoadAllSymbols">True</Parameters>
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
<Parameters Name="HostApplication">C:\Program Files\CodeGear\RAD Studio\6.0\bin\bds.exe</Parameters>
- <Parameters Name="DebugSourceDirs">S:\InstantObjectsUnicode\Source\Core\</Parameters>
- <Parameters Name="RunParams">S:\InstantObjectsUnicode\Tests\TestIO.dproj</Parameters>
+ <Parameters Name="DebugSourceDirs">W:\projects\instantobjects\Source\Core\</Parameters>
+ <Parameters Name="RunParams">"C:\Users\nandod\Documents\RAD Studio\Projects\TestInstantCode\TestInstantCode.dproj"</Parameters>
</Parameters>
<VersionInfo>
<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
Modified: trunk/Source/PackageGroups/D2009/CorePackages.groupproj
===================================================================
--- trunk/Source/PackageGroups/D2009/CorePackages.groupproj 2009-08-05 11:44:58 UTC (rev 814)
+++ trunk/Source/PackageGroups/D2009/CorePackages.groupproj 2009-08-05 17:15:33 UTC (rev 815)
@@ -24,15 +24,6 @@
<Projects Include="..\..\..\Tests\TestIO_D2009.dproj">
<Dependencies/>
</Projects>
- <Projects Include="S:\InstantObjectsUnicode\Source\Catalogs\MSSql\D2009\IOMSSqlCatalog.dproj">
- <Dependencies/>
- </Projects>
- <Projects Include="S:\InstantObjectsUnicode\Source\Brokers\ADO\D2009\IOADO.dproj">
- <Dependencies/>
- </Projects>
- <Projects Include="S:\InstantObjectsUnicode\Source\Brokers\ADO\D2009\DclIOADO.dproj">
- <Dependencies/>
- </Projects>
</ItemGroup>
<ProjectExtensions>
<Borland.Personality>Default.Personality.12</Borland.Personality>
@@ -104,41 +95,14 @@
<Target Name="TestIO_D2009:Make">
<MSBuild Targets="Make" Projects="..\..\..\Tests\TestIO_D2009.dproj"/>
</Target>
- <Target Name="IOMSSqlCatalog">
- <MSBuild Projects="S:\InstantObjectsUnicode\Source\Catalogs\MSSql\D2009\IOMSSqlCatalog.dproj"/>
- </Target>
- <Target Name="IOMSSqlCatalog:Clean">
- <MSBuild Targets="Clean" Projects="S:\InstantObjectsUnicode\Source\Catalogs\MSSql\D2009\IOMSSqlCatalog.dproj"/>
- </Target>
- <Target Name="IOMSSqlCatalog:Make">
- <MSBuild Targets="Make" Projects="S:\InstantObjectsUnicode\Source\Catalogs\MSSql\D2009\IOMSSqlCatalog.dproj"/>
- </Target>
- <Target Name="IOADO">
- <MSBuild Projects="S:\InstantObjectsUnicode\Source\Brokers\ADO\D2009\IOADO.dproj"/>
- </Target>
- <Target Name="IOADO:Clean">
- <MSBuild Targets="Clean" Projects="S:\InstantObjectsUnicode\Source\Brokers\ADO\D2009\IOADO.dproj"/>
- </Target>
- <Target Name="IOADO:Make">
- <MSBuild Targets="Make" Projects="S:\InstantObjectsUnicode\Source\Brokers\ADO\D2009\IOADO.dproj"/>
- </Target>
- <Target Name="DclIOADO">
- <MSBuild Projects="S:\InstantObjectsUnicode\Source\Brokers\ADO\D2009\DclIOADO.dproj"/>
- </Target>
- <Target Name="DclIOADO:Clean">
- <MSBuild Targets="Clean" Projects="S:\InstantObjectsUnicode\Source\Brokers\ADO\D2009\DclIOADO.dproj"/>
- </Target>
- <Target Name="DclIOADO:Make">
- <MSBuild Targets="Make" Projects="S:\InstantObjectsUnicode\Source\Brokers\ADO\D2009\DclIOADO.dproj"/>
- </Target>
<Target Name="Build">
- <CallTarget Targets="IOCore;DclIOCore;IOBDE;DclIOBDE;IOXML;DclIOXML;TestIO_D2009;IOMSSqlCatalog;IOADO;DclIOADO"/>
+ <CallTarget Targets="IOCore;DclIOCore;IOBDE;DclIOBDE;IOXML;DclIOXML;TestIO_D2009"/>
</Target>
<Target Name="Clean">
- <CallTarget Targets="IOCore:Clean;DclIOCore:Clean;IOBDE:Clean;DclIOBDE:Clean;IOXML:Clean;DclIOXML:Clean;TestIO_D2009:Clean;IOMSSqlCatalog:Clean;IOADO:Clean;DclIOADO:Clean"/>
+ <CallTarget Targets="IOCore:Clean;DclIOCore:Clean;IOBDE:Clean;DclIOBDE:Clean;IOXML:Clean;DclIOXML:Clean;TestIO_D2009:Clean"/>
</Target>
<Target Name="Make">
- <CallTarget Targets="IOCore:Make;DclIOCore:Make;IOBDE:Make;DclIOBDE:Make;IOXML:Make;DclIOXML:Make;TestIO_D2009:Make;IOMSSqlCatalog:Make;IOADO:Make;DclIOADO:Make"/>
+ <CallTarget Targets="IOCore:Make;DclIOCore:Make;IOBDE:Make;DclIOBDE:Make;IOXML:Make;DclIOXML:Make;TestIO_D2009:Make"/>
</Target>
<Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
</Project>
Modified: trunk/Tests/TestModel.pas
===================================================================
--- trunk/Tests/TestModel.pas 2009-08-05 11:44:58 UTC (rev 814)
+++ trunk/Tests/TestModel.pas 2009-08-05 17:15:33 UTC (rev 815)
@@ -124,7 +124,7 @@
end;
TCategory = class(TInstantObject)
- {IOMETADATA stored 'Categories';
+ {IOMETADATA stored 'Categories';
Name: String(30); }
_Name: TInstantString;
private
@@ -137,7 +137,7 @@
end;
TContact = class(TInstantObject)
- {IOMETADATA stored;
+ {IOMETADATA stored;
Address: Part(TAddress);
Category: Reference(TCategory);
City: String(30) index;
|
|
From: <na...@us...> - 2009-08-06 15:27:27
|
Revision: 816
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=816&view=rev
Author: nandod
Date: 2009-08-06 15:27:10 +0000 (Thu, 06 Aug 2009)
Log Message:
-----------
* Fixed two regressions.
Modified Paths:
--------------
trunk/Demos/PrimerCross/Main.dfm
trunk/Demos/PrimerCross/Main.pas
trunk/Demos/PrimerCross/Model/Model.pas
trunk/Source/Core/InstantTextFiler.pas
Modified: trunk/Demos/PrimerCross/Main.dfm
===================================================================
--- trunk/Demos/PrimerCross/Main.dfm 2009-08-05 17:15:33 UTC (rev 815)
+++ trunk/Demos/PrimerCross/Main.dfm 2009-08-06 15:27:10 UTC (rev 816)
@@ -10,21 +10,21 @@
Font.Style = []
Menu = MainMenu
OldCreateOrder = False
+ OnActivate = FormActivate
OnClose = FormClose
OnCreate = FormCreate
- OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object SideBarSplitter: TSplitter
Left = 88
Top = 26
- Height = 458
+ Height = 139
ResizeStyle = rsLine
end
object ToolBar: TToolBar
Left = 0
Top = 0
- Width = 624
+ Width = 304
Height = 26
AutoSize = True
BorderWidth = 1
@@ -45,8 +45,8 @@
end
object StatusBar: TStatusBar
Left = 0
- Top = 484
- Width = 624
+ Top = 165
+ Width = 304
Height = 19
Panels = <
item
@@ -61,7 +61,7 @@
Left = 0
Top = 26
Width = 88
- Height = 458
+ Height = 139
Align = alLeft
BevelOuter = bvNone
BorderStyle = bsSingle
@@ -79,7 +79,7 @@
Left = 0
Top = 8
Width = 84
- Height = 446
+ Height = 127
Align = alClient
BorderStyle = bsNone
Color = clAppWorkSpace
@@ -89,6 +89,7 @@
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
+ IconOptions.AutoArrange = True
ReadOnly = True
ParentFont = False
TabOrder = 0
@@ -98,15 +99,15 @@
object WorkPanel: TPanel
Left = 91
Top = 26
- Width = 533
- Height = 458
+ Width = 213
+ Height = 139
Align = alClient
BevelOuter = bvNone
TabOrder = 3
object WorkTitleSpacer: TBevel
Left = 0
Top = 27
- Width = 533
+ Width = 213
Height = 4
Align = alTop
Shape = bsSpacer
@@ -114,7 +115,7 @@
object WorkTitlePanel: TPanel
Left = 0
Top = 0
- Width = 533
+ Width = 213
Height = 27
Align = alTop
BevelInner = bvLowered
@@ -137,8 +138,8 @@
object WorkClientPanel: TPanel
Left = 0
Top = 31
- Width = 533
- Height = 427
+ Width = 213
+ Height = 108
Align = alClient
BevelOuter = bvNone
TabOrder = 1
Modified: trunk/Demos/PrimerCross/Main.pas
===================================================================
--- trunk/Demos/PrimerCross/Main.pas 2009-08-05 17:15:33 UTC (rev 815)
+++ trunk/Demos/PrimerCross/Main.pas 2009-08-06 15:27:10 UTC (rev 816)
@@ -75,7 +75,7 @@
procedure ExportItemClick(Sender: TObject);
procedure ImportItemClick(Sender: TObject);
procedure ExportModelItemClick(Sender: TObject);
- procedure FormShow(Sender: TObject);
+ procedure FormActivate(Sender: TObject);
private
FActiveSubView: TBasicViewForm;
FConnectionDef: TInstantConnectionDef;
@@ -501,6 +501,11 @@
end;
end;
+procedure TMainForm.FormActivate(Sender: TObject);
+begin
+ WindowState := wsMaximized;
+end;
+
procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Disconnect;
@@ -519,7 +524,6 @@
BorderWidth := 4;
HoverTime := 0;
HotTrackStyles := [htHandPoint];
- IconOptions.Arrangement := iaLeft;
LargeImages := SideBarImages;
end;
{$ENDIF}
@@ -537,16 +541,10 @@
// ConnectionManager.FileFormat := sfBinary;
// ConnectionManager.FileName := ChangeFileExt(Application.ExeName, '.con');
-
CreateSubViews;
UpdateStatus;
end;
-procedure TMainForm.FormShow(Sender: TObject);
-begin
- WindowState := wsMaximized;
-end;
-
function TMainForm.GetConnectionName: string;
begin
if Assigned(FConnectionDef) then
Modified: trunk/Demos/PrimerCross/Model/Model.pas
===================================================================
--- trunk/Demos/PrimerCross/Model/Model.pas 2009-08-05 17:15:33 UTC (rev 815)
+++ trunk/Demos/PrimerCross/Model/Model.pas 2009-08-06 15:27:10 UTC (rev 816)
@@ -23,7 +23,7 @@
TAddress = class(TInstantObject)
- {IOMETADATA City: String(30) index;
+ {IOMETADATA City: String(30) index;
Country: Reference(TCountry);
State: String(4);
Street: Memo;
@@ -53,7 +53,7 @@
end;
TCountry = class(TInstantObject)
- {IOMETADATA stored;
+ {IOMETADATA stored;
Name: String(30); }
_Name: TInstantString;
private
@@ -68,7 +68,7 @@
end;
TPhone = class(TInstantObject)
- {IOMETADATA Name: String(20);
+ {IOMETADATA Name: String(20);
Number: String(20) mask '(000) 000-0000;0;_'; }
_Name: TInstantString;
_Number: TInstantString;
@@ -83,7 +83,7 @@
end;
TEmail = class(TInstantObject)
- {IOMETADATA Address: String(100); }
+ {IOMETADATA Address: String(100); }
_Address: TInstantString;
private
function GetAddress: string;
@@ -93,7 +93,7 @@
end;
TCategory = class(TInstantObject)
- {IOMETADATA stored;
+ {IOMETADATA stored;
Name: String(30); }
_Name: TInstantString;
private
@@ -106,7 +106,7 @@
end;
TContact = class(TInstantObject)
- {IOMETADATA stored;
+ {IOMETADATA stored;
Address: Part(TAddress);
Category: Reference(TCategory);
City: String(30) index;
@@ -153,6 +153,7 @@
end;
TContactFilter = class(TContact)
+ {IOMETADATA embedded; }
private
FIsDynamic: Boolean;
function GetIsEmpty: Boolean;
@@ -164,7 +165,7 @@
end;
TPerson = class(TContact)
- {IOMETADATA stored;
+ {IOMETADATA stored;
Emails: Parts(TEmail);
Employer: Reference(TCompany);
Picture: Graphic;
@@ -214,7 +215,7 @@
end;
TCompany = class(TContact)
- {IOMETADATA stored;
+ {IOMETADATA stored;
Employees: References(TPerson); }
_Employees: TInstantReferences;
private
Modified: trunk/Source/Core/InstantTextFiler.pas
===================================================================
--- trunk/Source/Core/InstantTextFiler.pas 2009-08-05 17:15:33 UTC (rev 815)
+++ trunk/Source/Core/InstantTextFiler.pas 2009-08-06 15:27:10 UTC (rev 816)
@@ -194,7 +194,7 @@
constructor TInstantTextFiler.Create(AText: string);
begin
- Create(TStringStream.Create(AText), True);
+ Create(TInstantStringStream.Create(AText), True);
end;
procedure TInstantTextFiler.DescendPosition(Ch: Char);
|
|
From: <na...@us...> - 2009-08-06 17:14:48
|
Revision: 817
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=817&view=rev
Author: nandod
Date: 2009-08-06 17:14:40 +0000 (Thu, 06 Aug 2009)
Log Message:
-----------
* Allow navigational brokers in D2009 to read embedded attributes written by previous versions (ansi-only).
* Damaged Primer.dproj for D2007 restored.
Modified Paths:
--------------
trunk/Demos/PrimerCross/Primer.dproj
trunk/Demos/PrimerCross/Primer.mdr
trunk/Source/Core/InstantBrokers.pas
trunk/Source/Core/InstantClasses.pas
trunk/Source/Core/InstantConsts.pas
trunk/Source/Core/InstantPersistence.pas
Modified: trunk/Demos/PrimerCross/Primer.dproj
===================================================================
--- trunk/Demos/PrimerCross/Primer.dproj 2009-08-06 15:27:10 UTC (rev 816)
+++ trunk/Demos/PrimerCross/Primer.dproj 2009-08-06 17:14:40 UTC (rev 817)
@@ -1,183 +1,151 @@
- <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <ProjectGuid>{d197a2d4-31b9-43b1-8070-3f804d86e53f}</ProjectGuid>
- <MainSource>Primer.dpr</MainSource>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
- <DCC_DependencyCheckOutputName>Primer.exe</DCC_DependencyCheckOutputName>
- <ProjectVersion>12.0</ProjectVersion>
- <Config Condition="'$(Config)'==''">Debug</Config>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
- <Base>true</Base>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
- <Cfg_1>true</Cfg_1>
- <CfgParent>Base</CfgParent>
- <Base>true</Base>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
- <Cfg_2>true</Cfg_2>
- <CfgParent>Base</CfgParent>
- <Base>true</Base>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Base)'!=''">
- <DCC_DependencyCheckOutputName>Primer.exe</DCC_DependencyCheckOutputName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Cfg_1)'!=''">
- <Version>7.0</Version>
- <DCC_DebugInformation>False</DCC_DebugInformation>
- <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
- <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
- <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
- <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
- <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_ResourcePath)</DCC_ResourcePath>
- <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_ObjPath)</DCC_ObjPath>
- <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_IncludePath)</DCC_IncludePath>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Cfg_2)'!=''">
- <Version>7.0</Version>
- <DCC_Define>DEBUG;IO_STATEMENT_LOGGING;$(DCC_Define)</DCC_Define>
- <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
- <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_ResourcePath)</DCC_ResourcePath>
- <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_ObjPath)</DCC_ObjPath>
- <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_IncludePath)</DCC_IncludePath>
- </PropertyGroup>
- <ProjectExtensions>
- <Borland.Personality>Delphi.Personality.12</Borland.Personality>
- <Borland.ProjectType>VCLApplication</Borland.ProjectType>
- <BorlandProject>
- <Delphi.Personality>
- <Parameters>
- <Parameters Name="UseLauncher">False</Parameters>
- <Parameters Name="LoadAllSymbols">True</Parameters>
- <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
- </Parameters>
- <VersionInfo>
- <VersionInfo Name="IncludeVerInfo">True</VersionInfo>
- <VersionInfo Name="AutoIncBuild">False</VersionInfo>
- <VersionInfo Name="MajorVer">2</VersionInfo>
- <VersionInfo Name="MinorVer">0</VersionInfo>
- <VersionInfo Name="Release">0</VersionInfo>
- <VersionInfo Name="Build">0</VersionInfo>
- <VersionInfo Name="Debug">False</VersionInfo>
- <VersionInfo Name="PreRelease">False</VersionInfo>
- <VersionInfo Name="Special">False</VersionInfo>
- <VersionInfo Name="Private">False</VersionInfo>
- <VersionInfo Name="DLL">False</VersionInfo>
- <VersionInfo Name="Locale">1030</VersionInfo>
- <VersionInfo Name="CodePage">1252</VersionInfo>
- </VersionInfo>
- <VersionInfoKeys>
- <VersionInfoKeys Name="CompanyName">InstantObjects.org</VersionInfoKeys>
- <VersionInfoKeys Name="FileDescription">Primer Demo</VersionInfoKeys>
- <VersionInfoKeys Name="FileVersion">2.0.0.0</VersionInfoKeys>
- <VersionInfoKeys Name="InternalName"/>
- <VersionInfoKeys Name="LegalCopyright">MPL public license</VersionInfoKeys>
- <VersionInfoKeys Name="LegalTrademarks"/>
- <VersionInfoKeys Name="OriginalFilename"/>
- <VersionInfoKeys Name="ProductName"/>
- <VersionInfoKeys Name="ProductVersion">2.0</VersionInfoKeys>
- <VersionInfoKeys Name="Comments"/>
- </VersionInfoKeys>
- <Source>
- <Source Name="MainSource">Primer.dpr</Source>
- </Source>
- </Delphi.Personality>
- <ModelSupport>False</ModelSupport>
- </BorlandProject>
- <ProjectFileVersion>12</ProjectFileVersion>
- </ProjectExtensions>
- <ItemGroup>
- <DelphiCompile Include="Primer.dpr">
- <MainSource>MainSource</MainSource>
- </DelphiCompile>
- <DCCReference Include="Main.pas">
- <Form>MainForm</Form>
- </DCCReference>
- <DCCReference Include="Model\Model.pas"/>
- <DCCReference Include="ContactView.pas">
- <Form>ContactViewForm</Form>
- <DesignClass>TFrame</DesignClass>
- </DCCReference>
- <DCCReference Include="BasicView.pas">
- <Form>BasicViewForm</Form>
- <DesignClass>TFrame</DesignClass>
- </DCCReference>
- <DCCReference Include="BasicEdit.pas">
- <Form>BasicEditForm</Form>
- </DCCReference>
- <DCCReference Include="ContactEdit.pas">
- <Form>ContactEditForm</Form>
- </DCCReference>
- <DCCReference Include="PersonEdit.pas">
- <Form>PersonEditForm</Form>
- </DCCReference>
- <DCCReference Include="CompanyEdit.pas">
- <Form>CompanyEditForm</Form>
- </DCCReference>
- <DCCReference Include="DemoData.pas"/>
- <DCCReference Include="ContactFilterEdit.pas">
- <Form>ContactFilterEditForm</Form>
- </DCCReference>
- <DCCReference Include="MainData.pas">
- <Form>MainDataModule</Form>
- <DesignClass>TDataModule</DesignClass>
- </DCCReference>
- <DCCReference Include="ContactBrowse.pas">
- <Form>ContactBrowseForm</Form>
- </DCCReference>
- <DCCReference Include="CompanyBrowse.pas">
- <Form>CompanyBrowseForm</Form>
- </DCCReference>
- <DCCReference Include="PerformanceView.pas">
- <Form>PerformanceViewForm</Form>
- <DesignClass>TFrame</DesignClass>
- </DCCReference>
- <DCCReference Include="Welcome.pas">
- <Form>WelcomeForm</Form>
- </DCCReference>
- <DCCReference Include="PersonBrowse.pas">
- <Form>PersonBrowseForm</Form>
- </DCCReference>
- <DCCReference Include="BasicBrowse.pas">
- <Form>BasicBrowseForm</Form>
- </DCCReference>
- <DCCReference Include="CountryBrowse.pas">
- <Form>CountryBrowseForm</Form>
- </DCCReference>
- <DCCReference Include="DemoDataRequest.pas">
- <Form>DemoDataRequestForm</Form>
- </DCCReference>
- <DCCReference Include="ContactSort.pas">
- <Form>ContactSortForm</Form>
- </DCCReference>
- <DCCReference Include="CategoryBrowse.pas">
- <Form>CategoryBrowseForm</Form>
- </DCCReference>
- <DCCReference Include="HelpView.pas">
- <Form>HelpViewForm</Form>
- <DesignClass>TFrame</DesignClass>
- </DCCReference>
- <DCCReference Include="QueryView.pas">
- <Form>QueryViewForm</Form>
- <DesignClass>TFrame</DesignClass>
- </DCCReference>
- <DCCReference Include="RandomData.pas"/>
- <DCCReference Include="Stopwatch.pas"/>
- <DCCReference Include="Utility.pas"/>
- <BuildConfiguration Include="Base">
- <Key>Base</Key>
- </BuildConfiguration>
- <BuildConfiguration Include="Debug">
- <Key>Cfg_2</Key>
- <CfgParent>Base</CfgParent>
- </BuildConfiguration>
- <BuildConfiguration Include="Release">
- <Key>Cfg_1</Key>
- <CfgParent>Base</CfgParent>
- </BuildConfiguration>
- </ItemGroup>
- <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
- </Project>
+<?xml version="1.0" encoding="utf-8"?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{6ddf3705-1ec1-4b67-8127-f887a4deb03e}</ProjectGuid>
+ <MainSource>Primer.dpr</MainSource>
+ <Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <DCC_DependencyCheckOutputName>Primer.exe</DCC_DependencyCheckOutputName>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <Version>7.0</Version>
+ <DCC_DebugInformation>False</DCC_DebugInformation>
+ <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_Define>RELEASE;IO_STATEMENT_LOGGING</DCC_Define>
+ <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_ObjPath>
+ <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <Version>7.0</Version>
+ <DCC_Define>DEBUG;IO_STATEMENT_LOGGING</DCC_Define>
+ <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_ObjPath>
+ <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql</DCC_IncludePath>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality</Borland.Personality>
+ <Borland.ProjectType>VCLApplication</Borland.ProjectType>
+ <BorlandProject>
+<BorlandProject> <Delphi.Personality> <Parameters>
+ <Parameters Name="UseLauncher">False</Parameters>
+ <Parameters Name="LoadAllSymbols">True</Parameters>
+ <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
+ </Parameters>
+ <VersionInfo>
+ <VersionInfo Name="IncludeVerInfo">True</VersionInfo>
+ <VersionInfo Name="AutoIncBuild">False</VersionInfo>
+ <VersionInfo Name="MajorVer">2</VersionInfo>
+ <VersionInfo Name="MinorVer">0</VersionInfo>
+ <VersionInfo Name="Release">0</VersionInfo>
+ <VersionInfo Name="Build">0</VersionInfo>
+ <VersionInfo Name="Debug">False</VersionInfo>
+ <VersionInfo Name="PreRelease">False</VersionInfo>
+ <VersionInfo Name="Special">False</VersionInfo>
+ <VersionInfo Name="Private">False</VersionInfo>
+ <VersionInfo Name="DLL">False</VersionInfo>
+ <VersionInfo Name="Locale">1030</VersionInfo>
+ <VersionInfo Name="CodePage">1252</VersionInfo>
+ </VersionInfo>
+ <VersionInfoKeys>
+ <VersionInfoKeys Name="CompanyName">InstantObjects.org</VersionInfoKeys>
+ <VersionInfoKeys Name="FileDescription">Primer Demo</VersionInfoKeys>
+ <VersionInfoKeys Name="FileVersion">2.0.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="InternalName"></VersionInfoKeys>
+ <VersionInfoKeys Name="LegalCopyright">MPL public license</VersionInfoKeys>
+ <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
+ <VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
+ <VersionInfoKeys Name="ProductName"></VersionInfoKeys>
+ <VersionInfoKeys Name="ProductVersion">2.0</VersionInfoKeys>
+ <VersionInfoKeys Name="Comments"></VersionInfoKeys>
+ </VersionInfoKeys>
+ <Source>
+ <Source Name="MainSource">Primer.dpr</Source>
+ </Source>
+ </Delphi.Personality> </BorlandProject></BorlandProject>
+ </ProjectExtensions>
+ <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
+ <ItemGroup>
+ <DelphiCompile Include="Primer.dpr">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="BasicBrowse.pas">
+ <Form>BasicBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="BasicEdit.pas">
+ <Form>BasicEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="BasicView.pas">
+ <Form>BasicViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="CategoryBrowse.pas">
+ <Form>CategoryBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="CompanyBrowse.pas">
+ <Form>CompanyBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="CompanyEdit.pas">
+ <Form>CompanyEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="ContactBrowse.pas">
+ <Form>ContactBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="ContactEdit.pas">
+ <Form>ContactEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="ContactFilterEdit.pas">
+ <Form>ContactFilterEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="ContactSort.pas">
+ <Form>ContactSortForm</Form>
+ </DCCReference>
+ <DCCReference Include="ContactView.pas">
+ <Form>ContactViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="CountryBrowse.pas">
+ <Form>CountryBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="DemoData.pas" />
+ <DCCReference Include="DemoDataRequest.pas">
+ <Form>DemoDataRequestForm</Form>
+ </DCCReference>
+ <DCCReference Include="HelpView.pas">
+ <Form>HelpViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="Main.pas">
+ <Form>MainForm</Form>
+ </DCCReference>
+ <DCCReference Include="MainData.pas">
+ <Form>MainDataModule</Form>
+ <DesignClass>TDataModule</DesignClass>
+ </DCCReference>
+ <DCCReference Include="Model\Model.pas" />
+ <DCCReference Include="PerformanceView.pas">
+ <Form>PerformanceViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="PersonBrowse.pas">
+ <Form>PersonBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="PersonEdit.pas">
+ <Form>PersonEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="QueryView.pas">
+ <Form>QueryViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="RandomData.pas" />
+ <DCCReference Include="Stopwatch.pas" />
+ <DCCReference Include="Utility.pas" />
+ <DCCReference Include="Welcome.pas">
+ <Form>WelcomeForm</Form>
+ </DCCReference>
+ </ItemGroup>
+</Project>
\ No newline at end of file
Modified: trunk/Demos/PrimerCross/Primer.mdr
===================================================================
(Binary files differ)
Modified: trunk/Source/Core/InstantBrokers.pas
===================================================================
--- trunk/Source/Core/InstantBrokers.pas 2009-08-06 15:27:10 UTC (rev 816)
+++ trunk/Source/Core/InstantBrokers.pas 2009-08-06 17:14:40 UTC (rev 817)
@@ -2329,7 +2329,7 @@
procedure TInstantNavigationalResolver.ReadPart(Attribute: TInstantPart);
var
Field: TField;
- Stream: TStringStream;
+ Stream: TInstantStringStream;
PartClassName: string;
ObjID: string;
begin
@@ -2356,7 +2356,7 @@
Field := FieldByName(Metadata.FieldName);
if not FieldHasObjects(Field) then
Exit;
- Stream := TStringStream.Create(Field.AsString);
+ Stream := TInstantStringStream.Create(Field.AsString);
try
LoadObjectFromStream(Stream);
finally
@@ -2369,7 +2369,7 @@
procedure TInstantNavigationalResolver.ReadParts(Attribute: TInstantParts);
var
Field: TField;
- Stream: TStringStream;
+ Stream: TInstantStringStream;
LinkDatasetResolver: TInstantNavigationalLinkResolver;
begin
with Attribute do
@@ -2386,7 +2386,7 @@
Field := FieldByName(Metadata.FieldName);
if not FieldHasObjects(Field) then
Exit;
- Stream := TStringStream.Create(Field.AsString);
+ Stream := TInstantStringStream.Create(Field.AsString);
try
LoadObjectsFromStream(Stream);
finally
@@ -2413,7 +2413,7 @@
Attribute: TInstantReferences);
var
Field: TField;
- Stream: TStringStream;
+ Stream: TInstantStringStream;
LinkDatasetResolver: TInstantNavigationalLinkResolver;
begin
with Attribute do
@@ -2430,7 +2430,7 @@
Field := FieldByName(Metadata.FieldName);
if not FieldHasObjects(Field) then
Exit;
- Stream := TStringStream.Create(Field.AsString);
+ Stream := TInstantStringStream.Create(Field.AsString);
try
LoadReferencesFromStream(Stream);
finally
@@ -3557,7 +3557,7 @@
procedure ReadPartAttribute;
var
- Stream: TStringStream;
+ Stream: TInstantStringStream;
LPartClassName: string;
LPartId: string;
begin
@@ -3583,7 +3583,7 @@
end
else
begin
- Stream := TStringStream.Create(ReadBlobField(DataSet,
+ Stream := TInstantStringStream.Create(ReadBlobField(DataSet,
AFieldName));
try
if Stream.Size = 0 then
@@ -3598,7 +3598,7 @@
procedure ReadPartsAttribute;
var
- Stream: TStringStream;
+ Stream: TInstantStringStream;
LinkResolver: TInstantSQLLinkResolver;
begin
if AttributeMetadata.StorageKind = skExternal then
@@ -3618,7 +3618,7 @@
end
else
begin
- Stream := TStringStream.Create(ReadBlobField(DataSet, AFieldName));
+ Stream := TInstantStringStream.Create(ReadBlobField(DataSet, AFieldName));
try
if Stream.Size = 0 then
(Attribute as TInstantParts).Reset
@@ -3639,7 +3639,7 @@
procedure ReadReferencesAttribute;
var
- Stream: TStringStream;
+ Stream: TInstantStringStream;
LinkResolver: TInstantSQLLinkResolver;
begin
if AttributeMetadata.StorageKind = skExternal then
@@ -3659,7 +3659,7 @@
end
else
begin
- Stream := TStringStream.Create(ReadBlobField(DataSet, AFieldName));
+ Stream := TInstantStringStream.Create(ReadBlobField(DataSet, AFieldName));
try
if Stream.Size = 0 then
(Attribute as TInstantReferences).Reset
Modified: trunk/Source/Core/InstantClasses.pas
===================================================================
--- trunk/Source/Core/InstantClasses.pas 2009-08-06 15:27:10 UTC (rev 816)
+++ trunk/Source/Core/InstantClasses.pas 2009-08-06 17:14:40 UTC (rev 817)
@@ -1786,10 +1786,8 @@
Producer.WriteData(CurrToStr(Reader.ReadCurrency));
vaDate:
Producer.WriteData(InstantDateTimeToStr(Reader.ReadDate));
- vaString, vaLString:
+ vaString, vaLString, vaUTF8String, vaWString:
Producer.WriteEscapedData(Reader.ReadString);
- vaUTF8String:
- Producer.WriteEscapedData(Reader.ReadString);
vaSet:
begin
Reader.ReadValue;
Modified: trunk/Source/Core/InstantConsts.pas
===================================================================
--- trunk/Source/Core/InstantConsts.pas 2009-08-06 15:27:10 UTC (rev 816)
+++ trunk/Source/Core/InstantConsts.pas 2009-08-06 17:14:40 UTC (rev 817)
@@ -139,7 +139,7 @@
SInvalidOperator = 'Invalid operator: %s';
SInvalidPropertyValue = 'Invalid property value';
SInvalidToken = 'Invalid token ''%s''';
- SInvalidValueType = 'Invalid value type';
+ SInvalidValueType = 'Invalid value type ''%s''';
SKeyViolation = 'Key violation for object %s(''%s'')';
SLoginPromptFailure = 'Couldn''t find login dialog. Please use unit DBLogDlg or set LoginPrompt to False';
SMetadataMismatch = 'Metadata mismatch for attribute %s(''%s'')';
Modified: trunk/Source/Core/InstantPersistence.pas
===================================================================
--- trunk/Source/Core/InstantPersistence.pas 2009-08-06 15:27:10 UTC (rev 816)
+++ trunk/Source/Core/InstantPersistence.pas 2009-08-06 17:14:40 UTC (rev 817)
@@ -5620,20 +5620,20 @@
var
Count: Integer;
Bin, Hex: string;
+ LNextValueType: TValueType;
begin
with Converter do
begin
- case Reader.NextValue of
+ LNextValueType := Reader.NextValue;
+ case LNextValueType of
vaInt8, vaInt16, vaInt32:
Producer.WriteData(IntToStr(Reader.ReadInteger));
vaExtended:
Producer.WriteData(FloatToStr(Reader.ReadFloat));
vaDate:
Producer.WriteData(InstantDateTimeToStr(Reader.ReadDate));
- vaString, vaLString:
+ vaString, vaLString, vaUTF8String, vaWString:
Producer.WriteEscapedData(Reader.ReadString);
- vaUTF8String:
- Producer.WriteEscapedData(Reader.ReadString);
vaCurrency:
Producer.WriteEscapedData(CurrToStr(Reader.ReadCurrency));
vaIdent:
@@ -5669,7 +5669,8 @@
Reader.ReadListEnd;
end;
else
- raise EInstantStreamError.Create(SInvalidValueType);
+ raise EInstantStreamError.CreateFmt(SInvalidValueType,
+ [GetEnumName(TypeInfo(TValueType), Ord(LNextValueType))]);
end;
end;
end;
|
|
From: <na...@us...> - 2009-08-06 20:58:34
|
Revision: 818
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=818&view=rev
Author: nandod
Date: 2009-08-06 20:58:27 +0000 (Thu, 06 Aug 2009)
Log Message:
-----------
* D2009: Fixed problem with I/O of memo fields in InstantPresentation. TInstantBlob and TInstantMemo are now explicitly Ansi. TInstantWideMemo (and TInstantWideString) should be added for handling of unicode text.
+ PrimerExternal_D2009.dproj.
+ A test for TInstantCodeModel.
Modified Paths:
--------------
trunk/Source/Core/InstantPersistence.pas
trunk/Tests/TestIO.dpr
trunk/Tests/TestIO.dproj
trunk/Tests/TestIO_D2009.dpr
trunk/Tests/TestIO_D2009.dproj
Added Paths:
-----------
trunk/Demos/PrimerCross/PrimerExternal_D2009.dpr
trunk/Demos/PrimerCross/PrimerExternal_D2009.dproj
trunk/Demos/PrimerCross/PrimerExternal_D2009.mdr
trunk/Demos/PrimerCross/PrimerExternal_D2009.res
trunk/Tests/TestInstantCode.pas
Added: trunk/Demos/PrimerCross/PrimerExternal_D2009.dpr
===================================================================
--- trunk/Demos/PrimerCross/PrimerExternal_D2009.dpr (rev 0)
+++ trunk/Demos/PrimerCross/PrimerExternal_D2009.dpr 2009-08-06 20:58:27 UTC (rev 818)
@@ -0,0 +1,79 @@
+(*
+ * InstantObjects
+ * Primer Demo - with "external storage" of Part and Parts
+ * Model.pas unit is located in ModelExternal folder
+ *)
+
+(* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is: Seleqt InstantObjects
+ *
+ * The Initial Developer of the Original Code is: Seleqt
+ *
+ * Portions created by the Initial Developer are Copyright (C) 2001-2003
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ * Carlo Barazzetta, Nando Dessena
+ *
+ * ***** END LICENSE BLOCK ***** *)
+
+program PrimerExternal_D2009;
+
+{$IFDEF LINUX}
+{$I '../../Source/InstantDefines.inc'}
+{$ELSE}
+{$I '..\..\Source\InstantDefines.inc'}
+{$ENDIF}
+
+
+uses
+ Forms,
+ Main in 'Main.pas' {MainForm},
+ Model in 'ModelExternal\Model.pas',
+ ContactView in 'ContactView.pas' {ContactViewForm: TFrame},
+ BasicView in 'BasicView.pas' {BasicViewForm: TFrame},
+ BasicEdit in 'BasicEdit.pas' {BasicEditForm},
+ ContactEdit in 'ContactEdit.pas' {ContactEditForm},
+ PersonEdit in 'PersonEdit.pas' {PersonEditForm},
+ CompanyEdit in 'CompanyEdit.pas' {CompanyEditForm},
+ DemoData in 'DemoData.pas',
+ ContactFilterEdit in 'ContactFilterEdit.pas' {ContactFilterEditForm},
+ MainData in 'MainData.pas' {MainDataModule: TDataModule},
+ ContactBrowse in 'ContactBrowse.pas' {ContactBrowseForm},
+ CompanyBrowse in 'CompanyBrowse.pas' {CompanyBrowseForm},
+ PerformanceView in 'PerformanceView.pas' {PerformanceViewForm: TFrame},
+ Welcome in 'Welcome.pas' {WelcomeForm},
+ PersonBrowse in 'PersonBrowse.pas' {PersonBrowseForm},
+ BasicBrowse in 'BasicBrowse.pas' {BasicBrowseForm},
+ CountryBrowse in 'CountryBrowse.pas' {CountryBrowseForm},
+ DemoDataRequest in 'DemoDataRequest.pas' {DemoDataRequestForm},
+ ContactSort in 'ContactSort.pas' {ContactSortForm},
+ CategoryBrowse in 'CategoryBrowse.pas' {CategoryBrowseForm},
+ HelpView in 'HelpView.pas' {HelpViewForm: TFrame},
+ RandomData in 'RandomData.pas',
+ Stopwatch in 'Stopwatch.pas',
+ Utility in 'Utility.pas',
+ QueryView in 'QueryView.pas' {QueryViewForm: TFrame};
+
+{$R *.res}
+{$R *.mdr} {Model}
+
+begin
+ Application.Initialize;
+ Application.Title := 'InstantObjects Primer Demo with "external storage" of Part and Parts';
+ Application.CreateForm(TMainForm, MainForm);
+ Application.CreateForm(TMainDataModule, MainDataModule);
+ Application.Run;
+end.
Property changes on: trunk/Demos/PrimerCross/PrimerExternal_D2009.dpr
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Demos/PrimerCross/PrimerExternal_D2009.dproj
===================================================================
--- trunk/Demos/PrimerCross/PrimerExternal_D2009.dproj (rev 0)
+++ trunk/Demos/PrimerCross/PrimerExternal_D2009.dproj 2009-08-06 20:58:27 UTC (rev 818)
@@ -0,0 +1,187 @@
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{0d607f9b-9c2b-445d-84fd-7072bc53deff}</ProjectGuid>
+ <MainSource>PrimerExternal_D2009.dpr</MainSource>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <DCC_DependencyCheckOutputName>PrimerExternal.exe</DCC_DependencyCheckOutputName>
+ <ProjectVersion>12.0</ProjectVersion>
+ <Config Condition="'$(Config)'==''">Debug</Config>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
+ <Cfg_1>true</Cfg_1>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
+ <Cfg_2>true</Cfg_2>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Base)'!=''">
+ <DCC_DependencyCheckOutputName>PrimerExternal_D2009.exe</DCC_DependencyCheckOutputName>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_1)'!=''">
+ <Version>7.0</Version>
+ <DCC_DebugInformation>False</DCC_DebugInformation>
+ <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_Define>RELEASE;IO_STATEMENT_LOGGING;$(DCC_Define)</DCC_Define>
+ <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_ResourcePath)</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_ObjPath)</DCC_ObjPath>
+ <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_IncludePath)</DCC_IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_2)'!=''">
+ <DCC_DebugDCUs>true</DCC_DebugDCUs>
+ <Version>7.0</Version>
+ <DCC_Define>DEBUG;IO_STATEMENT_LOGGING;$(DCC_Define)</DCC_Define>
+ <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_ResourcePath)</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_ObjPath)</DCC_ObjPath>
+ <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_IncludePath)</DCC_IncludePath>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality.12</Borland.Personality>
+ <Borland.ProjectType>VCLApplication</Borland.ProjectType>
+ <BorlandProject>
+ <Delphi.Personality>
+ <Compiler>
+ <Compiler Name="UsePackages">False</Compiler>
+ <Compiler Name="Packages"/>
+ </Compiler>
+ <Parameters>
+ <Parameters Name="UseLauncher">False</Parameters>
+ <Parameters Name="LoadAllSymbols">True</Parameters>
+ <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
+ </Parameters>
+ <VersionInfo>
+ <VersionInfo Name="IncludeVerInfo">True</VersionInfo>
+ <VersionInfo Name="AutoIncBuild">False</VersionInfo>
+ <VersionInfo Name="MajorVer">2</VersionInfo>
+ <VersionInfo Name="MinorVer">0</VersionInfo>
+ <VersionInfo Name="Release">0</VersionInfo>
+ <VersionInfo Name="Build">0</VersionInfo>
+ <VersionInfo Name="Debug">False</VersionInfo>
+ <VersionInfo Name="PreRelease">False</VersionInfo>
+ <VersionInfo Name="Special">False</VersionInfo>
+ <VersionInfo Name="Private">False</VersionInfo>
+ <VersionInfo Name="DLL">False</VersionInfo>
+ <VersionInfo Name="Locale">1030</VersionInfo>
+ <VersionInfo Name="CodePage">1252</VersionInfo>
+ </VersionInfo>
+ <VersionInfoKeys>
+ <VersionInfoKeys Name="CompanyName">InstantObjects.org</VersionInfoKeys>
+ <VersionInfoKeys Name="FileDescription">Primer Demo</VersionInfoKeys>
+ <VersionInfoKeys Name="FileVersion">2.0.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="InternalName"/>
+ <VersionInfoKeys Name="LegalCopyright">MPL public license</VersionInfoKeys>
+ <VersionInfoKeys Name="LegalTrademarks"/>
+ <VersionInfoKeys Name="OriginalFilename"/>
+ <VersionInfoKeys Name="ProductName"/>
+ <VersionInfoKeys Name="ProductVersion">2.0</VersionInfoKeys>
+ <VersionInfoKeys Name="Comments"/>
+ </VersionInfoKeys>
+ <Source>
+ <Source Name="MainSource">PrimerExternal_D2009.dpr</Source>
+ </Source>
+ </Delphi.Personality>
+ </BorlandProject>
+ <ProjectFileVersion>12</ProjectFileVersion>
+ </ProjectExtensions>
+ <ItemGroup>
+ <DelphiCompile Include="PrimerExternal_D2009.dpr">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="Main.pas">
+ <Form>MainForm</Form>
+ </DCCReference>
+ <DCCReference Include="ModelExternal\Model.pas"/>
+ <DCCReference Include="ContactView.pas">
+ <Form>ContactViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="BasicView.pas">
+ <Form>BasicViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="BasicEdit.pas">
+ <Form>BasicEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="ContactEdit.pas">
+ <Form>ContactEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="PersonEdit.pas">
+ <Form>PersonEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="CompanyEdit.pas">
+ <Form>CompanyEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="DemoData.pas"/>
+ <DCCReference Include="ContactFilterEdit.pas">
+ <Form>ContactFilterEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="MainData.pas">
+ <Form>MainDataModule</Form>
+ <DesignClass>TDataModule</DesignClass>
+ </DCCReference>
+ <DCCReference Include="ContactBrowse.pas">
+ <Form>ContactBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="CompanyBrowse.pas">
+ <Form>CompanyBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="PerformanceView.pas">
+ <Form>PerformanceViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="Welcome.pas">
+ <Form>WelcomeForm</Form>
+ </DCCReference>
+ <DCCReference Include="PersonBrowse.pas">
+ <Form>PersonBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="BasicBrowse.pas">
+ <Form>BasicBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="CountryBrowse.pas">
+ <Form>CountryBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="DemoDataRequest.pas">
+ <Form>DemoDataRequestForm</Form>
+ </DCCReference>
+ <DCCReference Include="ContactSort.pas">
+ <Form>ContactSortForm</Form>
+ </DCCReference>
+ <DCCReference Include="CategoryBrowse.pas">
+ <Form>CategoryBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="HelpView.pas">
+ <Form>HelpViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="RandomData.pas"/>
+ <DCCReference Include="Stopwatch.pas"/>
+ <DCCReference Include="Utility.pas"/>
+ <DCCReference Include="QueryView.pas">
+ <Form>QueryViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <BuildConfiguration Include="Base">
+ <Key>Base</Key>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Debug">
+ <Key>Cfg_2</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Release">
+ <Key>Cfg_1</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ </ItemGroup>
+ <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
+ </Project>
Property changes on: trunk/Demos/PrimerCross/PrimerExternal_D2009.dproj
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Demos/PrimerCross/PrimerExternal_D2009.mdr
===================================================================
(Binary files differ)
Property changes on: trunk/Demos/PrimerCross/PrimerExternal_D2009.mdr
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/Demos/PrimerCross/PrimerExternal_D2009.res
===================================================================
(Binary files differ)
Property changes on: trunk/Demos/PrimerCross/PrimerExternal_D2009.res
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/Source/Core/InstantPersistence.pas
===================================================================
--- trunk/Source/Core/InstantPersistence.pas 2009-08-06 17:14:40 UTC (rev 817)
+++ trunk/Source/Core/InstantPersistence.pas 2009-08-06 20:58:27 UTC (rev 818)
@@ -444,10 +444,10 @@
FStream: TMemoryStream;
function GetSize: Integer;
function GetStream: TMemoryStream;
- function GetValue: string;
- procedure SetValue(const AValue: string);
property Stream: TMemoryStream read GetStream;
protected
+ function GetValue: AnsiString; virtual;
+ procedure SetValue(const AValue: AnsiString); virtual;
class function AttributeType: TInstantAttributeType; override;
function GetAsString: string; override;
function GetAsVariant: Variant; override;
@@ -472,7 +472,7 @@
function WriteBuffer(const Buffer; Position, Count: Integer): Integer;
property Size: Integer read GetSize;
published
- property Value: string read GetValue write SetValue;
+ property Value: AnsiString read GetValue write SetValue;
end;
TInstantMemo = class(TInstantBlob)
@@ -3485,13 +3485,14 @@
Result := FStream;
end;
-function TInstantBlob.GetValue: string;
+function TInstantBlob.GetValue: AnsiString;
begin
if Size > 0 then
begin
- SetLength(Result, Size div SizeOf(Char));
+ SetLength(Result, Size div SizeOf(AnsiChar));
Read(Result[1], 0, Size);
- end else
+ end
+ else
Result := '';
end;
@@ -3567,17 +3568,18 @@
end;
end;
-procedure TInstantBlob.SetValue(const AValue: string);
+procedure TInstantBlob.SetValue(const AValue: AnsiString);
var
L: Integer;
begin
- L := Length(AValue) * SizeOf(Char);
+ L := Length(AValue) * SizeOf(AnsiChar);
if L > 0 then
begin
Stream.Clear;
WriteBuffer(AValue[1], 0, L);
Stream.Size := L;
- end else
+ end
+ else
Clear;
end;
Modified: trunk/Tests/TestIO.dpr
===================================================================
--- trunk/Tests/TestIO.dpr 2009-08-06 17:14:40 UTC (rev 817)
+++ trunk/Tests/TestIO.dpr 2009-08-06 20:58:27 UTC (rev 818)
@@ -58,7 +58,8 @@
TestInstantCircularReferences in 'TestInstantCircularReferences.pas',
TestInstantObjectReference in 'TestInstantObjectReference.pas',
MinimalModel in 'MinimalModel.pas',
- TestXMLBroker in 'TestXMLBroker.pas';
+ TestXMLBroker in 'TestXMLBroker.pas',
+ TestInstantCode in 'TestInstantCode.pas';
{$R *.res}
{$R *.mdr} {TestModel}
Modified: trunk/Tests/TestIO.dproj
===================================================================
--- trunk/Tests/TestIO.dproj 2009-08-06 17:14:40 UTC (rev 817)
+++ trunk/Tests/TestIO.dproj 2009-08-06 20:58:27 UTC (rev 818)
@@ -55,6 +55,7 @@
<DCCReference Include="TestInstantCircularReferences.pas" />
<DCCReference Include="TestInstantClasses.pas" />
<DCCReference Include="TestInstantClassMetadata.pas" />
+ <DCCReference Include="TestInstantCode.pas" />
<DCCReference Include="TestInstantComplex.pas" />
<DCCReference Include="TestInstantCurrency.pas" />
<DCCReference Include="TestInstantDate.pas" />
Modified: trunk/Tests/TestIO_D2009.dpr
===================================================================
--- trunk/Tests/TestIO_D2009.dpr 2009-08-06 17:14:40 UTC (rev 817)
+++ trunk/Tests/TestIO_D2009.dpr 2009-08-06 20:58:27 UTC (rev 818)
@@ -52,7 +52,8 @@
TestInstantCircularReferences in 'TestInstantCircularReferences.pas',
TestInstantObjectReference in 'TestInstantObjectReference.pas',
MinimalModel in 'MinimalModel.pas',
- TestXMLBroker in 'TestXMLBroker.pas';
+ TestXMLBroker in 'TestXMLBroker.pas',
+ TestInstantCode in 'TestInstantCode.pas';
{$R *.res}
{$R *.mdr} {TestModel}
Modified: trunk/Tests/TestIO_D2009.dproj
===================================================================
--- trunk/Tests/TestIO_D2009.dproj 2009-08-06 17:14:40 UTC (rev 817)
+++ trunk/Tests/TestIO_D2009.dproj 2009-08-06 20:58:27 UTC (rev 818)
@@ -93,6 +93,7 @@
<DCCReference Include="TestInstantObjectReference.pas"/>
<DCCReference Include="MinimalModel.pas"/>
<DCCReference Include="TestXMLBroker.pas"/>
+ <DCCReference Include="TestInstantCode.pas"/>
<BuildConfiguration Include="Base">
<Key>Base</Key>
</BuildConfiguration>
Added: trunk/Tests/TestInstantCode.pas
===================================================================
--- trunk/Tests/TestInstantCode.pas (rev 0)
+++ trunk/Tests/TestInstantCode.pas 2009-08-06 20:58:27 UTC (rev 818)
@@ -0,0 +1,128 @@
+(*
+ * InstantObjects Test Suite
+ * TestMockBroker
+ *)
+
+(* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is: InstantObjects Test Suite/TestMockBroker
+ *
+ * The Initial Developer of the Original Code is: Uberto Barbini
+ *
+ * Portions created by the Initial Developer are Copyright (C) 2005
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ * Nando Dessena
+ *
+ * ***** END LICENSE BLOCK ***** *)
+
+unit TestInstantCode;
+
+{$IFDEF LINUX}
+{$I '../InstantDefines.inc'}
+{$ELSE}
+{$I '..\InstantDefines.inc'}
+{$ENDIF}
+
+interface
+
+uses
+ InstantCode, fpcunit, InstantMock, TestModel;
+
+type
+ TTestInstantCodeModel = class(TTestCase)
+ published
+ {
+ This test uses TInstantCodeModel to: read the actual TestModel.pas unit
+ from disk; parse it; rename class TCategory to TCategory2, and checks
+ that the rename succeeded. The modified source code is not saved back to
+ disk.
+ }
+ procedure TestRenameModelClass;
+ end;
+
+implementation
+
+uses
+ SysUtils, Classes, testregistry;
+
+{ TTestInstantCodeModel }
+
+procedure TTestInstantCodeModel.TestRenameModelClass;
+var
+ LCodeModel: TInstantCodeModel;
+ LFile: TStream;
+ LSource: TStringStream;
+ LClass: TInstantCodeClass;
+ LChangeInfo: TInstantCodeClassChangeInfo;
+ LSourceCode: string;
+ LChangedAttrs: TStringList;
+ LNewAttrs: TList;
+begin
+ LCodeModel := TInstantCodeModel.Create;
+ try
+ LFile := TFileStream.Create(ExtractFilePath(ParamStr(0)) + 'TestModel.pas', fmOpenRead);
+ try
+ LSource := TStringStream.Create('');
+ try
+ LSource.CopyFrom(LFile, LFile.Size);
+ LCodeModel.LoadModule(LSource.DataString);
+
+ AssertNotNull(LCodeModel.FindModule('TestModel'));
+ AssertNotNull(LCodeModel.FindClass('TCategory'));
+
+ LClass := LCodeModel.FindClass('TCategory');
+
+ LChangedAttrs := TStringList.Create;
+ try
+ LNewAttrs := TList.Create;
+ try
+ LClass.Name := 'TCategory2';
+ LChangeInfo := TInstantCodeClassChangeInfo.Create(LClass, ctEdit,
+ 'TCategory', LChangedAttrs, LNewAttrs);
+ try
+ LSourceCode := LSource.DataString;
+ LClass.ApplyToSource(LSourceCode, LChangeInfo);
+
+ LCodeModel.Clear;
+ LCodeModel.LoadModule(LSourceCode);
+
+ AssertNotNull('Renamed class not found', LCodeModel.FindClass('TCategory2'));
+ AssertNull('Old class is still there', LCodeModel.FindClass('TCategory'));
+ finally
+ LChangeInfo.Free;
+ end;
+ finally
+ LNewAttrs.Free;
+ end;
+ finally
+ LChangedAttrs.Free;
+ end;
+ finally
+ LSource.Free;
+ end;
+ finally
+ LFile.Free;
+ end;
+ finally
+ LCodeModel.Free;
+ end;
+end;
+
+initialization
+{$IFNDEF CURR_TESTS}
+ RegisterTests([TTestInstantCodeModel]);
+{$ENDIF}
+end.
Property changes on: trunk/Tests/TestInstantCode.pas
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
|
|
From: <na...@us...> - 2009-08-14 07:18:55
|
Revision: 822
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=822&view=rev
Author: nandod
Date: 2009-08-14 07:18:46 +0000 (Fri, 14 Aug 2009)
Log Message:
-----------
* svn properties set.
- Removed ZeosDBO package from core project groups.
Modified Paths:
--------------
trunk/Source/PackageGroups/D7/DesignTimePackages.bpg
trunk/Source/PackageGroups/D7/RunTimePackages.bpg
Property Changed:
----------------
trunk/Demos/PrimerCross/
trunk/Source/Brokers/ADO/D2009/
trunk/Source/Brokers/BDE/D2009/
trunk/Source/Brokers/DBX/D2009/
trunk/Source/Brokers/IBX/D2009/
trunk/Source/Brokers/XML/D2009/
trunk/Source/Catalogs/IBFb/D2009/
trunk/Source/Catalogs/MSSql/D2009/
trunk/Source/Catalogs/MySQL/D2009/
Property changes on: trunk/Demos/PrimerCross
___________________________________________________________________
Modified: svn:ignore
- *.dcu
*.~*
*.ddp
*.exe
__history
*.identcache
*.local
*.dsk
*.MB
XMLDB
+ *.dcu
*.~*
*.ddp
*.exe
__history
*.identcache
*.local
*.dsk
*.MB
XMLDB
PrimerExternal_D2009.xml
Property changes on: trunk/Source/Brokers/ADO/D2009
___________________________________________________________________
Modified: svn:ignore
- *.dcu
*.local
+ *.dcu
*.local
*.identcache
Property changes on: trunk/Source/Brokers/BDE/D2009
___________________________________________________________________
Modified: svn:ignore
- *.dcu
*.local
+ *.dcu
*.local
*.identcache
Property changes on: trunk/Source/Brokers/DBX/D2009
___________________________________________________________________
Modified: svn:ignore
- *.dcu
*.local
+ *.dcu
*.local
*.identcache
Property changes on: trunk/Source/Brokers/IBX/D2009
___________________________________________________________________
Modified: svn:ignore
- *.dcu
*.local
+ *.dcu
*.local
*.identcache
Property changes on: trunk/Source/Brokers/XML/D2009
___________________________________________________________________
Modified: svn:ignore
- *.dcu
__history
*.local
+ *.dcu
__history
*.local
*.identcache
Property changes on: trunk/Source/Catalogs/IBFb/D2009
___________________________________________________________________
Modified: svn:ignore
- *.dcu
*.local
+ *.dcu
*.local
*.identcache
Property changes on: trunk/Source/Catalogs/MSSql/D2009
___________________________________________________________________
Modified: svn:ignore
- *.dcu
*.local
+ *.dcu
*.local
*.identcache
Property changes on: trunk/Source/Catalogs/MySQL/D2009
___________________________________________________________________
Modified: svn:ignore
- *.dcu
*.local
+ *.dcu
*.local
*.identcache
Modified: trunk/Source/PackageGroups/D7/DesignTimePackages.bpg
===================================================================
--- trunk/Source/PackageGroups/D7/DesignTimePackages.bpg 2009-08-14 07:15:58 UTC (rev 821)
+++ trunk/Source/PackageGroups/D7/DesignTimePackages.bpg 2009-08-14 07:18:46 UTC (rev 822)
@@ -10,7 +10,7 @@
BRCC = $(ROOT)\bin\brcc32.exe $**
#------------------------------------------------------------------------------
PROJECTS = dclIOCore_D7.bpl dclIOADO_D7.bpl dclIOBDE_D7.bpl dclIODBX_D7.bpl \
- dclIOIBX_D7.bpl dclIOXML_D7.bpl DclIOZeosDBO_D7.bpl
+ dclIOIBX_D7.bpl dclIOXML_D7.bpl
#------------------------------------------------------------------------------
default: $(PROJECTS)
#------------------------------------------------------------------------------
@@ -33,7 +33,3 @@
dclIOXML_D7.bpl: ..\..\Brokers\XML\D7\dclIOXML.dpk
$(DCC)
-DclIOZeosDBO_D7.bpl: ..\..\Brokers\ZeosDBO\D7\DclIOZeosDBO.dpk
- $(DCC)
-
-
Modified: trunk/Source/PackageGroups/D7/RunTimePackages.bpg
===================================================================
--- trunk/Source/PackageGroups/D7/RunTimePackages.bpg 2009-08-14 07:15:58 UTC (rev 821)
+++ trunk/Source/PackageGroups/D7/RunTimePackages.bpg 2009-08-14 07:18:46 UTC (rev 822)
@@ -11,7 +11,7 @@
#------------------------------------------------------------------------------
PROJECTS = IOCore_D7.bpl IOMSSqlCatalog_D7.bpl IOIBFbCatalog_D7.bpl \
IOMySQLCatalog_D7.bpl IOADO_D7.bpl IOBDE_D7.bpl IODBX_D7.bpl IOIBX_D7.bpl \
- IOXML_D7.bpl IOZeosDBO_D7.bpl
+ IOXML_D7.bpl
#------------------------------------------------------------------------------
default: $(PROJECTS)
#------------------------------------------------------------------------------
@@ -43,7 +43,3 @@
IOMySQLCatalog_D7.bpl: ..\..\Catalogs\MySQL\D7\IOMySQLCatalog.dpk
$(DCC)
-IOZeosDBO_D7.bpl: ..\..\Brokers\ZeosDBO\D7\IOZeosDBO.dpk
- $(DCC)
-
-
|
|
From: <na...@us...> - 2009-08-14 19:28:51
|
Revision: 826
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=826&view=rev
Author: nandod
Date: 2009-08-14 19:28:40 +0000 (Fri, 14 Aug 2009)
Log Message:
-----------
* XML I/O formatting and indentation rewritted. The former implementation broke a few tests.
* Changed a few calls to WriteStr to WriteUTF8Str in order to avoid warnings and better support unicode identifiers; added TInstantWriter.WriteUTF8Str for D<2009.
Modified Paths:
--------------
trunk/Source/Core/InstantClasses.pas
trunk/Source/Core/InstantConsts.pas
trunk/Source/Core/InstantMetadata.pas
trunk/Source/Core/InstantPersistence.pas
trunk/Tests/TestIO.mdx
trunk/Tests/TestIO.mdxt
trunk/Tests/TestIO_D2009.mdx
trunk/Tests/TestIO_D2009.mdxt
trunk/Tests/TestInstantClasses.pas
trunk/Tests/TestMinimalModel.pas
Modified: trunk/Source/Core/InstantClasses.pas
===================================================================
--- trunk/Source/Core/InstantClasses.pas 2009-08-14 09:20:30 UTC (rev 825)
+++ trunk/Source/Core/InstantClasses.pas 2009-08-14 19:28:40 UTC (rev 826)
@@ -200,6 +200,7 @@
procedure WriteProperties(AObject: TPersistent);
{$IFNDEF UNICODE}
procedure WriteString(const Value: string);
+ procedure WriteUTF8Str(const Value: string); inline;
{$ENDIF}
procedure WriteValue(Value: TValueType);
property Stream: TStream read FStream;
@@ -262,27 +263,29 @@
end;
{$ENDIF}
+ TInstantXMLToken = (xtNone, xtStartTag, xtEndTag, xtAnyTag, xtData);
+
TInstantXMLProducer = class(TObject)
private
FStream: TStream;
FTagStack: TStringList;
FWriter: TAbstractWriter;
- FCurrentIndentationSize: Integer;
+ FIndentationSize: Integer;
+ FLastToken: TInstantXMLToken;
function GetCurrentTag: string;
function GetEof: Boolean;
function GetPosition: Integer;
function GetTagStack: TStringList;
function GetWriter: TAbstractWriter;
procedure SetPosition(Value: Integer);
+ protected
+ function IsPrettyXMLEnabled: Boolean;
procedure WriteString(const S: string);
- protected
property TagStack: TStringList read GetTagStack;
property Writer: TAbstractWriter read GetWriter;
- public
- procedure Indent;
- procedure Unindent;
procedure WriteIndentation;
procedure WriteLineBreak;
+ public
constructor Create(Stream: TStream);
destructor Destroy; override;
procedure WriteEscapedData(const Data: string);
@@ -295,8 +298,6 @@
property Stream: TStream read FStream;
end;
- TInstantXMLToken = (xtTag, xtData);
-
TInstantXMLProcessor = class(TObject)
private
FReader: TAbstractReader;
@@ -310,6 +311,7 @@
protected
procedure CheckToken(AToken: TInstantXMLToken);
function PeekChar: Char;
+ function PeekCharSkippingBlanks: Char;
function ReadChar: Char;
procedure SkipBlanks;
property Reader: TAbstractReader read GetReader;
@@ -1073,7 +1075,7 @@
procedure TInstantWriter.WriteObject(AObject: TPersistent);
begin
- WriteStr(AObject.ClassName);
+ WriteUTF8Str(AObject.ClassName);
if AObject is TInstantStreamable then
TInstantStreamable(AObject).WriteObject(Self)
else if AObject is TInstantCollection then
@@ -1093,6 +1095,11 @@
WriteListEnd;
end;
+procedure TInstantWriter.WriteValue(Value: TValueType);
+begin
+ inherited WriteValue(Value);
+end;
+
{$IFNDEF UNICODE}
procedure TInstantWriter.WriteString(const Value: string);
var
@@ -1110,12 +1117,22 @@
end;
Write(Pointer(Value)^, L);
end;
-{$ENDIF}
-procedure TInstantWriter.WriteValue(Value: TValueType);
+procedure TInstantWriter.WriteUTF8Str(const Value: string);
+var
+ U: UTF8String;
+ L: Integer;
begin
- inherited;
+ // Note: in versions of Delphi that don't have AnsiToUtf8, just use:
+ // WriteStr(Value);
+ // as the body for this function.
+ U := AnsiToUtf8(Value);
+ L := Length(U);
+ if L > 255 then L := 255;
+ Write(L, SizeOf(Byte));
+ Write(U[1], L);
end;
+{$ENDIF}
{ TInstantStream }
@@ -1348,26 +1365,17 @@
{ TInstantXMLProducer }
-procedure TInstantXMLProducer.Indent;
+function TInstantXMLProducer.IsPrettyXMLEnabled: Boolean;
begin
- Inc(FCurrentIndentationSize, InstantXMLIndentationSize);
+ Result := FIndentationSize > 0;
end;
-procedure TInstantXMLProducer.Unindent;
-begin
- Dec(FCurrentIndentationSize, InstantXMLIndentationSize);
- if InstantXMLIndentationSize >= 0 then
- begin
- WriteLineBreak;
- WriteIndentation;
- end;
-end;
-
-
constructor TInstantXMLProducer.Create(Stream: TStream);
begin
inherited Create;
FStream := Stream;
+ FLastToken := xtNone;
+ FIndentationSize := InstantXMLIndentationSize;
end;
destructor TInstantXMLProducer.Destroy;
@@ -1415,15 +1423,39 @@
procedure TInstantXMLProducer.WriteData(const Data: string);
begin
WriteString(Data);
+ FLastToken := xtData;
end;
+procedure TInstantXMLProducer.WriteStartTag(const Tag: string);
+begin
+ if IsPrettyXMLEnabled then
+ begin
+ if FLastToken = xtStartTag then
+ WriteLineBreak;
+ WriteIndentation;
+ end;
+ WriteString(InstantBuildStartTag(Tag));
+ TagStack.Add(Tag);
+ FLastToken := xtStartTag;
+end;
+
procedure TInstantXMLProducer.WriteEndTag;
var
- Index: Integer;
+ LTagName: string;
begin
- Index := TagStack.Count - 1;
- WriteString(InstantBuildEndTag(TagStack[Index]));
- TagStack.Delete(Index);
+ LTagName := TagStack[TagStack.Count - 1];
+ TagStack.Delete(TagStack.Count - 1);
+ if IsPrettyXMLEnabled then
+ begin
+ if FLastToken = xtStartTag then
+ WriteLineBreak;
+ if FLastToken in [xtStartTag, xtEndTag] then
+ WriteIndentation;
+ end;
+ WriteString(InstantBuildEndTag(LTagName));
+ if IsPrettyXMLEnabled then
+ WriteLineBreak;
+ FLastToken := xtEndTag;
end;
procedure TInstantXMLProducer.WriteEscapedData(const Data: string);
@@ -1453,28 +1485,13 @@
end;
Esc := Format(EscStr, [Esc]);
WriteString(Esc);
- end else//MC if C in [#32..#126] then
+ end
+ else
WriteString(C);
-(* MC
- else begin
- Esc := Format(EscStr, [Format('#%d', [Ord(C)])]);
- WriteString(Esc);
- end;
-*)
end;
+ FLastToken := xtData;
end;
-procedure TInstantXMLProducer.WriteStartTag(const Tag: string);
-begin
- if InstantXMLIndentationSize >= 0 then
- begin
- WriteLineBreak;
- WriteIndentation;
- end;
- WriteString(InstantBuildStartTag(Tag));
- TagStack.Add(Tag);
-end;
-
procedure TInstantXMLProducer.WriteLineBreak;
begin
WriteString(sLineBreak);
@@ -1482,8 +1499,7 @@
procedure TInstantXMLProducer.WriteIndentation;
begin
- if FCurrentIndentationSize > 0 then
- WriteString(DupeString(' ' , FCurrentIndentationSize));
+ WriteString(DupeString(' ' , TagStack.Count * FIndentationSize));
end;
procedure TInstantXMLProducer.WriteString(const S: string);
@@ -1534,8 +1550,8 @@
function TInstantXMLProcessor.GetToken: TInstantXMLToken;
begin
- if PeekChar = InstantTagStart then
- Result := xtTag
+ if PeekCharSkippingBlanks = InstantTagStart then
+ Result := xtAnyTag
else
Result := xtData;
end;
@@ -1552,6 +1568,19 @@
end;
end;
+function TInstantXMLProcessor.PeekCharSkippingBlanks: Char;
+var
+ Pos: Integer;
+begin
+ Pos := Position;
+ try
+ SkipBlanks;
+ Result := ReadChar;
+ finally
+ Position := Pos;
+ end;
+end;
+
function TInstantXMLProcessor.PeekTag: string;
var
Pos: Integer;
@@ -1645,7 +1674,7 @@
Pos := Position;
try
SkipBlanks;
- CheckToken(xtTag);
+ CheckToken(xtAnyTag);
except
Position := Pos;
raise;
@@ -1687,7 +1716,7 @@
EndTag := InstantBuildEndTag(TagName);
Level := 1;
repeat
- if Token = xtTag then
+ if Token = xtAnyTag then
begin
TagName := ReadTag;
if SameText(TagName, StartTag) then
@@ -1789,7 +1818,6 @@
Result := Reader.Stream;
end;
-
function TInstantBinaryToTextConverter.GetOutput: TStream;
begin
Result := Producer.Stream;
@@ -1800,7 +1828,6 @@
PushObjectClass(FindClass(Reader.ReadStr));
try
Producer.WriteStartTag(ObjectClassName);
- Producer.Indent;
if ObjectClass.InheritsFrom(TInstantStreamable) then
TInstantStreamableClass(ObjectClass).ConvertToText(Self)
else if ObjectClass.InheritsFrom(TInstantCollection) then
@@ -1808,7 +1835,6 @@
else if ObjectClass.InheritsFrom(TInstantCollectionItem) then
TInstantCollectionItemClass(ObjectClass).ConvertToText(Self);
Reader.ReadListEnd;
- Producer.Unindent;
Producer.WriteEndTag;
finally
PopObjectClass;
@@ -1878,7 +1904,6 @@
end;
begin
- Producer.Indent;
while not Reader.EndOfList do
begin
Producer.WriteStartTag(Reader.ReadStr);
@@ -1886,7 +1911,6 @@
Producer.WriteEndTag;
end;
Reader.ReadListEnd;
- Producer.Unindent;
end;
{ TInstantToTextToBinaryConverter }
@@ -1934,7 +1958,7 @@
begin
PropName := Processor.ReadTagName;
ValueStr := Processor.ReadData;
- Writer.WriteStr(PropName);
+ Writer.WriteUTF8Str(PropName);
case GetTypeInfo(PropInfo)^.Kind of //PropInfo^.PropType^^.Kind of
tkInteger:
Writer.WriteInteger(StrToInt(ValueStr));
@@ -1966,7 +1990,7 @@
try
InstantStrToList(ValueStr, S, [',']);
for I := 0 to Pred(S.Count) do
- Writer.WriteStr(S[I]);
+ Writer.WriteUTF8Str(S[I]);
finally
S.Free;
end;
@@ -2012,7 +2036,7 @@
begin
PushObjectClass(FindClass(Processor.ReadTagName));
try
- Writer.WriteStr(ObjectClassName);
+ Writer.WriteUTF8Str(ObjectClassName);
if ObjectClass.InheritsFrom(TInstantStreamable) then
TInstantStreamableClass(ObjectClass).ConvertToBinary(Self)
else if ObjectClass.InheritsFrom(TInstantCollection) then
Modified: trunk/Source/Core/InstantConsts.pas
===================================================================
--- trunk/Source/Core/InstantConsts.pas 2009-08-14 09:20:30 UTC (rev 825)
+++ trunk/Source/Core/InstantConsts.pas 2009-08-14 19:28:40 UTC (rev 826)
@@ -79,7 +79,7 @@
{$ENDIF}
var
- InstantXMLIndentationSize: Integer = 2;
+ InstantXMLIndentationSize: Byte = 2;
resourcestring
SAccessError = 'Cannot access attribute %s(''%s'') as type: %s';
Modified: trunk/Source/Core/InstantMetadata.pas
===================================================================
--- trunk/Source/Core/InstantMetadata.pas 2009-08-14 09:20:30 UTC (rev 825)
+++ trunk/Source/Core/InstantMetadata.pas 2009-08-14 19:28:40 UTC (rev 826)
@@ -623,8 +623,8 @@
with Converter do
begin
ConvertProperties(InstantBuildStartTag(InstantAttributeMetadatasTagName));
- Processor.ReadTag;
- if (Processor.Token = xtTag) and not SameText(Processor.PeekTag,
+ Assert(Processor.ReadTagName = InstantAttributeMetadatasTagName);
+ if (Processor.Token = xtAnyTag) and not SameText(Processor.PeekTag,
InstantBuildEndTag(InstantAttributeMetadatasTagName)) then
Convert;
Processor.ReadTag;
@@ -1942,28 +1942,5 @@
inherited Items[Index] := Value;
end;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
end.
+
Modified: trunk/Source/Core/InstantPersistence.pas
===================================================================
--- trunk/Source/Core/InstantPersistence.pas 2009-08-14 09:20:30 UTC (rev 825)
+++ trunk/Source/Core/InstantPersistence.pas 2009-08-14 19:28:40 UTC (rev 826)
@@ -2265,8 +2265,8 @@
begin
with Writer do
begin
- WriteStr(ObjectClassName);
- WriteStr(ObjectId);
+ WriteUTF8Str(ObjectClassName);
+ WriteUTF8Str(ObjectId);
WriteListEnd;
WriteListEnd;
end;
@@ -2277,8 +2277,8 @@
inherited;
Writer.WriteStr('');
Writer.WriteStr('');
- Writer.WriteStr(ObjectClassName);
- Writer.WriteStr(ObjectId);
+ Writer.WriteUTF8Str(ObjectClassName);
+ Writer.WriteUTF8Str(ObjectId);
end;
{ TInstantAttribute }
@@ -2550,7 +2550,7 @@
procedure TInstantAttribute.WriteName(Writer: TInstantWriter);
begin
- Writer.WriteStr(Name);
+ Writer.WriteUTF8Str(Name);
end;
{ TInstantSimple }
@@ -5522,7 +5522,7 @@
with Converter do
begin
AttributeName := Processor.ReadTagName;
- Writer.WriteStr(AttributeName);
+ Writer.WriteUTF8Str(AttributeName);
case AttributeMetadata.AttributeType of
atInteger:
Writer.WriteInteger(StrToInt(Processor.ReadData));
@@ -5599,11 +5599,11 @@
if Processor.PeekTagName = InstantIdFieldName then
begin
Processor.ReadTag;
- if (Processor.Token = xtTag) and SameText(Processor.ReadTagName,
+ if (Processor.Token = xtAnyTag) and SameText(Processor.ReadTagName,
InstantBuildEndTag(InstantIdFieldName)) then
Writer.WriteStr('')
else begin
- Writer.WriteStr(Processor.ReadData);
+ Writer.WriteUTF8Str(Processor.ReadData);
Processor.ReadTag;
end;
end else
@@ -5642,9 +5642,7 @@
vaIdent:
begin
Reader.ReadIdent;
- Producer.Indent;
Convert;
- Producer.Unindent;
end;
vaFalse:
begin
@@ -5669,11 +5667,9 @@
vaCollection:
begin
Reader.ReadValue;
- Producer.Indent;
- while not Reader.EndOfList do
- Convert;
- Producer.Unindent;
- Reader.ReadListEnd;
+ while not Reader.EndOfList do
+ Convert;
+ Reader.ReadListEnd;
end;
else
raise EInstantStreamError.CreateFmt(SInvalidValueType,
@@ -6831,7 +6827,7 @@
procedure TInstantObject.WriteObject(Writer: TInstantWriter);
begin
- Writer.WriteStr(Id);
+ Writer.WriteUTF8Str(Id);
WriteAttributes(Writer);
end;
Modified: trunk/Tests/TestIO.mdx
===================================================================
--- trunk/Tests/TestIO.mdx 2009-08-14 09:20:30 UTC (rev 825)
+++ trunk/Tests/TestIO.mdx 2009-08-14 19:28:40 UTC (rev 826)
@@ -1 +1,461 @@
-<TInstantClassMetadatas><TInstantClassMetadata><Name>TAddress</Name><Persistence>peEmbedded</Persistence><AttributeMetadatas><TInstantAttributeMetadatas><TInstantAttributeMetadata><Name>City</Name><AttributeType>atString</AttributeType><IsIndexed>TRUE</IsIndexed><IsRequired>FALSE</IsRequired><Size>30</Size></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>Country</Name><AttributeType>atReference</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><ObjectClassName>TCountry</ObjectClassName></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>State</Name><AttributeType>atString</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><Size>4</Size></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>Street</Name><AttributeType>atMemo</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>Zip</Name><AttributeType>atString</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><Size>10</Size></TInstantAttributeMetadata></TInstantAttributeMetadatas></AttributeMetadatas></TInstantClassMetadata><TInstantClassMetadata><Name>TCountry</Name><Persistence>peStored</Persistence><AttributeMetadatas><TInstantAttributeMetadatas><TInstantAttributeMetadata><Name>Name</Name><AttributeType>atString</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><Size>30</Size></TInstantAttributeMetadata></TInstantAttributeMetadatas></AttributeMetadatas></TInstantClassMetadata><TInstantClassMetadata><Name>TPhone</Name><Persistence>peEmbedded</Persistence><AttributeMetadatas><TInstantAttributeMetadatas><TInstantAttributeMetadata><Name>Name</Name><AttributeType>atString</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><Size>20</Size></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>Name</Name><AttributeType>atString</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><Size>30</Size></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>Number</Name><AttributeType>atString</AttributeType><EditMask>(000) 000-0000;0;_</EditMask><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><Size>20</Size></TInstantAttributeMetadata></TInstantAttributeMetadatas></AttributeMetadatas></TInstantClassMetadata><TInstantClassMetadata><Name>TEmail</Name><Persistence>peStored</Persistence><AttributeMetadatas><TInstantAttributeMetadatas><TInstantAttributeMetadata><Name>Address</Name><AttributeType>atString</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><Size>100</Size></TInstantAttributeMetadata></TInstantAttributeMetadatas></AttributeMetadatas></TInstantClassMetadata><TInstantClassMetadata><Name>TCategory</Name><Persistence>peStored</Persistence><StorageName>Categories</StorageName><AttributeMetadatas><TInstantAttributeMetadatas><TInstantAttributeMetadata><Name>Name</Name><AttributeType>atString</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><Size>30</Size></TInstantAttributeMetadata></TInstantAttributeMetadatas></AttributeMetadatas></TInstantClassMetadata><TInstantClassMetadata><Name>TContact</Name><Persistence>peStored</Persistence><AttributeMetadatas><TInstantAttributeMetadatas><TInstantAttributeMetadata><Name>Address</Name><AttributeType>atPart</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><ObjectClassName>TAddress</ObjectClassName></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>Category</Name><AttributeType>atReference</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><ObjectClassName>TCategory</ObjectClassName></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>City</Name><AttributeType>atString</AttributeType><IsIndexed>TRUE</IsIndexed><IsRequired>FALSE</IsRequired><Size>30</Size></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>Name</Name><AttributeType>atString</AttributeType><IsIndexed>TRUE</IsIndexed><IsRequired>FALSE</IsRequired><Size>50</Size></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>Phones</Name><AttributeType>atParts</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><ObjectClassName>TPhone</ObjectClassName></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>Projects</Name><AttributeType>atReferences</AttributeType><ExternalStorageName>Contact_Projects</ExternalStorageName><StorageKind>skExternal</StorageKind><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><ObjectClassName>TProject</ObjectClassName></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>ExternalAddress</Name><AttributeType>atPart</AttributeType><StorageKind>skExternal</StorageKind><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><ObjectClassName>TExternalAddress</ObjectClassName></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>ExternalPhones</Name><AttributeType>atParts</AttributeType><ExternalStorageName>Contact_ExternalPhones</ExternalStorageName><StorageKind>skExternal</StorageKind><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><ObjectClassName>TExternalPhone</ObjectClassName></TInstantAttributeMetadata></TInstantAttributeMetadatas></AttributeMetadatas></TInstantClassMetadata><TInstantClassMetadata><Name>TContactFilter</Name><ParentName>TContact</ParentName><Persistence>peEmbedded</Persistence><AttributeMetadatas></AttributeMetadatas></TInstantClassMetadata><TInstantClassMetadata><Name>TPerson</Name><ParentName>TContact</ParentName><Persistence>peStored</Persistence><AttributeMetadatas><TInstantAttributeMetadatas><TInstantAttributeMetadata><Name>BirthDate</Name><AttributeType>atDateTime</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>Emails</Name><AttributeType>atParts</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><ObjectClassName>TEmail</ObjectClassName></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>Employer</Name><AttributeType>atReference</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><ObjectClassName>TCompany</ObjectClassName></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>Picture</Name><AttributeType>atBlob</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>Salary</Name><AttributeType>atCurrency</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><ValidCharsString>,.0..9\x82\xAC\xE2</ValidCharsString></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>Employed</Name><AttributeType>atBoolean</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>AL_hours</Name><AttributeType>atFloat</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>EmploymentDate</Name><AttributeType>atDate</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>BirthTime</Name><AttributeType>atTime</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired></TInstantAttributeMetadata></TInstantAttributeMetadatas></AttributeMetadatas></TInstantClassMetadata><TInstantClassMetadata><Name>TCompany</Name><ParentName>TContact</ParentName><Persistence>peStored</Persistence><AttributeMetadatas><TInstantAttributeMetadatas><TInstantAttributeMetadata><Name>Employees</Name><AttributeType>atReferences</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><ObjectClassName>TPerson</ObjectClassName></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>NoOfBranches</Name><AttributeType>atInteger</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>Subsidiaries</Name><AttributeType>atReferences</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><ObjectClassName>TCompany</ObjectClassName></TInstantAttributeMetadata></TInstantAttributeMetadatas></AttributeMetadatas></TInstantClassMetadata><TInstantClassMetadata><Name>TProject</Name><Persistence>peStored</Persistence><StorageName>Projects</StorageName><AttributeMetadatas><TInstantAttributeMetadatas><TInstantAttributeMetadata><Name>Name</Name><AttributeType>atString</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><Size>30</Size></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>SubProjects</Name><AttributeType>atParts</AttributeType><ExternalStorageName>Project_SubProjects</ExternalStorageName><StorageKind>skExternal</StorageKind><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><ObjectClassName>TProject</ObjectClassName></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>Addresses</Name><AttributeType>atParts</AttributeType><ExternalStorageName>Project_Addresses</ExternalStorageName><StorageKind>skExternal</StorageKind><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><ObjectClassName>TExternalAddress</ObjectClassName></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>Manager</Name><AttributeType>atReference</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><ObjectClassName>TContact</ObjectClassName></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>Participants</Name><AttributeType>atReferences</AttributeType><ExternalStorageName>Project_Participants</ExternalStorageName><StorageKind>skExternal</StorageKind><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><ObjectClassName>TContact</ObjectClassName></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>Items</Name><AttributeType>atPart</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><ObjectClassName>TProjectItems</ObjectClassName></TInstantAttributeMetadata></TInstantAttributeMetadatas></AttributeMetadatas></TInstantClassMetadata><TInstantClassMetadata><Name>TExternalAddress</Name><Persistence>peStored</Persistence><StorageName>ExternalAddresses</StorageName><AttributeMetadatas><TInstantAttributeMetadatas><TInstantAttributeMetadata><Name>Name</Name><AttributeType>atString</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><Size>30</Size></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>Category</Name><AttributeType>atReference</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><ObjectClassName>TCategory</ObjectClassName></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>Site_Contact</Name><AttributeType>atReference</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><ObjectClassName>TPerson</ObjectClassName></TInstantAttributeMetadata></TInstantAttributeMetadatas></AttributeMetadatas></TInstantClassMetadata><TInstantClassMetadata><Name>TExternalPhone</Name><Persistence>peStored</Persistence><StorageName>ExternalPhones</StorageName><AttributeMetadatas><TInstantAttributeMetadatas><TInstantAttributeMetadata><Name>Name</Name><AttributeType>atString</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><Size>20</Size></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>Number</Name><AttributeType>atString</AttributeType><EditMask>(000) 000-0000;0;_</EditMask><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><Size>20</Size></TInstantAttributeMetadata></TInstantAttributeMetadatas></AttributeMetadatas></TInstantClassMetadata><TInstantClassMetadata><Name>TProjectBox</Name><Persistence>peStored</Persistence><AttributeMetadatas><TInstantAttributeMetadatas><TInstantAttributeMetadata><Name>Project</Name><AttributeType>atPart</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><ObjectClassName>TProject</ObjectClassName></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>RelatedProjectBoxes</Name><AttributeType>atReferences</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><ObjectClassName>TProjectBox</ObjectClassName></TInstantAttributeMetadata></TInstantAttributeMetadatas></AttributeMetadatas></TInstantClassMetadata><TInstantClassMetadata><Name>TProjectItem</Name><Persistence>peStored</Persistence><AttributeMetadatas><TInstantAttributeMetadatas><TInstantAttributeMetadata><Name>Description</Name><AttributeType>atString</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><Size>50</Size></TInstantAttributeMetadata><TInstantAttributeMetadata><Name>Country</Name><AttributeType>atReference</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><ObjectClassName>TCountry</ObjectClassName></TInstantAttributeMetadata></TInstantAttributeMetadatas></AttributeMetadatas></TInstantClassMetadata><TInstantClassMetadata><Name>TProjectItems</Name><Persistence>peStored</Persistence><AttributeMetadatas><TInstantAttributeMetadatas><TInstantAttributeMetadata><Name>Items</Name><AttributeType>atParts</AttributeType><IsIndexed>FALSE</IsIndexed><IsRequired>FALSE</IsRequired><ObjectClassName>TProjectItem</ObjectClassName></TInstantAttributeMetadata></TInstantAttributeMetadatas></AttributeMetadatas></TInstantClassMetadata></TInstantClassMetadatas>
\ No newline at end of file
+<TInstantClassMetadatas>
+ <TInstantClassMetadata>
+ <Name>TAddress</Name>
+ <Persistence>peEmbedded</Persistence>
+ <AttributeMetadatas>
+ <TInstantAttributeMetadatas>
+ <TInstantAttributeMetadata>
+ <Name>City</Name>
+ <AttributeType>atString</AttributeType>
+ <IsIndexed>TRUE</IsIndexed>
+ <IsRequired>FALSE</IsRequired>
+ <Size>30</Size>
+ </TInstantAttributeMetadata>
+ <TInstantAttributeMetadata>
+ <Name>Country</Name>
+ <AttributeType>atReference</AttributeType>
+ <IsIndexed>FALSE</IsIndexed>
+ <IsRequired>FALSE</IsRequired>
+ <ObjectClassName>TCountry</ObjectClassName>
+ </TInstantAttributeMetadata>
+ <TInstantAttributeMetadata>
+ <Name>State</Name>
+ <AttributeType>atString</AttributeType>
+ <IsIndexed>FALSE</IsIndexed>
+ <IsRequired>FALSE</IsRequired>
+ <Size>4</Size>
+ </TInstantAttributeMetadata>
+ <TInstantAttributeMetadata>
+ <Name>Street</Name>
+ <AttributeType>atMemo</AttributeType>
+ <IsIndexed>FALSE</IsIndexed>
+ <IsRequired>FALSE</IsRequired>
+ </TInstantAttributeMetadata>
+ <TInstantAttributeMetadata>
+ <Name>Zip</Name>
+ <AttributeType>atString</AttributeType>
+ <IsIndexed>FALSE</IsIndexed>
+ <IsRequired>FALSE</IsRequired>
+ <Size>10</Size>
+ </TInstantAttributeMetadata>
+ </TInstantAttributeMetadatas>
+ </AttributeMetadatas>
+ </TInstantClassMetadata>
+ <TInstantClassMetadata>
+ <Name>TCountry</Name>
+ <Persistence>peStored</Persistence>
+ <AttributeMetadatas>
+ <TInstantAttributeMetadatas>
+ <TInstantAttributeMetadata>
+ <Name>Name</Name>
+ <AttributeType>atString</AttributeType>
+ <IsIndexed>FALSE</IsIndexed>
+ <IsRequired>FALSE</IsRequired>
+ <Size>30</Size>
+ </TInstantAttributeMetadata>
+ </TInstantAttributeMetadatas>
+ </AttributeMetadatas>
+ </TInstantClassMetadata>
+ <TInstantClassMetadata>
+ <Name>TPhone</Name>
+ <Persistence>peEmbedded</Persistence>
+ <AttributeMetadatas>
+ <TInstantAttributeMetadatas>
+ <TInstantAttributeMetadata>
+ <Name>Name</Name>
+ <AttributeType>atString</AttributeType>
+ <IsIndexed>FALSE</IsIndexed>
+ <IsRequired>FALSE</IsRequired>
+ <Size>20</Size>
+ </TInstantAttributeMetadata>
+ <TInstantAttributeMetadata>
+ <Name>Name</Name>
+ <AttributeType>atString</AttributeType>
+ <IsIndexed>FALSE</IsIndexed>
+ <IsRequired>FALSE</IsRequired>
+ <Size>30</Size>
+ </TInstantAttributeMetadata>
+ <TInstantAttributeMetadata>
+ <Name>Number</Name>
+ <AttributeType>atString</AttributeType>
+ <EditMask>(000) 000...
[truncated message content] |
|
From: <na...@us...> - 2009-08-16 17:00:02
|
Revision: 830
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=830&view=rev
Author: nandod
Date: 2009-08-16 16:59:53 +0000 (Sun, 16 Aug 2009)
Log Message:
-----------
+ New validation framework; initial implementation substitutes TInstantAttributeMatadata.ValidChars; can be extended. Tests added.
- Removed unused TChars support in filers. Limited use of TChars (ANSI-only) to where strictly necessary.
* Fixed: writing to a blob did not always correctly set IsChanged (historical error, probably).
* Fixed: ValidChars was not always correctly applied in blob fields (historical error, probably),
* Removed a few warnings on D2007/D2009.
Modified Paths:
--------------
trunk/Source/Brokers/ADO/InstantADOTools.pas
trunk/Source/Brokers/ADS/InstantADS.pas
trunk/Source/Core/D2007/IOCore.dpk
trunk/Source/Core/D2007/IOCore.dproj
trunk/Source/Core/D2009/IOCore.dpk
trunk/Source/Core/D2009/IOCore.dproj
trunk/Source/Core/D2009/IOCore.res
trunk/Source/Core/InstantClasses.pas
trunk/Source/Core/InstantCode.pas
trunk/Source/Core/InstantConsts.pas
trunk/Source/Core/InstantMetadata.pas
trunk/Source/Core/InstantPersistence.pas
trunk/Source/Core/InstantPresentation.pas
trunk/Source/Core/InstantUtils.pas
trunk/Source/Design/InstantModelExpert.pas
trunk/Source/Design/InstantModelImport.pas
trunk/Tests/TestIO.dproj
trunk/Tests/TestIO_D2009.mdr
trunk/Tests/TestIO_D2009.mdrt
trunk/Tests/TestIO_D2009.mdx
trunk/Tests/TestIO_D2009.mdxt
trunk/Tests/TestInstantAttributeMetadata.pas
trunk/Tests/TestInstantBlob.pas
trunk/Tests/TestInstantParts.pas
trunk/Tests/TestInstantReferences.pas
trunk/Tests/TestModel.pas
trunk/Tests/ubmock/src/fpcunit.pas
Added Paths:
-----------
trunk/Source/Core/InstantStandardValidators.pas
trunk/Source/Core/InstantValidation.pas
Property Changed:
----------------
trunk/Source/Brokers/ADO/
trunk/Source/Brokers/ADS/
trunk/Source/Core/D2009/
trunk/Tests/ubmock/src/
Property changes on: trunk/Source/Brokers/ADO
___________________________________________________________________
Modified: svn:ignore
- *.dcu
*.~pas
*.~dfm
+ *.dcu
*.~pas
*.~dfm
__history
Modified: trunk/Source/Brokers/ADO/InstantADOTools.pas
===================================================================
--- trunk/Source/Brokers/ADO/InstantADOTools.pas 2009-08-16 06:01:49 UTC (rev 829)
+++ trunk/Source/Brokers/ADO/InstantADOTools.pas 2009-08-16 16:59:53 UTC (rev 830)
@@ -32,7 +32,7 @@
interface
uses
- ADODB, InstantADOJRO, SysUtils;
+ ADODB, InstantADOJRO;
type
TInstantADOSyncType = (stSend, stReceive, stSendReceive);
@@ -51,6 +51,9 @@
implementation
+uses
+ Windows, SysUtils;
+
const
SMSJetProvider = 'Microsoft.Jet.OLEDB.4.0';
Property changes on: trunk/Source/Brokers/ADS
___________________________________________________________________
Added: svn:ignore
+ __history
Modified: trunk/Source/Brokers/ADS/InstantADS.pas
===================================================================
--- trunk/Source/Brokers/ADS/InstantADS.pas 2009-08-16 06:01:49 UTC (rev 829)
+++ trunk/Source/Brokers/ADS/InstantADS.pas 2009-08-16 16:59:53 UTC (rev 830)
@@ -178,13 +178,13 @@
function TInstantADSConnectionDef.GetDatabaseName: string;
const
- ValidChars = ['a'..'z', 'A'..'Z', '0'..'9', '_'];
+ LValidChars = ['a'..'z', 'A'..'Z', '0'..'9', '_'];
var
I: Integer;
begin
Result := Name;
for I := 1 to Length(Result) do
- if not (Result[I] in ValidChars) then
+ if not (Result[I] in LValidChars) then
Result[I] := '_';
end;
Modified: trunk/Source/Core/D2007/IOCore.dpk
===================================================================
--- trunk/Source/Core/D2007/IOCore.dpk 2009-08-16 06:01:49 UTC (rev 829)
+++ trunk/Source/Core/D2007/IOCore.dpk 2009-08-16 16:59:53 UTC (rev 830)
@@ -56,6 +56,8 @@
InstantDBBuilderFormUnit in '..\InstantDBBuilderFormUnit.pas' {InstantDBBuilderForm},
InstantTypes in '..\InstantTypes.pas',
InstantBrokers in '..\InstantBrokers.pas',
- InstantMetadata in '..\InstantMetadata.pas';
+ InstantMetadata in '..\InstantMetadata.pas',
+ InstantStandardValidators in '..\InstantStandardValidators.pas',
+ InstantValidation in '..\InstantValidation.pas';
end.
Modified: trunk/Source/Core/D2007/IOCore.dproj
===================================================================
--- trunk/Source/Core/D2007/IOCore.dproj 2009-08-16 06:01:49 UTC (rev 829)
+++ trunk/Source/Core/D2007/IOCore.dproj 2009-08-16 16:59:53 UTC (rev 830)
@@ -6,7 +6,7 @@
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
- <DCC_DependencyCheckOutputName>..\..\..\..\..\..\..\Documents\RAD Studio\5.0\Bpl\IOCore_D11.bpl</DCC_DependencyCheckOutputName>
+ <DCC_DependencyCheckOutputName>C:\Users\nandod\Documents\RAD Studio\5.0\Bpl\IOCore_D11.bpl</DCC_DependencyCheckOutputName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Version>7.0</Version>
@@ -24,17 +24,16 @@
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject>
-<BorlandProject><Delphi.Personality><Compiler><Compiler Name="UsePackages">False</Compiler><Compiler Name="Packages"></Compiler></Compiler><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="PackageDescription">InstantObjects Run-Time Package (Delphi 2007)</Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">True</Package_Options><Package_Options Name="LibSuffix">_D11</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">1</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">1040</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName">www.instantobjects.org</VersionInfoKeys><VersionInfoKeys Name="FileDescription">InstantObjects</VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.1.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">InstantObjects</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.1.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">IOCore.dpk</Source></Source>
- </Delphi.Personality></BorlandProject></BorlandProject>
+<BorlandProject><Delphi.Personality><Compiler><Compiler Name="UsePackages">False</Compiler><Compiler Name="Packages"></Compiler></Compiler><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="PackageDescription">InstantObjects Run-Time Package (Delphi 2007)</Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">True</Package_Options><Package_Options Name="LibSuffix">_D11</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">1</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">1040</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName">www.instantobjects.org</VersionInfoKeys><VersionInfoKeys Name="FileDescription">InstantObjects</VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.1.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">InstantObjects</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.1.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">IOCore.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
<DelphiCompile Include="IOCore.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
- <DCCReference Include="..\..\PackageGroups\D2007\rtl.dcp" />
- <DCCReference Include="..\..\PackageGroups\D2007\vcl.dcp" />
- <DCCReference Include="..\..\PackageGroups\D2007\vcldb.dcp" />
+ <DCCReference Include="..\..\..\Tests\rtl.dcp" />
+ <DCCReference Include="..\..\..\Tests\vcl.dcp" />
+ <DCCReference Include="..\..\..\Tests\vcldb.dcp" />
<DCCReference Include="..\InstantAccessors.pas" />
<DCCReference Include="..\InstantBrokers.pas" />
<DCCReference Include="..\InstantClasses.pas" />
@@ -64,8 +63,10 @@
<DCCReference Include="..\InstantPresentation.pas" />
<DCCReference Include="..\InstantPump.pas" />
<DCCReference Include="..\InstantRtti.pas" />
+ <DCCReference Include="..\InstantStandardValidators.pas" />
<DCCReference Include="..\InstantTextFiler.pas" />
<DCCReference Include="..\InstantTypes.pas" />
<DCCReference Include="..\InstantUtils.pas" />
+ <DCCReference Include="..\InstantValidation.pas" />
</ItemGroup>
</Project>
\ No newline at end of file
Property changes on: trunk/Source/Core/D2009
___________________________________________________________________
Modified: svn:ignore
- *.dcu
*.local
*.identcache
+ *.dcu
*.local
*.identcache
__history
Modified: trunk/Source/Core/D2009/IOCore.dpk
===================================================================
--- trunk/Source/Core/D2009/IOCore.dpk 2009-08-16 06:01:49 UTC (rev 829)
+++ trunk/Source/Core/D2009/IOCore.dpk 2009-08-16 16:59:53 UTC (rev 830)
@@ -56,6 +56,8 @@
InstantDBBuilderFormUnit in '..\InstantDBBuilderFormUnit.pas' {InstantDBBuilderForm},
InstantTypes in '..\InstantTypes.pas',
InstantBrokers in '..\InstantBrokers.pas',
- InstantMetadata in '..\InstantMetadata.pas';
+ InstantMetadata in '..\InstantMetadata.pas',
+ InstantStandardValidators in '..\InstantStandardValidators.pas',
+ InstantValidation in '..\InstantValidation.pas';
end.
Modified: trunk/Source/Core/D2009/IOCore.dproj
===================================================================
--- trunk/Source/Core/D2009/IOCore.dproj 2009-08-16 06:01:49 UTC (rev 829)
+++ trunk/Source/Core/D2009/IOCore.dproj 2009-08-16 16:59:53 UTC (rev 830)
@@ -86,6 +86,8 @@
<DCCReference Include="..\InstantTypes.pas"/>
<DCCReference Include="..\InstantBrokers.pas"/>
<DCCReference Include="..\InstantMetadata.pas"/>
+ <DCCReference Include="..\InstantStandardValidators.pas"/>
+ <DCCReference Include="..\InstantValidation.pas"/>
<BuildConfiguration Include="Base">
<Key>Base</Key>
</BuildConfiguration>
Modified: trunk/Source/Core/D2009/IOCore.res
===================================================================
(Binary files differ)
Modified: trunk/Source/Core/InstantClasses.pas
===================================================================
--- trunk/Source/Core/InstantClasses.pas 2009-08-16 06:01:49 UTC (rev 829)
+++ trunk/Source/Core/InstantClasses.pas 2009-08-16 16:59:53 UTC (rev 830)
@@ -50,11 +50,7 @@
InstantBufferSize = 4096;
type
-{$IFDEF D12+}
- TChars = set of AnsiChar; // Avoid WideChar reduced to byte warning
-{$ELSE}
- TChars = set of Char;
-{$ENDIF}
+ TChars = set of AnsiChar;
{$IFDEF LINUX}
TDate = type TDateTime;
@@ -179,7 +175,6 @@
public
constructor Create(Stream: TStream; BufSize: Integer = InstantBufferSize);
procedure ReadBinary(ReadData: TStreamProc);
- function ReadCharSet: TChars;
function ReadObject(AObject: TPersistent = nil;
Arg: Pointer = nil): TPersistent; virtual;
procedure ReadProperties(AObject: TPersistent);
@@ -195,7 +190,6 @@
public
constructor Create(Stream: TStream; BufSize: Integer = InstantBufferSize);
procedure WriteBinary(WriteData: TStreamProc);
- procedure WriteCharSet(CharSet: TChars);
procedure WriteObject(AObject: TPersistent); virtual;
procedure WriteProperties(AObject: TPersistent);
{$IFNDEF UNICODE}
@@ -976,11 +970,6 @@
end;
end;
-function TInstantReader.ReadCharSet: TChars;
-begin
- Result := InstantStrToCharSet(ReadStr);
-end;
-
function TInstantReader.ReadObject(AObject: TPersistent;
Arg: Pointer): TPersistent;
@@ -1068,11 +1057,6 @@
inherited WriteBinary(WriteData);
end;
-procedure TInstantWriter.WriteCharSet(CharSet: TChars);
-begin
- WriteStr(InstantCharSetToStr(CharSet));
-end;
-
procedure TInstantWriter.WriteObject(AObject: TPersistent);
begin
WriteUTF8Str(AObject.ClassName);
Modified: trunk/Source/Core/InstantCode.pas
===================================================================
--- trunk/Source/Core/InstantCode.pas 2009-08-16 06:01:49 UTC (rev 829)
+++ trunk/Source/Core/InstantCode.pas 2009-08-16 16:59:53 UTC (rev 830)
@@ -871,12 +871,12 @@
function GetSubClass(Index: Integer): TInstantCodeClass;
function GetSubClassCount: Integer;
function GetSubClassList: TList;
- function GetUnitName: string;
+ function GetPascalUnitName: string;
procedure SetBaseClass(const Value: TInstantCodeClass);
procedure SetBaseClassName(const Value: string);
procedure SetPersistence(const Value: TInstantPersistence);
procedure SetStorageName(const Value: string);
- procedure SetUnitName(const Value: string);
+ procedure SetPascalUnitName(const Value: string);
procedure RemoveDivision(Division: TInstantCodeDivision);
procedure SetSubClass(Index: Integer; const Value: TInstantCodeClass);
protected
@@ -959,7 +959,7 @@
property BaseClassName: string read GetBaseClassName write SetBaseClassName;
property Persistence: TInstantPersistence read GetPersistence write SetPersistence;
property StorageName: string read GetStorageName write SetStorageName;
- property UnitName: string read GetUnitName write SetUnitName;
+ property PascalUnitName: string read GetPascalUnitName write SetPascalUnitName;
end;
TInstantCodeClassList = class(TList)
@@ -1258,7 +1258,7 @@
function GetProgramSection: TInstantCodeProgramSection;
function GetTypeCount: Integer;
function GetTypes(Index: Integer): TInstantCodeType;
- function GetUnitName: string;
+ function GetPascalUnitName: string;
procedure SetModuleTypeName(const Value: string);
protected
function GetModule: TInstantCodeModule; override;
@@ -1291,7 +1291,7 @@
property TypeCount: Integer read GetTypeCount;
property Types[Index: Integer]: TInstantCodeType read GetTypes;
published
- property UnitName: string read GetUnitName;
+ property PascalUnitName: string read GetPascalUnitName;
end;
TInstantCodeProject = class(TInstantCodeObject)
@@ -5251,9 +5251,9 @@
Result := FSubClassList;
end;
-function TInstantCodeClass.GetUnitName: string;
+function TInstantCodeClass.GetPascalUnitName: string;
begin
- Result := Module.UnitName;
+ Result := Module.PascalUnitName;
end;
class function TInstantCodeClass.Identifier: string;
@@ -5439,7 +5439,7 @@
SubClassList[Index] := Value;
end;
-procedure TInstantCodeClass.SetUnitName(const Value: string);
+procedure TInstantCodeClass.SetPascalUnitName(const Value: string);
var
NewModule: TInstantCodeModule;
begin
@@ -6986,7 +6986,7 @@
Result := TInstantCodeType(FTypes[Index]);
end;
-function TInstantCodeModule.GetUnitName: string;
+function TInstantCodeModule.GetPascalUnitName: string;
begin
Result := ChangeFileExt(ExtractFileName(Name), '');
end;
@@ -7006,7 +7006,7 @@
procedure TInstantCodeModule.InternalWrite(Writer: TInstantCodeWriter);
begin
- Writer.WriteLnFmt('%s %s;', [ModuleTypeName, UnitName]);
+ Writer.WriteLnFmt('%s %s;', [ModuleTypeName, PascalUnitName]);
Writer.WriteLn;
InterfaceSection.Write(Writer);
ImplementationSection.Write(Writer);
Modified: trunk/Source/Core/InstantConsts.pas
===================================================================
--- trunk/Source/Core/InstantConsts.pas 2009-08-16 06:01:49 UTC (rev 829)
+++ trunk/Source/Core/InstantConsts.pas 2009-08-16 16:59:53 UTC (rev 830)
@@ -132,7 +132,7 @@
SInitializationFailed = 'Initialization failed for object of class %s: "%s"';
SInvalidArgument = 'Invalid argument for object of class %s. Expected argument of class %s';
SInvalidAttributeValue = 'Invalid value "%s" for attribute %s(''%s'')';
- SInvalidChar = 'Invalid character ''%s'' (#%d) for attribute %s(''%s'')';
+ SInvalidChar = 'Invalid character ''%s'' (#%d). Valid characters are ''%s''';
SInvalidClass = 'Invalid class %s. Expected %s';
SInvalidConnector = 'Invalid connector for object %s(''%s'') in attribute %s(''%s'')';
SInvalidDataType = 'Invalid data type';
Modified: trunk/Source/Core/InstantMetadata.pas
===================================================================
--- trunk/Source/Core/InstantMetadata.pas 2009-08-16 06:01:49 UTC (rev 829)
+++ trunk/Source/Core/InstantMetadata.pas 2009-08-16 16:59:53 UTC (rev 830)
@@ -40,7 +40,8 @@
interface
-uses Classes, Contnrs, Db, InstantClasses, InstantTypes, InstantConsts;
+uses
+ Classes, Contnrs, Db, InstantClasses, InstantTypes, InstantConsts;
type
TInstantAttributeMap = class;
@@ -430,6 +431,33 @@
write SetItems; default;
end;
+ TInstantValidator = class
+ private
+ FMetadata: TInstantAttributeMetadata;
+ public
+ // A reference to the metadata. Should be set by CreateValidator on
+ // the created instance.
+ property Metadata: TInstantAttributeMetadata read FMetadata write FMetadata;
+ // Creates and returns a validator instance suitable for the specified
+ // metadata, or nil if the class doesn't apply to the metadata.
+ { TODO : extend this to support class-level validation? }
+ class function CreateValidator(const AMetadata: TInstantAttributeMetadata):
+ TInstantValidator; virtual;
+ // Should check the value against the validation settings
+ // that are specific for each derived class, and return
+ // True if the value is valid for the attribute.
+ // Otherwise, this method should return False and set an appropriate
+ // error message in AValidationErrorText.
+ // When this method is called, AAttribute is guaranteed to be assigned.
+ function IsValid(const AAttribute: TInstantAbstractAttribute;
+ const AValue: string; out AValidationErrorText: string): Boolean; virtual; abstract;
+ // Raises an exception if the proposed value is not valid for
+ // the attribute.
+ procedure Validate(const AAttribute: TInstantAbstractAttribute; const AValue: string);
+ end;
+
+ TInstantValidatorClass = class of TInstantValidator;
+
TInstantAttributeMetadata = class(TInstantMetadata)
private
FAttributeType: TInstantAttributeType;
@@ -442,9 +470,10 @@
FObjectClassName: string;
FSize: Integer;
FStorageName: string;
- FValidChars: TChars;
+ FValidCharsString: string;
FStorageKind: TInstantStorageKind;
FExternalStorageName: string;
+ FValidator: TInstantValidator;
function GetAttributeClass: TInstantAbstractAttributeClass;
function GetAttributeClassName: string;
function GetAttributeTypeName: string;
@@ -458,7 +487,6 @@
function GetObjectClass: TInstantAbstractObjectClass;
function GetObjectClassMetadata: TInstantClassMetadata;
function GetTableName: string;
- function GetValidChars: TChars;
function GetValidCharsString: string;
procedure SetAttributeClass(const AClass: TInstantAbstractAttributeClass);
procedure SetAttributeClassName(const Value: string);
@@ -466,15 +494,22 @@
procedure SetCollection(Value: TInstantAttributeMetadatas);
procedure SetFieldName(const Value: string);
procedure SetIsDefault(const Value: Boolean);
- procedure SetValidCharsString(const Value: string);
+ procedure SetValidCharsString(const AValue: string);
+ function GetValidator: TInstantValidator;
+ // Should be called whenever a validation-related property,
+ // such as ValidCharsString, changes.
+ procedure FreeValidator;
+ protected
+ property Validator: TInstantValidator read GetValidator;
public
- function CreateAttribute(AObject: TInstantAbstractObject):
- TInstantAbstractAttribute;
+ function CreateAttribute(
+ AObject: TInstantAbstractObject): TInstantAbstractAttribute;
procedure Assign(Source: TPersistent); override;
procedure CheckAttributeClass(AClass: TInstantAbstractAttributeClass);
procedure CheckCategory(ACategory: TInstantAttributeCategory);
procedure CheckIsIndexed;
function IsAttributeClass(AClass: TInstantAbstractAttributeClass): Boolean;
+ destructor Destroy; override;
property AttributeClass: TInstantAbstractAttributeClass
read GetAttributeClass write SetAttributeClass;
property AttributeClassName: string read GetAttributeClassName
@@ -490,7 +525,8 @@
property FieldName: string read GetFieldName write SetFieldName;
property HasValidChars: Boolean read GetHasValidChars;
property TableName: string read GetTableName;
- property ValidChars: TChars read GetValidChars write FValidChars;
+ procedure ValidateAttribute(const AAttribute: TInstantAbstractAttribute;
+ const AValue: string);
published
property AttributeType: TInstantAttributeType read FAttributeType
write FAttributeType default atUnknown;
@@ -535,7 +571,9 @@
implementation
-uses SysUtils, TypInfo, InstantPersistence, InstantUtils;
+uses
+ SysUtils, TypInfo, InstantPersistence, InstantUtils, InstantValidation,
+ InstantStandardValidators {registers the standard validators - do not remove};
const
AttributeClasses: array[TInstantAttributeType] of TInstantAttributeClass = (
@@ -1655,7 +1693,7 @@
Self.FStorageName := FStorageName;
Self.FStorageKind := FStorageKind;
Self.FExternalStorageName := FExternalStorageName;
- Self.FValidChars := FValidChars;
+ Self.FValidCharsString := FValidCharsString;
end;
end;
@@ -1700,6 +1738,17 @@
Result := AClass.Create(TInstantObject(AObject), Self);
end;
+destructor TInstantAttributeMetadata.Destroy;
+begin
+ FreeAndNil(FValidator);
+ inherited;
+end;
+
+procedure TInstantAttributeMetadata.FreeValidator;
+begin
+ FreeAndNil(FValidator);
+end;
+
function TInstantAttributeMetadata.GetAttributeClass:
TInstantAbstractAttributeClass;
begin
@@ -1766,7 +1815,7 @@
function TInstantAttributeMetadata.GetHasValidChars: Boolean;
begin
- Result := FValidChars <> [];
+ Result := FValidCharsString <> '';
end;
function TInstantAttributeMetadata.GetIsDefault: Boolean;
@@ -1798,14 +1847,16 @@
Result := '';
end;
-function TInstantAttributeMetadata.GetValidChars: TChars;
+function TInstantAttributeMetadata.GetValidator: TInstantValidator;
begin
- Result := FValidChars;
+ if not Assigned(FValidator) then
+ FValidator := InstantValidatorFactory.CreateValidator(Self);
+ Result := FValidator;
end;
function TInstantAttributeMetadata.GetValidCharsString: string;
begin
- Result := InstantCharSetToStr(FValidChars);
+ Result := FValidCharsString;
end;
function TInstantAttributeMetadata.IsAttributeClass(AClass:
@@ -1883,11 +1934,21 @@
end;
end;
-procedure TInstantAttributeMetadata.SetValidCharsString(const Value: string);
+procedure TInstantAttributeMetadata.SetValidCharsString(const AValue: string);
begin
- FValidChars := InstantStrToCharSet(Value);
+ if AValue <> FValidCharsString then
+ begin
+ FreeValidator;
+ FValidCharsString := AValue;
+ end;
end;
+procedure TInstantAttributeMetadata.ValidateAttribute(
+ const AAttribute: TInstantAbstractAttribute; const AValue: string);
+begin
+ Validator.Validate(AAttribute, AValue);
+end;
+
constructor TInstantAttributeMetadatas.Create(AOwner: TInstantClassMetadata);
begin
inherited Create(AOwner, TInstantAttributeMetadata);
@@ -1942,5 +2003,23 @@
inherited Items[Index] := Value;
end;
+{ TInstantValidator }
+
+class function TInstantValidator.CreateValidator(
+ const AMetadata: TInstantAttributeMetadata): TInstantValidator;
+begin
+ Result := Create;
+ Result.Metadata := AMetadata;
+end;
+
+procedure TInstantValidator.Validate(
+ const AAttribute: TInstantAbstractAttribute; const AValue: string);
+var
+ LValidationErrorText: string;
+begin
+ if not IsValid(AAttribute, AValue, LValidationErrorText) then
+ raise EInstantValidationError.Create(LValidationErrorText);
+end;
+
end.
Modified: trunk/Source/Core/InstantPersistence.pas
===================================================================
--- trunk/Source/Core/InstantPersistence.pas 2009-08-16 06:01:49 UTC (rev 829)
+++ trunk/Source/Core/InstantPersistence.pas 2009-08-16 16:59:53 UTC (rev 830)
@@ -196,8 +196,8 @@
procedure SetAsVariant(AValue: Variant); virtual;
procedure SetIsChanged(Value: Boolean);
procedure SetOwner(AOwner: TInstantObject); virtual;
- procedure StringValidationError(InvalidChar: Char);
procedure WriteName(Writer: TInstantWriter);
+ procedure Validate(const AValue: string); virtual;
public
constructor Create(AOwner: TInstantAbstractObject = nil; AMetadata:
TInstantCollectionItem = nil); override;
@@ -1613,23 +1613,6 @@
ObjectNotifiers: TInstantObjectNotifiers;
DefaultConnector: TInstantConnector;
-{ Local Routines }
-
-function ValidateChars(Buffer: PChar; BufferLength: Integer;
- ValidChars: TChars; var InvalidChar: Char): Boolean;
-var
- I: Integer;
-begin
- Result := True;
- for I := 0 to Pred(BufferLength div SizeOf(Char)) do
- if (ValidChars <> []) and not (InstantCharInSet(Buffer[I], ValidChars + [#8, #10, #13])) then
- begin
- Result := False;
- InvalidChar := Buffer[I];
- Break;
- end;
-end;
-
{ Global routines }
procedure AssignInstantStreamFormat(Strings: TStrings);
@@ -2537,15 +2520,15 @@
AsVariant := AValue;
end;
-procedure TInstantAttribute.StringValidationError(InvalidChar: Char);
+procedure TInstantAttribute.Unchanged;
begin
- raise EInstantValidationError.CreateFmt(SInvalidChar,
- [InvalidChar, Ord(InvalidChar), ClassName, Name]);
+ IsChanged := False;
end;
-procedure TInstantAttribute.Unchanged;
+procedure TInstantAttribute.Validate(const AValue: string);
begin
- IsChanged := False;
+ if Assigned(Metadata) then
+ Metadata.ValidateAttribute(Self, AValue);
end;
procedure TInstantAttribute.WriteName(Writer: TInstantWriter);
@@ -3257,12 +3240,8 @@
end;
procedure TInstantString.SetValue(const AValue: string);
-var
- InvalidChar: Char;
begin
- if Assigned(Metadata) and not ValidateChars(PChar(AValue), Length(AValue),
- Metadata.ValidChars, InvalidChar) then
- StringValidationError(InvalidChar);
+ Validate(AValue);
if AValue <> FValue then
begin
FValue:= AValue;
@@ -3590,16 +3569,18 @@
function TInstantBlob.Write(const Buffer; Position, Count: Integer): Integer;
var
- C: Char;
+ LValue: AnsiString;
+ LBufferPointer: {$IFDEF D12+}PByte{$ELSE}PChar{$ENDIF};
function CompareBuffers: Boolean;
var
I: Integer;
+ B: {$IFDEF D12+}Byte{$ELSE}Char{$ENDIF};
begin
Stream.Position := Position;
- for I := 0 to Pred(Count) do
+ for I := Position to Pred(Position + Count) do
begin
- Result := (Stream.Read(C, 1) = 1) and (C = PChar(@Buffer)[I]);
+ Result := (Stream.Read(B, 1) = 1) and (B = {$IFDEF D12+}PByte{$ELSE}PChar{$ENDIF}(@Buffer)[I]);
if not Result then
Exit;
end;
@@ -3607,13 +3588,17 @@
end;
begin
- if not ValidateChars(PChar(@Buffer), Count, Metadata.ValidChars, C) then
- StringValidationError(C);
+ SetLength(LValue, Count);
+ LBufferPointer := @Buffer;
+ Inc(LBufferPointer, Position);
+ StrLCopy(PAnsiChar(LValue), PAnsiChar(LBufferPointer), Count);
+ Validate(string(LValue));
if not CompareBuffers then
begin
Stream.Position := Position;
Result := Stream.Write(Buffer, Count);
- end else
+ end
+ else
Result := 0;
end;
Modified: trunk/Source/Core/InstantPresentation.pas
===================================================================
--- trunk/Source/Core/InstantPresentation.pas 2009-08-16 06:01:49 UTC (rev 829)
+++ trunk/Source/Core/InstantPresentation.pas 2009-08-16 16:59:53 UTC (rev 830)
@@ -3654,6 +3654,32 @@
Field: TField);
var
Metadata: TInstantAttributeMetadata;
+
+ function InstantStrToCharSet(const Str: AnsiString): TFieldChars;
+ const
+ Dots: array[0..1] of Char = '..';
+ var
+ I, J: Integer;
+ begin
+ Result := [];
+ I := 1;
+ while I <= Length(Str) do
+ begin
+ if CompareMem(@Str[I], @Dots, Length(Dots)) and
...
[truncated message content] |
|
From: <bvs...@us...> - 2009-08-20 12:06:25
|
Revision: 856
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=856&view=rev
Author: bvsimmons
Date: 2009-08-20 12:06:18 +0000 (Thu, 20 Aug 2009)
Log Message:
-----------
Minor updates for D7 and D2007 and others
D2007 - removed references to Zeos Broker from RunTime Packages
D7 - Added missing path to ..\Source\Catalogs for PrimerCross to PrimerCross.
- Added missing .res file for MySQL Catalog
Tests - Added path to ..\Source\Brokers\XML
Modified Paths:
--------------
trunk/Demos/PrimerCross/PrimerExternal.dof
trunk/Demos/PrimerCross/PrimerExternal.xml
trunk/Source/PackageGroups/D2007/RunTimePackages.groupproj
trunk/Tests/TestIO.cfg
trunk/Tests/TestIO.dof
Added Paths:
-----------
trunk/Source/Catalogs/MySQL/D7/IOMySQLCatalog.res
Modified: trunk/Demos/PrimerCross/PrimerExternal.dof
===================================================================
--- trunk/Demos/PrimerCross/PrimerExternal.dof 2009-08-20 09:27:11 UTC (rev 855)
+++ trunk/Demos/PrimerCross/PrimerExternal.dof 2009-08-20 12:06:18 UTC (rev 856)
@@ -94,7 +94,7 @@
UnitOutputDir=
PackageDLLOutputDir=
PackageDCPOutputDir=
-SearchPath=$(DELPHI)\Lib\Debug;..\..\Source\Core;..\..\Source\Brokers\DBX;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Brokers\UIB;..\..\Source\Brokers\ZeosDBO;..\..\Source\Catalogs\BDE;..\..\Source\Catalogs\MsSql;..\..\Source\Catalogs\IbFb;..\..\Source\Catalogs\XML
+SearchPath=$(DELPHI)\Lib\Debug;..\..\Source\Core;..\..\Source\Brokers\DBX;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Brokers\UIB;..\..\Source\Brokers\ZeosDBO;..\..\Source\Catalogs\BDE;..\..\Source\Catalogs\MsSql;..\..\Source\Catalogs\IbFb;..\..\Source\Catalogs\MySQL;..\..\Source\Catalogs\XML
Packages=
Conditionals=
DebugSourceDirs=
Modified: trunk/Demos/PrimerCross/PrimerExternal.xml
===================================================================
--- trunk/Demos/PrimerCross/PrimerExternal.xml 2009-08-20 09:27:11 UTC (rev 855)
+++ trunk/Demos/PrimerCross/PrimerExternal.xml 2009-08-20 12:06:18 UTC (rev 856)
@@ -1,2 +1,2 @@
<TInstantConnectionDefs><TInstantIBXConnectionDef><Name>FirebirdDBExternal</Name><IsBuilt>TRUE</IsBuilt><LoginPrompt>FALSE</LoginPrompt><ConnectionString>.\FirebirdDB\PRIMERDB.FDB</ConnectionString><Options>ibxUseDelimitedIdents</Options><Params>User_Name=SYSDBA
-Password=masterkey</Params></TInstantIBXConnectionDef><TInstantXMLConnectionDef><Name>XMLDB</Name><IsBuilt>TRUE</IsBuilt><RootFolder>W:\Projects\instantobjects\Demos\PrimerCross\XMLDB</RootFolder></TInstantXMLConnectionDef></TInstantConnectionDefs>
\ No newline at end of file
+Password=masterkey</Params></TInstantIBXConnectionDef><TInstantXMLConnectionDef><Name>XMLDB</Name><IsBuilt>TRUE</IsBuilt><RootFolder>.\XMLDB\</RootFolder></TInstantXMLConnectionDef></TInstantConnectionDefs>
\ No newline at end of file
Added: trunk/Source/Catalogs/MySQL/D7/IOMySQLCatalog.res
===================================================================
(Binary files differ)
Property changes on: trunk/Source/Catalogs/MySQL/D7/IOMySQLCatalog.res
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/Source/PackageGroups/D2007/RunTimePackages.groupproj
===================================================================
--- trunk/Source/PackageGroups/D2007/RunTimePackages.groupproj 2009-08-20 09:27:11 UTC (rev 855)
+++ trunk/Source/PackageGroups/D2007/RunTimePackages.groupproj 2009-08-20 12:06:18 UTC (rev 856)
@@ -91,22 +91,13 @@
<Target Name="IOXML:Make">
<MSBuild Projects="..\..\Brokers\XML\D2007\IOXML.dproj" Targets="Make" />
</Target>
- <Target Name="IOZeosDBO">
- <MSBuild Projects="..\..\Brokers\ZeosDBO\D2007\IOZeosDBO.dproj" Targets="" />
- </Target>
- <Target Name="IOZeosDBO:Clean">
- <MSBuild Projects="..\..\Brokers\ZeosDBO\D2007\IOZeosDBO.dproj" Targets="Clean" />
- </Target>
- <Target Name="IOZeosDBO:Make">
- <MSBuild Projects="..\..\Brokers\ZeosDBO\D2007\IOZeosDBO.dproj" Targets="Make" />
- </Target>
<Target Name="Build">
- <CallTarget Targets="IOCore;IOIBFbCatalog;IOMSSqlCatalog;IOMySQLCatalog;IOADO;IOBDE;IODBX;IOIBX;IOXML;IOZeosDBO" />
+ <CallTarget Targets="IOCore;IOIBFbCatalog;IOMSSqlCatalog;IOMySQLCatalog;IOADO;IOBDE;IODBX;IOIBX;IOXML" />
</Target>
<Target Name="Clean">
- <CallTarget Targets="IOCore:Clean;IOIBFbCatalog:Clean;IOMSSqlCatalog:Clean;IOMySQLCatalog:Clean;IOADO:Clean;IOBDE:Clean;IODBX:Clean;IOIBX:Clean;IOXML:Clean;IOZeosDBO:Clean" />
+ <CallTarget Targets="IOCore:Clean;IOIBFbCatalog:Clean;IOMSSqlCatalog:Clean;IOMySQLCatalog:Clean;IOADO:Clean;IOBDE:Clean;IODBX:Clean;IOIBX:Clean;IOXML:Clean" />
</Target>
<Target Name="Make">
- <CallTarget Targets="IOCore:Make;IOIBFbCatalog:Make;IOMSSqlCatalog:Make;IOMySQLCatalog:Make;IOADO:Make;IOBDE:Make;IODBX:Make;IOIBX:Make;IOXML:Make;IOZeosDBO:Make" />
+ <CallTarget Targets="IOCore:Make;IOIBFbCatalog:Make;IOMSSqlCatalog:Make;IOMySQLCatalog:Make;IOADO:Make;IOBDE:Make;IODBX:Make;IOIBX:Make;IOXML:Make" />
</Target>
</Project>
\ No newline at end of file
Modified: trunk/Tests/TestIO.cfg
===================================================================
--- trunk/Tests/TestIO.cfg 2009-08-20 09:27:11 UTC (rev 855)
+++ trunk/Tests/TestIO.cfg 2009-08-20 12:06:18 UTC (rev 856)
@@ -33,10 +33,10 @@
-K$00400000
-LE"c:\program files\borland\delphi7\Projects\Bpl"
-LN"c:\program files\borland\delphi7\Projects\Bpl"
--U"..\Source\core;.\ubmock\src"
--O"..\Source\core;.\ubmock\src"
--I"..\Source\core;.\ubmock\src"
--R"..\Source\core;.\ubmock\src"
+-U"..\Source\core;.\ubmock\src;..\Source\Brokers\XML"
+-O"..\Source\core;.\ubmock\src;..\Source\Brokers\XML"
+-I"..\Source\core;.\ubmock\src;..\Source\Brokers\XML"
+-R"..\Source\core;.\ubmock\src;..\Source\Brokers\XML"
-w-UNSAFE_TYPE
-w-UNSAFE_CODE
-w-UNSAFE_CAST
Modified: trunk/Tests/TestIO.dof
===================================================================
--- trunk/Tests/TestIO.dof 2009-08-20 09:27:11 UTC (rev 855)
+++ trunk/Tests/TestIO.dof 2009-08-20 12:06:18 UTC (rev 856)
@@ -94,7 +94,7 @@
UnitOutputDir=
PackageDLLOutputDir=
PackageDCPOutputDir=
-SearchPath=..\Source\core;.\ubmock\src
+SearchPath=..\Source\core;.\ubmock\src;..\Source\Brokers\XML
Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;adortl;vclactnband;vclshlctrls;CS30Logging70;Rz30Ctls70;Rz30DBCtls70;ip4000v7;Rave60VCL;Rave60CLX;madBasic_;madDisAsm_;CLXIB;ibxpress;VCLIB;IOCore;IOIBX
Conditionals=
DebugSourceDirs=..\core
|
|
From: <na...@us...> - 2009-08-25 15:04:37
|
Revision: 859
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=859&view=rev
Author: nandod
Date: 2009-08-25 15:04:20 +0000 (Tue, 25 Aug 2009)
Log Message:
-----------
* Fixed: writing a class name with wrong capitalization in an IQL query would prevent objects from being retrieved on case-sensitive databases. The fix also does the class existence check earlier than before. A test was added to TestIO.
Modified Paths:
--------------
trunk/Source/Core/InstantCommand.pas
trunk/Tests/TestMockBroker.pas
Modified: trunk/Source/Core/InstantCommand.pas
===================================================================
--- trunk/Source/Core/InstantCommand.pas 2009-08-25 14:35:18 UTC (rev 858)
+++ trunk/Source/Core/InstantCommand.pas 2009-08-25 15:04:20 UTC (rev 859)
@@ -1505,7 +1505,11 @@
FAny := SameText(Token, 'ANY');
if FAny then
Token := Reader.ReadToken;
- FObjectClassName := Token;
+ // This call has the double effect of checking that the class exists early
+ // during statement parsing, and correcting the class name if it's written
+ // with wrong capitalization (something that would create problems with
+ // case-sensitive databases).
+ FObjectClassName := FindClass(Token).ClassName;
end;
procedure TInstantIQLClassRef.WriteObject(Writer: TInstantIQLWriter);
Modified: trunk/Tests/TestMockBroker.pas
===================================================================
--- trunk/Tests/TestMockBroker.pas 2009-08-25 14:35:18 UTC (rev 858)
+++ trunk/Tests/TestMockBroker.pas 2009-08-25 15:04:20 UTC (rev 859)
@@ -38,7 +38,6 @@
type
TTestMockBroker = class(TTestCase)
- private
protected
FConn: TInstantMockConnector;
procedure SetUp; override;
@@ -53,7 +52,6 @@
end;
TTestMockRelationalBroker = class(TTestCase)
- private
protected
FConn: TInstantMockConnector;
procedure SetUp; override;
@@ -64,6 +62,15 @@
procedure TestStoreAndRetrieveContact;
end;
+ TTestMockSQLbroker = class(TTestCase)
+ protected
+ FConn: TInstantMockConnector;
+ procedure SetUp; override;
+ procedure TearDown; override;
+ published
+ procedure TestQuery;
+ end;
+
implementation
uses InstantMetadata;
@@ -285,8 +292,40 @@
brok.MockManager.Verify;
end;
+{ TTestMockSQLbroker }
+
+procedure TTestMockSQLbroker.SetUp;
+begin
+ FConn := TInstantMockConnector.Create(nil);
+ FConn.BrokerClass := TInstantMockSQLBroker;
+
+ if InstantModel.ClassMetadatas.Count > 0 then
+ InstantModel.ClassMetadatas.Clear;
+ InstantModel.LoadFromResFile(ChangeFileExt(ParamStr(0), '.mdr'));
+end;
+
+procedure TTestMockSQLbroker.TearDown;
+begin
+ InstantModel.ClassMetadatas.Clear;
+ FreeAndNil(FConn);
+end;
+
+procedure TTestMockSQLbroker.TestQuery;
+var
+ LQuery: TInstantQuery;
+begin
+ LQuery := FConn.CreateQuery;
+ try
+ LQuery.Command := 'select * from tcountry';
+ AssertTrue(LQuery.ObjectClass = TCountry);
+ AssertTrue(LQuery.ObjectClassName = 'TCountry');
+ finally
+ LQuery.Free;
+ end;
+end;
+
initialization
{$IFNDEF CURR_TESTS}
- RegisterTests([TTestMockBroker, TTestMockRelationalBroker]);
+ RegisterTests([TTestMockBroker, TTestMockRelationalBroker, TTestMockSQLbroker]);
{$ENDIF}
end.
\ No newline at end of file
|
|
From: <dav...@us...> - 2009-08-26 01:03:16
|
Revision: 864
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=864&view=rev
Author: davidvtaylor
Date: 2009-08-26 01:03:07 +0000 (Wed, 26 Aug 2009)
Log Message:
-----------
Initial port to Delphi 2010 - all unit tests pass!
+ Add packages for Core, Design, Catalogs and standard Brokers
+ Add packages for AnyDAC broker (not fully tested - waiting for RemObjects Aug 2009 release)
+ Add Classes to uses of validation units to suppress method inlining warning
+ Port unit test project to D2010
Modified Paths:
--------------
trunk/Source/Core/InstantStandardValidators.pas
trunk/Source/Core/InstantValidation.pas
Added Paths:
-----------
trunk/Source/Brokers/ADO/D2010/
trunk/Source/Brokers/ADO/D2010/DclIOADO.dpk
trunk/Source/Brokers/ADO/D2010/DclIOADO.dproj
trunk/Source/Brokers/ADO/D2010/DclIOADO.res
trunk/Source/Brokers/ADO/D2010/IOADO.dpk
trunk/Source/Brokers/ADO/D2010/IOADO.dproj
trunk/Source/Brokers/ADO/D2010/IOADO.res
trunk/Source/Brokers/AnyDAC/D2010/
trunk/Source/Brokers/AnyDAC/D2010/DclIOAnyDAC.dpk
trunk/Source/Brokers/AnyDAC/D2010/DclIOAnyDAC.dproj
trunk/Source/Brokers/AnyDAC/D2010/DclIOAnyDAC.res
trunk/Source/Brokers/AnyDAC/D2010/IOAnyDAC.dpk
trunk/Source/Brokers/AnyDAC/D2010/IOAnyDAC.dproj
trunk/Source/Brokers/AnyDAC/D2010/IOAnyDAC.res
trunk/Source/Brokers/BDE/D2010/
trunk/Source/Brokers/BDE/D2010/DclIOBDE.dpk
trunk/Source/Brokers/BDE/D2010/DclIOBDE.dproj
trunk/Source/Brokers/BDE/D2010/DclIOBDE.res
trunk/Source/Brokers/BDE/D2010/IOBDE.dpk
trunk/Source/Brokers/BDE/D2010/IOBDE.dproj
trunk/Source/Brokers/BDE/D2010/IOBDE.res
trunk/Source/Brokers/DBX/D2010/
trunk/Source/Brokers/DBX/D2010/DclIODBX.dpk
trunk/Source/Brokers/DBX/D2010/DclIODBX.dproj
trunk/Source/Brokers/DBX/D2010/DclIODBX.res
trunk/Source/Brokers/DBX/D2010/IODBX.dpk
trunk/Source/Brokers/DBX/D2010/IODBX.dproj
trunk/Source/Brokers/DBX/D2010/IODBX.res
trunk/Source/Brokers/IBX/D2010/
trunk/Source/Brokers/IBX/D2010/DclIOIBX.dpk
trunk/Source/Brokers/IBX/D2010/DclIOIBX.dproj
trunk/Source/Brokers/IBX/D2010/DclIOIBX.res
trunk/Source/Brokers/IBX/D2010/IOIBX.dpk
trunk/Source/Brokers/IBX/D2010/IOIBX.dproj
trunk/Source/Brokers/IBX/D2010/IOIBX.res
trunk/Source/Brokers/XML/D2010/
trunk/Source/Brokers/XML/D2010/DclIOXML.dpk
trunk/Source/Brokers/XML/D2010/DclIOXML.dproj
trunk/Source/Brokers/XML/D2010/DclIOXML.res
trunk/Source/Brokers/XML/D2010/IOXML.dpk
trunk/Source/Brokers/XML/D2010/IOXML.dproj
trunk/Source/Brokers/XML/D2010/IOXML.res
trunk/Source/Catalogs/IBFb/D2010/
trunk/Source/Catalogs/IBFb/D2010/IOIBFbCatalog.dpk
trunk/Source/Catalogs/IBFb/D2010/IOIBFbCatalog.dproj
trunk/Source/Catalogs/IBFb/D2010/IOIBFbCatalog.res
trunk/Source/Catalogs/MSSql/D2010/
trunk/Source/Catalogs/MSSql/D2010/IOMSSqlCatalog.dpk
trunk/Source/Catalogs/MSSql/D2010/IOMSSqlCatalog.dproj
trunk/Source/Catalogs/MSSql/D2010/IOMSSqlCatalog.res
trunk/Source/Catalogs/MySQL/D2010/
trunk/Source/Catalogs/MySQL/D2010/IOMySQLCatalog.dpk
trunk/Source/Catalogs/MySQL/D2010/IOMySQLCatalog.dproj
trunk/Source/Catalogs/MySQL/D2010/IOMySQLCatalog.res
trunk/Source/Core/D2010/
trunk/Source/Core/D2010/IOCore.dpk
trunk/Source/Core/D2010/IOCore.dproj
trunk/Source/Core/D2010/IOCore.res
trunk/Source/Design/D2010/
trunk/Source/Design/D2010/DclIOCore.dpk
trunk/Source/Design/D2010/DclIOCore.dproj
trunk/Source/Design/D2010/DclIOCore.res
trunk/Tests/TestIO_D2010.dpr
trunk/Tests/TestIO_D2010.dproj
trunk/Tests/TestIO_D2010.res
Added: trunk/Source/Brokers/ADO/D2010/DclIOADO.dpk
===================================================================
--- trunk/Source/Brokers/ADO/D2010/DclIOADO.dpk (rev 0)
+++ trunk/Source/Brokers/ADO/D2010/DclIOADO.dpk 2009-08-26 01:03:07 UTC (rev 864)
@@ -0,0 +1,38 @@
+package DclIOADO;
+
+{$R *.res}
+{$R '..\InstantADO.dcr'}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS ON}
+{$RANGECHECKS ON}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'InstantObjects ADO Design-Time Support (Delphi 2010)'}
+{$LIBSUFFIX '_D14'}
+{$DESIGNONLY}
+{$IMPLICITBUILD OFF}
+
+requires
+ rtl,
+ IOADO;
+
+contains
+ InstantADOReg in '..\InstantADOReg.pas';
+
+end.
Property changes on: trunk/Source/Brokers/ADO/D2010/DclIOADO.dpk
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/Source/Brokers/ADO/D2010/DclIOADO.dproj
===================================================================
--- trunk/Source/Brokers/ADO/D2010/DclIOADO.dproj (rev 0)
+++ trunk/Source/Brokers/ADO/D2010/DclIOADO.dproj 2009-08-26 01:03:07 UTC (rev 864)
@@ -0,0 +1,116 @@
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{E0EE3CA6-D975-4E62-B964-C20686397283}</ProjectGuid>
+ <MainSource>DclIOADO.dpk</MainSource>
+ <Config Condition="'$(Config)'==''">Debug</Config>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <ProjectVersion>12.0</ProjectVersion>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
+ <Cfg_1>true</Cfg_1>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
+ <Cfg_2>true</Cfg_2>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Base)'!=''">
+ <DesignOnlyPackage>true</DesignOnlyPackage>
+ <DCC_ImageBase>00400000</DCC_ImageBase>
+ <DCC_SymbolReferenceInfo>1</DCC_SymbolReferenceInfo>
+ <DllSuffix>_D14</DllSuffix>
+ <DCC_DependencyCheckOutputName>C:\Documents and Settings\All Users\Documents\RAD Studio\7.0\Bpl\DclIOADO_D14.bpl</DCC_DependencyCheckOutputName>
+ <DCC_RangeChecking>true</DCC_RangeChecking>
+ <DCC_UnitAlias>WinTypes=Windows;WinProcs=Windows;$(DCC_UnitAlias)</DCC_UnitAlias>
+ <DCC_Description>InstantObjects ADO Design-Time Support (Delphi 2010)</DCC_Description>
+ <DCC_Platform>x86</DCC_Platform>
+ <DCC_S>false</DCC_S>
+ <DCC_N>false</DCC_N>
+ <GenDll>true</GenDll>
+ <DCC_OutputNeverBuildDcps>true</DCC_OutputNeverBuildDcps>
+ <DCC_K>false</DCC_K>
+ <DCC_IntegerOverflowCheck>true</DCC_IntegerOverflowCheck>
+ <GenPackage>true</GenPackage>
+ <DCC_F>false</DCC_F>
+ <DCC_E>false</DCC_E>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_1)'!=''">
+ <DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
+ <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_DebugInformation>false</DCC_DebugInformation>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_2)'!=''">
+ <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
+ </PropertyGroup>
+ <ItemGroup>
+ <DelphiCompile Include="DclIOADO.dpk">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="..\InstantADO.dcr"/>
+ <DCCReference Include="rtl.dcp"/>
+ <DCCReference Include="IOADO.dcp"/>
+ <DCCReference Include="..\InstantADOReg.pas"/>
+ <BuildConfiguration Include="Base">
+ <Key>Base</Key>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Debug">
+ <Key>Cfg_2</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Release">
+ <Key>Cfg_1</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ </ItemGroup>
+ <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality.12</Borland.Personality>
+ <Borland.ProjectType>Package</Borland.ProjectType>
+ <BorlandProject>
+ <Delphi.Personality>
+ <Source>
+ <Source Name="MainSource">DclIOADO.dpk</Source>
+ </Source>
+ <Parameters>
+ <Parameters Name="UseLauncher">False</Parameters>
+ <Parameters Name="LoadAllSymbols">True</Parameters>
+ <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
+ </Parameters>
+ <VersionInfo>
+ <VersionInfo Name="IncludeVerInfo">True</VersionInfo>
+ <VersionInfo Name="AutoIncBuild">False</VersionInfo>
+ <VersionInfo Name="MajorVer">1</VersionInfo>
+ <VersionInfo Name="MinorVer">0</VersionInfo>
+ <VersionInfo Name="Release">0</VersionInfo>
+ <VersionInfo Name="Build">0</VersionInfo>
+ <VersionInfo Name="Debug">False</VersionInfo>
+ <VersionInfo Name="PreRelease">False</VersionInfo>
+ <VersionInfo Name="Special">False</VersionInfo>
+ <VersionInfo Name="Private">False</VersionInfo>
+ <VersionInfo Name="DLL">False</VersionInfo>
+ <VersionInfo Name="Locale">1033</VersionInfo>
+ <VersionInfo Name="CodePage">1252</VersionInfo>
+ </VersionInfo>
+ <VersionInfoKeys>
+ <VersionInfoKeys Name="CompanyName"/>
+ <VersionInfoKeys Name="FileDescription"/>
+ <VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="InternalName"/>
+ <VersionInfoKeys Name="LegalCopyright"/>
+ <VersionInfoKeys Name="LegalTrademarks"/>
+ <VersionInfoKeys Name="OriginalFilename"/>
+ <VersionInfoKeys Name="ProductName"/>
+ <VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="Comments"/>
+ </VersionInfoKeys>
+ </Delphi.Personality>
+ </BorlandProject>
+ <ProjectFileVersion>12</ProjectFileVersion>
+ </ProjectExtensions>
+ </Project>
Property changes on: trunk/Source/Brokers/ADO/D2010/DclIOADO.dproj
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/Source/Brokers/ADO/D2010/DclIOADO.res
===================================================================
(Binary files differ)
Property changes on: trunk/Source/Brokers/ADO/D2010/DclIOADO.res
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/Source/Brokers/ADO/D2010/IOADO.dpk
===================================================================
--- trunk/Source/Brokers/ADO/D2010/IOADO.dpk (rev 0)
+++ trunk/Source/Brokers/ADO/D2010/IOADO.dpk 2009-08-26 01:03:07 UTC (rev 864)
@@ -0,0 +1,44 @@
+package IOADO;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST ON}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'InstantObjects ADO Run-Time Support (Delphi 2010)'}
+{$LIBSUFFIX '_D14'}
+{$RUNONLY}
+{$IMPLICITBUILD OFF}
+
+requires
+ vcl,
+ vcldb,
+ adortl,
+ IOCore,
+ IOMSSqlCatalog;
+
+contains
+ InstantADOX in '..\InstantADOX.pas',
+ InstantADOJRO in '..\InstantADOJRO.pas',
+ InstantADOTools in '..\InstantADOTools.pas',
+ InstantADOConnectionDefEdit in '..\InstantADOConnectionDefEdit.pas' {InstantADOConnectionDefEditForm},
+ InstantADO in '..\InstantADO.pas';
+
+end.
Property changes on: trunk/Source/Brokers/ADO/D2010/IOADO.dpk
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/Source/Brokers/ADO/D2010/IOADO.dproj
===================================================================
--- trunk/Source/Brokers/ADO/D2010/IOADO.dproj (rev 0)
+++ trunk/Source/Brokers/ADO/D2010/IOADO.dproj 2009-08-26 01:03:07 UTC (rev 864)
@@ -0,0 +1,123 @@
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{BF5FCE65-8CE6-49DA-80A0-E55081BF9F72}</ProjectGuid>
+ <MainSource>IOADO.dpk</MainSource>
+ <Config Condition="'$(Config)'==''">Debug</Config>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <ProjectVersion>12.0</ProjectVersion>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
+ <Cfg_1>true</Cfg_1>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
+ <Cfg_2>true</Cfg_2>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Base)'!=''">
+ <DCC_ImageBase>00400000</DCC_ImageBase>
+ <DCC_DependencyCheckOutputName>C:\Documents and Settings\All Users\Documents\RAD Studio\7.0\Bpl\IOADO_D14.bpl</DCC_DependencyCheckOutputName>
+ <DllSuffix>_D14</DllSuffix>
+ <DCC_WriteableConstants>true</DCC_WriteableConstants>
+ <DCC_Platform>x86</DCC_Platform>
+ <DCC_UnitAlias>WinTypes=Windows;WinProcs=Windows;$(DCC_UnitAlias)</DCC_UnitAlias>
+ <RuntimeOnlyPackage>true</RuntimeOnlyPackage>
+ <DCC_Description>InstantObjects ADO Run-Time Support (Delphi 2010)</DCC_Description>
+ <DCC_SymbolReferenceInfo>1</DCC_SymbolReferenceInfo>
+ <DCC_S>false</DCC_S>
+ <DCC_N>false</DCC_N>
+ <GenDll>true</GenDll>
+ <DCC_OutputNeverBuildDcps>true</DCC_OutputNeverBuildDcps>
+ <DCC_E>false</DCC_E>
+ <GenPackage>true</GenPackage>
+ <DCC_K>false</DCC_K>
+ <DCC_F>false</DCC_F>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_1)'!=''">
+ <DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
+ <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_DebugInformation>false</DCC_DebugInformation>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_2)'!=''">
+ <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
+ </PropertyGroup>
+ <ItemGroup>
+ <DelphiCompile Include="IOADO.dpk">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="vcl.dcp"/>
+ <DCCReference Include="vcldb.dcp"/>
+ <DCCReference Include="adortl.dcp"/>
+ <DCCReference Include="IOCore.dcp"/>
+ <DCCReference Include="IOMSSqlCatalog.dcp"/>
+ <DCCReference Include="..\InstantADOX.pas"/>
+ <DCCReference Include="..\InstantADOJRO.pas"/>
+ <DCCReference Include="..\InstantADOTools.pas"/>
+ <DCCReference Include="..\InstantADOConnectionDefEdit.pas">
+ <Form>InstantADOConnectionDefEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="..\InstantADO.pas"/>
+ <BuildConfiguration Include="Base">
+ <Key>Base</Key>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Debug">
+ <Key>Cfg_2</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Release">
+ <Key>Cfg_1</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ </ItemGroup>
+ <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality.12</Borland.Personality>
+ <Borland.ProjectType>Package</Borland.ProjectType>
+ <BorlandProject>
+ <Delphi.Personality>
+ <Source>
+ <Source Name="MainSource">IOADO.dpk</Source>
+ </Source>
+ <Parameters>
+ <Parameters Name="UseLauncher">False</Parameters>
+ <Parameters Name="LoadAllSymbols">True</Parameters>
+ <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
+ </Parameters>
+ <VersionInfo>
+ <VersionInfo Name="IncludeVerInfo">True</VersionInfo>
+ <VersionInfo Name="AutoIncBuild">False</VersionInfo>
+ <VersionInfo Name="MajorVer">1</VersionInfo>
+ <VersionInfo Name="MinorVer">0</VersionInfo>
+ <VersionInfo Name="Release">0</VersionInfo>
+ <VersionInfo Name="Build">0</VersionInfo>
+ <VersionInfo Name="Debug">False</VersionInfo>
+ <VersionInfo Name="PreRelease">False</VersionInfo>
+ <VersionInfo Name="Special">False</VersionInfo>
+ <VersionInfo Name="Private">False</VersionInfo>
+ <VersionInfo Name="DLL">False</VersionInfo>
+ <VersionInfo Name="Locale">1033</VersionInfo>
+ <VersionInfo Name="CodePage">1252</VersionInfo>
+ </VersionInfo>
+ <VersionInfoKeys>
+ <VersionInfoKeys Name="CompanyName"/>
+ <VersionInfoKeys Name="FileDescription"/>
+ <VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="InternalName"/>
+ <VersionInfoKeys Name="LegalCopyright"/>
+ <VersionInfoKeys Name="LegalTrademarks"/>
+ <VersionInfoKeys Name="OriginalFilename"/>
+ <VersionInfoKeys Name="ProductName"/>
+ <VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="Comments"/>
+ </VersionInfoKeys>
+ </Delphi.Personality>
+ </BorlandProject>
+ <ProjectFileVersion>12</ProjectFileVersion>
+ </ProjectExtensions>
+ </Project>
Property changes on: trunk/Source/Brokers/ADO/D2010/IOADO.dproj
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/Source/Brokers/ADO/D2010/IOADO.res
===================================================================
(Binary files differ)
Property changes on: trunk/Source/Brokers/ADO/D2010/IOADO.res
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/Source/Brokers/AnyDAC/D2010/DclIOAnyDAC.dpk
===================================================================
--- trunk/Source/Brokers/AnyDAC/D2010/DclIOAnyDAC.dpk (rev 0)
+++ trunk/Source/Brokers/AnyDAC/D2010/DclIOAnyDAC.dpk 2009-08-26 01:03:07 UTC (rev 864)
@@ -0,0 +1,39 @@
+package DclIOAnyDAC;
+
+{$R *.res}
+{$R '..\InstantAnyDAC.dcr'}
+
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS ON}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'InstantObjects AnyDAC Design-Time Support (Delphi 2010)'}
+{$LIBSUFFIX '_D14'}
+{$DESIGNONLY}
+{$IMPLICITBUILD OFF}
+
+requires
+ IOAnyDAC;
+
+contains
+ InstantAnyDACReg in '..\InstantAnyDACReg.pas';
+
+end.
+
Property changes on: trunk/Source/Brokers/AnyDAC/D2010/DclIOAnyDAC.dpk
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/Source/Brokers/AnyDAC/D2010/DclIOAnyDAC.dproj
===================================================================
--- trunk/Source/Brokers/AnyDAC/D2010/DclIOAnyDAC.dproj (rev 0)
+++ trunk/Source/Brokers/AnyDAC/D2010/DclIOAnyDAC.dproj 2009-08-26 01:03:07 UTC (rev 864)
@@ -0,0 +1,115 @@
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{A2BC22CD-E13F-451F-B150-873A254827A7}</ProjectGuid>
+ <MainSource>DclIOAnyDAC.dpk</MainSource>
+ <Config Condition="'$(Config)'==''">Debug</Config>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <ProjectVersion>12.0</ProjectVersion>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
+ <Cfg_1>true</Cfg_1>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
+ <Cfg_2>true</Cfg_2>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Base)'!=''">
+ <DCC_DependencyCheckOutputName>C:\Documents and Settings\All Users\Documents\RAD Studio\7.0\Bpl\DclIOAnyDAC_D14.bpl</DCC_DependencyCheckOutputName>
+ <DesignOnlyPackage>true</DesignOnlyPackage>
+ <DCC_Description>InstantObjects AnyDAC Design-Time Support (Delphi 2010)</DCC_Description>
+ <DCC_TypedAtParameter>true</DCC_TypedAtParameter>
+ <DCC_UnitAlias>WinTypes=Windows;WinProcs=Windows;$(DCC_UnitAlias)</DCC_UnitAlias>
+ <GenPackage>true</GenPackage>
+ <DCC_OutputNeverBuildDcps>true</DCC_OutputNeverBuildDcps>
+ <GenDll>true</GenDll>
+ <DllSuffix>_D14</DllSuffix>
+ <DCC_SymbolReferenceInfo>1</DCC_SymbolReferenceInfo>
+ <DCC_ImageBase>00400000</DCC_ImageBase>
+ <DCC_Platform>x86</DCC_Platform>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_1)'!=''">
+ <DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
+ <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_DebugInformation>false</DCC_DebugInformation>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_2)'!=''">
+ <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
+ </PropertyGroup>
+ <ItemGroup>
+ <DelphiCompile Include="DclIOAnyDAC.dpk">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="..\InstantAnyDAC.dcr"/>
+ <DCCReference Include="IOAnyDAC.dcp"/>
+ <DCCReference Include="..\InstantAnyDACReg.pas"/>
+ <BuildConfiguration Include="Base">
+ <Key>Base</Key>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Debug">
+ <Key>Cfg_2</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Release">
+ <Key>Cfg_1</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ </ItemGroup>
+ <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality.12</Borland.Personality>
+ <Borland.ProjectType>Package</Borland.ProjectType>
+ <BorlandProject>
+ <Delphi.Personality>
+ <Source>
+ <Source Name="MainSource">DclIOAnyDAC.dpk</Source>
+ </Source>
+ <Parameters>
+ <Parameters Name="UseLauncher">False</Parameters>
+ <Parameters Name="LoadAllSymbols">True</Parameters>
+ <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
+ </Parameters>
+ <VersionInfo>
+ <VersionInfo Name="IncludeVerInfo">True</VersionInfo>
+ <VersionInfo Name="AutoIncBuild">False</VersionInfo>
+ <VersionInfo Name="MajorVer">1</VersionInfo>
+ <VersionInfo Name="MinorVer">0</VersionInfo>
+ <VersionInfo Name="Release">0</VersionInfo>
+ <VersionInfo Name="Build">0</VersionInfo>
+ <VersionInfo Name="Debug">False</VersionInfo>
+ <VersionInfo Name="PreRelease">False</VersionInfo>
+ <VersionInfo Name="Special">False</VersionInfo>
+ <VersionInfo Name="Private">False</VersionInfo>
+ <VersionInfo Name="DLL">False</VersionInfo>
+ <VersionInfo Name="Locale">1033</VersionInfo>
+ <VersionInfo Name="CodePage">1252</VersionInfo>
+ </VersionInfo>
+ <VersionInfoKeys>
+ <VersionInfoKeys Name="CompanyName"/>
+ <VersionInfoKeys Name="FileDescription"/>
+ <VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="InternalName"/>
+ <VersionInfoKeys Name="LegalCopyright"/>
+ <VersionInfoKeys Name="LegalTrademarks"/>
+ <VersionInfoKeys Name="OriginalFilename"/>
+ <VersionInfoKeys Name="ProductName"/>
+ <VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="Comments"/>
+ </VersionInfoKeys>
+ <Excluded_Packages>
+ <Excluded_Packages Name="$(BDS)\bin\bcboffice2k140.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
+ <Excluded_Packages Name="$(BDS)\bin\bcbofficexp140.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages>
+ <Excluded_Packages Name="$(BDS)\bin\dcloffice2k140.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
+ <Excluded_Packages Name="$(BDS)\bin\dclofficexp140.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
+ </Excluded_Packages>
+ </Delphi.Personality>
+ </BorlandProject>
+ <ProjectFileVersion>12</ProjectFileVersion>
+ </ProjectExtensions>
+ </Project>
Property changes on: trunk/Source/Brokers/AnyDAC/D2010/DclIOAnyDAC.dproj
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/Source/Brokers/AnyDAC/D2010/DclIOAnyDAC.res
===================================================================
(Binary files differ)
Property changes on: trunk/Source/Brokers/AnyDAC/D2010/DclIOAnyDAC.res
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/Source/Brokers/AnyDAC/D2010/IOAnyDAC.dpk
===================================================================
--- trunk/Source/Brokers/AnyDAC/D2010/IOAnyDAC.dpk (rev 0)
+++ trunk/Source/Brokers/AnyDAC/D2010/IOAnyDAC.dpk 2009-08-26 01:03:07 UTC (rev 864)
@@ -0,0 +1,42 @@
+package IOAnyDAC;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS ON}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'InstantObjects AnyDAC Run-Time Support (Delphi 2010)'}
+{$LIBSUFFIX '_D14'}
+{$RUNONLY}
+{$IMPLICITBUILD OFF}
+
+requires
+ IOCore,
+ xmlrtl,
+ AnyDAC_Phys,
+ AnyDAC_ComI,
+ AnyDAC_Comp;
+
+contains
+ InstantAnyDAC in '..\InstantAnyDAC.pas',
+ InstantAnyDACCatalog in '..\InstantAnyDACCatalog.pas',
+ InstantAnyDACConnectionDefEdit in '..\InstantAnyDACConnectionDefEdit.pas' {InstantAnyDACConnectionDefEditForm};
+
+end.
Property changes on: trunk/Source/Brokers/AnyDAC/D2010/IOAnyDAC.dpk
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/Source/Brokers/AnyDAC/D2010/IOAnyDAC.dproj
===================================================================
--- trunk/Source/Brokers/AnyDAC/D2010/IOAnyDAC.dproj (rev 0)
+++ trunk/Source/Brokers/AnyDAC/D2010/IOAnyDAC.dproj 2009-08-26 01:03:07 UTC (rev 864)
@@ -0,0 +1,122 @@
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{B2FCAE40-1DA4-401B-878A-1D0C9AB45191}</ProjectGuid>
+ <MainSource>IOAnyDAC.dpk</MainSource>
+ <Config Condition="'$(Config)'==''">Debug</Config>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <ProjectVersion>12.0</ProjectVersion>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
+ <Cfg_1>true</Cfg_1>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
+ <Cfg_2>true</Cfg_2>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Base)'!=''">
+ <DCC_DependencyCheckOutputName>C:\Documents and Settings\All Users\Documents\RAD Studio\7.0\Bpl\IOAnyDAC_D14.bpl</DCC_DependencyCheckOutputName>
+ <DCC_TypedAtParameter>true</DCC_TypedAtParameter>
+ <RuntimeOnlyPackage>true</RuntimeOnlyPackage>
+ <DCC_UnitAlias>WinTypes=Windows;WinProcs=Windows;$(DCC_UnitAlias)</DCC_UnitAlias>
+ <DCC_Description>InstantObjects AnyDAC Run-Time Support (Delphi 2010)</DCC_Description>
+ <DCC_OutputNeverBuildDcps>true</DCC_OutputNeverBuildDcps>
+ <GenDll>true</GenDll>
+ <GenPackage>true</GenPackage>
+ <DllSuffix>_D14</DllSuffix>
+ <DCC_SymbolReferenceInfo>1</DCC_SymbolReferenceInfo>
+ <DCC_ImageBase>00400000</DCC_ImageBase>
+ <DCC_Platform>x86</DCC_Platform>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_1)'!=''">
+ <DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
+ <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_DebugInformation>false</DCC_DebugInformation>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_2)'!=''">
+ <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
+ </PropertyGroup>
+ <ItemGroup>
+ <DelphiCompile Include="IOAnyDAC.dpk">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="IOCore.dcp"/>
+ <DCCReference Include="xmlrtl.dcp"/>
+ <DCCReference Include="AnyDAC_Phys.dcp"/>
+ <DCCReference Include="AnyDAC_ComI.dcp"/>
+ <DCCReference Include="AnyDAC_Comp.dcp"/>
+ <DCCReference Include="..\InstantAnyDAC.pas"/>
+ <DCCReference Include="..\InstantAnyDACCatalog.pas"/>
+ <DCCReference Include="..\InstantAnyDACConnectionDefEdit.pas">
+ <Form>InstantAnyDACConnectionDefEditForm</Form>
+ </DCCReference>
+ <BuildConfiguration Include="Base">
+ <Key>Base</Key>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Debug">
+ <Key>Cfg_2</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ <BuildConfiguration Include="R...
[truncated message content] |
|
From: <na...@us...> - 2009-08-26 15:45:44
|
Revision: 866
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=866&view=rev
Author: nandod
Date: 2009-08-26 15:45:12 +0000 (Wed, 26 Aug 2009)
Log Message:
-----------
+ Package groups for D2010.
- Removed TestIO_D2010 as the format of TestIO_D2009 is compatible with D2010.
* svn:ignore set.
Modified Paths:
--------------
trunk/Source/Brokers/ADO/D2010/DclIOADO.dproj
trunk/Source/Brokers/BDE/D2010/DclIOBDE.dproj
trunk/Source/Brokers/DBX/D2010/DclIODBX.dproj
trunk/Source/Brokers/IBX/D2010/DclIOIBX.dproj
trunk/Source/Brokers/XML/D2010/DclIOXML.dproj
trunk/Source/Design/D2010/DclIOCore.dproj
Added Paths:
-----------
trunk/Source/PackageGroups/D2010/
trunk/Source/PackageGroups/D2010/DesignTimePackages.groupproj
trunk/Source/PackageGroups/D2010/RunTimePackages.groupproj
Removed Paths:
-------------
trunk/Tests/TestIO_D2010.dpr
trunk/Tests/TestIO_D2010.dproj
trunk/Tests/TestIO_D2010.res
Property Changed:
----------------
trunk/Source/Brokers/ADO/D2010/
trunk/Source/Brokers/BDE/D2010/
trunk/Source/Brokers/DBX/D2010/
trunk/Source/Brokers/IBX/D2010/
trunk/Source/Brokers/XML/D2010/
trunk/Source/Catalogs/IBFb/D2010/
trunk/Source/Catalogs/MSSql/D2010/
trunk/Source/Catalogs/MySQL/D2010/
trunk/Source/Core/D2010/
trunk/Source/Design/D2010/
Property changes on: trunk/Source/Brokers/ADO/D2010
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
Modified: trunk/Source/Brokers/ADO/D2010/DclIOADO.dproj
===================================================================
--- trunk/Source/Brokers/ADO/D2010/DclIOADO.dproj 2009-08-26 15:33:19 UTC (rev 865)
+++ trunk/Source/Brokers/ADO/D2010/DclIOADO.dproj 2009-08-26 15:45:12 UTC (rev 866)
@@ -24,7 +24,7 @@
<DCC_ImageBase>00400000</DCC_ImageBase>
<DCC_SymbolReferenceInfo>1</DCC_SymbolReferenceInfo>
<DllSuffix>_D14</DllSuffix>
- <DCC_DependencyCheckOutputName>C:\Documents and Settings\All Users\Documents\RAD Studio\7.0\Bpl\DclIOADO_D14.bpl</DCC_DependencyCheckOutputName>
+ <DCC_DependencyCheckOutputName>C:\Users\Public\Documents\RAD Studio\7.0\Bpl\DclIOADO_D14.bpl</DCC_DependencyCheckOutputName>
<DCC_RangeChecking>true</DCC_RangeChecking>
<DCC_UnitAlias>WinTypes=Windows;WinProcs=Windows;$(DCC_UnitAlias)</DCC_UnitAlias>
<DCC_Description>InstantObjects ADO Design-Time Support (Delphi 2010)</DCC_Description>
Property changes on: trunk/Source/Brokers/BDE/D2010
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
Modified: trunk/Source/Brokers/BDE/D2010/DclIOBDE.dproj
===================================================================
--- trunk/Source/Brokers/BDE/D2010/DclIOBDE.dproj 2009-08-26 15:33:19 UTC (rev 865)
+++ trunk/Source/Brokers/BDE/D2010/DclIOBDE.dproj 2009-08-26 15:45:12 UTC (rev 866)
@@ -20,7 +20,7 @@
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Base)'!=''">
- <DCC_DependencyCheckOutputName>C:\Documents and Settings\All Users\Documents\RAD Studio\7.0\Bpl\DclIOBDE_D14.bpl</DCC_DependencyCheckOutputName>
+ <DCC_DependencyCheckOutputName>C:\Users\Public\Documents\RAD Studio\7.0\Bpl\DclIOBDE_D14.bpl</DCC_DependencyCheckOutputName>
<DesignOnlyPackage>true</DesignOnlyPackage>
<DCC_Description>InstantObjects BDE Design-Time Support (Delphi 2010)</DCC_Description>
<DCC_TypedAtParameter>true</DCC_TypedAtParameter>
Property changes on: trunk/Source/Brokers/DBX/D2010
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
Modified: trunk/Source/Brokers/DBX/D2010/DclIODBX.dproj
===================================================================
--- trunk/Source/Brokers/DBX/D2010/DclIODBX.dproj 2009-08-26 15:33:19 UTC (rev 865)
+++ trunk/Source/Brokers/DBX/D2010/DclIODBX.dproj 2009-08-26 15:45:12 UTC (rev 866)
@@ -20,7 +20,7 @@
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Base)'!=''">
- <DCC_DependencyCheckOutputName>C:\Documents and Settings\All Users\Documents\RAD Studio\7.0\Bpl\DclIODBX_D14.bpl</DCC_DependencyCheckOutputName>
+ <DCC_DependencyCheckOutputName>C:\Users\Public\Documents\RAD Studio\7.0\Bpl\DclIODBX_D14.bpl</DCC_DependencyCheckOutputName>
<DesignOnlyPackage>true</DesignOnlyPackage>
<DCC_Description>InstantObjects dbExpress Design-Time Support (Delphi 2010)</DCC_Description>
<DCC_TypedAtParameter>true</DCC_TypedAtParameter>
Property changes on: trunk/Source/Brokers/IBX/D2010
___________________________________________________________________
Added: svn:ignore
+ *.local
*.dcu
Modified: trunk/Source/Brokers/IBX/D2010/DclIOIBX.dproj
===================================================================
--- trunk/Source/Brokers/IBX/D2010/DclIOIBX.dproj 2009-08-26 15:33:19 UTC (rev 865)
+++ trunk/Source/Brokers/IBX/D2010/DclIOIBX.dproj 2009-08-26 15:45:12 UTC (rev 866)
@@ -20,7 +20,7 @@
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Base)'!=''">
- <DCC_DependencyCheckOutputName>C:\Documents and Settings\All Users\Documents\RAD Studio\7.0\Bpl\DclIOIBX_D14.bpl</DCC_DependencyCheckOutputName>
+ <DCC_DependencyCheckOutputName>C:\Users\Public\Documents\RAD Studio\7.0\Bpl\DclIOIBX_D14.bpl</DCC_DependencyCheckOutputName>
<DesignOnlyPackage>true</DesignOnlyPackage>
<DCC_UnitAlias>WinTypes=Windows;WinProcs=Windows;$(DCC_UnitAlias)</DCC_UnitAlias>
<DCC_Description>InstantObjects IBX Design-Time Support (Delphi 2010)</DCC_Description>
Property changes on: trunk/Source/Brokers/XML/D2010
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
Modified: trunk/Source/Brokers/XML/D2010/DclIOXML.dproj
===================================================================
--- trunk/Source/Brokers/XML/D2010/DclIOXML.dproj 2009-08-26 15:33:19 UTC (rev 865)
+++ trunk/Source/Brokers/XML/D2010/DclIOXML.dproj 2009-08-26 15:45:12 UTC (rev 866)
@@ -20,7 +20,7 @@
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Base)'!=''">
- <DCC_DependencyCheckOutputName>C:\Documents and Settings\All Users\Documents\RAD Studio\7.0\Bpl\DclIOXML_D14.bpl</DCC_DependencyCheckOutputName>
+ <DCC_DependencyCheckOutputName>C:\Users\Public\Documents\RAD Studio\7.0\Bpl\DclIOXML_D14.bpl</DCC_DependencyCheckOutputName>
<DesignOnlyPackage>true</DesignOnlyPackage>
<DCC_Description>InstantObjects XML Design-Time Support (Delphi 2010)</DCC_Description>
<DCC_TypedAtParameter>true</DCC_TypedAtParameter>
Property changes on: trunk/Source/Catalogs/IBFb/D2010
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
Property changes on: trunk/Source/Catalogs/MSSql/D2010
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
Property changes on: trunk/Source/Catalogs/MySQL/D2010
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
Property changes on: trunk/Source/Core/D2010
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
*.identcache
Property changes on: trunk/Source/Design/D2010
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
Modified: trunk/Source/Design/D2010/DclIOCore.dproj
===================================================================
--- trunk/Source/Design/D2010/DclIOCore.dproj 2009-08-26 15:33:19 UTC (rev 865)
+++ trunk/Source/Design/D2010/DclIOCore.dproj 2009-08-26 15:45:12 UTC (rev 866)
@@ -20,7 +20,7 @@
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Base)'!=''">
- <DCC_DependencyCheckOutputName>C:\Documents and Settings\All Users\Documents\RAD Studio\7.0\Bpl\DclIOCore_D14.bpl</DCC_DependencyCheckOutputName>
+ <DCC_DependencyCheckOutputName>C:\Users\Public\Documents\RAD Studio\7.0\Bpl\DclIOCore_D14.bpl</DCC_DependencyCheckOutputName>
<DesignOnlyPackage>true</DesignOnlyPackage>
<DCC_Description>InstantObjects Design-Time Package (Delphi 2010)</DCC_Description>
<DCC_TypedAtParameter>true</DCC_TypedAtParameter>
Property changes on: trunk/Source/PackageGroups/D2010
___________________________________________________________________
Added: svn:ignore
+ *.local
Added: trunk/Source/PackageGroups/D2010/DesignTimePackages.groupproj
===================================================================
--- trunk/Source/PackageGroups/D2010/DesignTimePackages.groupproj (rev 0)
+++ trunk/Source/PackageGroups/D2010/DesignTimePackages.groupproj 2009-08-26 15:45:12 UTC (rev 866)
@@ -0,0 +1,98 @@
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{b0beaee6-5b6a-420d-a1e5-7be9568cd5a2}</ProjectGuid>
+ </PropertyGroup>
+ <ItemGroup>
+ <Projects Include="..\..\Design\D2010\DclIOCore.dproj">
+ <Dependencies/>
+ </Projects>
+ <Projects Include="..\..\Brokers\ADO\D2010\DclIOADO.dproj">
+ <Dependencies/>
+ </Projects>
+ <Projects Include="..\..\Brokers\BDE\D2010\DclIOBDE.dproj">
+ <Dependencies/>
+ </Projects>
+ <Projects Include="..\..\Brokers\DBX\D2010\DclIODBX.dproj">
+ <Dependencies/>
+ </Projects>
+ <Projects Include="..\..\Brokers\IBX\D2010\DclIOIBX.dproj">
+ <Dependencies/>
+ </Projects>
+ <Projects Include="..\..\Brokers\XML\D2010\DclIOXML.dproj">
+ <Dependencies/>
+ </Projects>
+ </ItemGroup>
+ <ProjectExtensions>
+ <Borland.Personality>Default.Personality.12</Borland.Personality>
+ <Borland.ProjectType/>
+ <BorlandProject>
+ <BorlandProject>
+ <Default.Personality/>
+ </BorlandProject>
+ </BorlandProject>
+ </ProjectExtensions>
+ <Target Name="DclIOCore">
+ <MSBuild Projects="..\..\Design\D2010\DclIOCore.dproj"/>
+ </Target>
+ <Target Name="DclIOCore:Clean">
+ <MSBuild Targets="Clean" Projects="..\..\Design\D2010\DclIOCore.dproj"/>
+ </Target>
+ <Target Name="DclIOCore:Make">
+ <MSBuild Targets="Make" Projects="..\..\Design\D2010\DclIOCore.dproj"/>
+ </Target>
+ <Target Name="DclIOADO">
+ <MSBuild Projects="..\..\Brokers\ADO\D2010\DclIOADO.dproj"/>
+ </Target>
+ <Target Name="DclIOADO:Clean">
+ <MSBuild Targets="Clean" Projects="..\..\Brokers\ADO\D2010\DclIOADO.dproj"/>
+ </Target>
+ <Target Name="DclIOADO:Make">
+ <MSBuild Targets="Make" Projects="..\..\Brokers\ADO\D2010\DclIOADO.dproj"/>
+ </Target>
+ <Target Name="DclIOBDE">
+ <MSBuild Projects="..\..\Brokers\BDE\D2010\DclIOBDE.dproj"/>
+ </Target>
+ <Target Name="DclIOBDE:Clean">
+ <MSBuild Targets="Clean" Projects="..\..\Brokers\BDE\D2010\DclIOBDE.dproj"/>
+ </Target>
+ <Target Name="DclIOBDE:Make">
+ <MSBuild Targets="Make" Projects="..\..\Brokers\BDE\D2010\DclIOBDE.dproj"/>
+ </Target>
+ <Target Name="DclIODBX">
+ <MSBuild Projects="..\..\Brokers\DBX\D2010\DclIODBX.dproj"/>
+ </Target>
+ <Target Name="DclIODBX:Clean">
+ <MSBuild Targets="Clean" Projects="..\..\Brokers\DBX\D2010\DclIODBX.dproj"/>
+ </Target>
+ <Target Name="DclIODBX:Make">
+ <MSBuild Targets="Make" Projects="..\..\Brokers\DBX\D2010\DclIODBX.dproj"/>
+ </Target>
+ <Target Name="DclIOIBX">
+ <MSBuild Projects="..\..\Brokers\IBX\D2010\DclIOIBX.dproj"/>
+ </Target>
+ <Target Name="DclIOIBX:Clean">
+ <MSBuild Targets="Clean" Projects="..\..\Brokers\IBX\D2010\DclIOIBX.dproj"/>
+ </Target>
+ <Target Name="DclIOIBX:Make">
+ <MSBuild Targets="Make" Projects="..\..\Brokers\IBX\D2010\DclIOIBX.dproj"/>
+ </Target>
+ <Target Name="DclIOXML">
+ <MSBuild Projects="..\..\Brokers\XML\D2010\DclIOXML.dproj"/>
+ </Target>
+ <Target Name="DclIOXML:Clean">
+ <MSBuild Targets="Clean" Projects="..\..\Brokers\XML\D2010\DclIOXML.dproj"/>
+ </Target>
+ <Target Name="DclIOXML:Make">
+ <MSBuild Targets="Make" Projects="..\..\Brokers\XML\D2010\DclIOXML.dproj"/>
+ </Target>
+ <Target Name="Build">
+ <CallTarget Targets="DclIOCore;DclIOADO;DclIOBDE;DclIODBX;DclIOIBX;DclIOXML"/>
+ </Target>
+ <Target Name="Clean">
+ <CallTarget Targets="DclIOCore:Clean;DclIOADO:Clean;DclIOBDE:Clean;DclIODBX:Clean;DclIOIBX:Clean;DclIOXML:Clean"/>
+ </Target>
+ <Target Name="Make">
+ <CallTarget Targets="DclIOCore:Make;DclIOADO:Make;DclIOBDE:Make;DclIODBX:Make;DclIOIBX:Make;DclIOXML:Make"/>
+ </Target>
+ <Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
+ </Project>
Property changes on: trunk/Source/PackageGroups/D2010/DesignTimePackages.groupproj
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Source/PackageGroups/D2010/RunTimePackages.groupproj
===================================================================
--- trunk/Source/PackageGroups/D2010/RunTimePackages.groupproj (rev 0)
+++ trunk/Source/PackageGroups/D2010/RunTimePackages.groupproj 2009-08-26 15:45:12 UTC (rev 866)
@@ -0,0 +1,134 @@
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{aa24332a-6806-448c-ab3d-ab0790ceec13}</ProjectGuid>
+ </PropertyGroup>
+ <ItemGroup>
+ <Projects Include="..\..\Core\D2010\IOCore.dproj">
+ <Dependencies/>
+ </Projects>
+ <Projects Include="..\..\Catalogs\IBFb\D2010\IOIBFbCatalog.dproj">
+ <Dependencies/>
+ </Projects>
+ <Projects Include="..\..\Catalogs\MSSql\D2010\IOMSSqlCatalog.dproj">
+ <Dependencies/>
+ </Projects>
+ <Projects Include="..\..\Catalogs\MySQL\D2010\IOMySQLCatalog.dproj">
+ <Dependencies/>
+ </Projects>
+ <Projects Include="..\..\Brokers\ADO\D2010\IOADO.dproj">
+ <Dependencies/>
+ </Projects>
+ <Projects Include="..\..\Brokers\BDE\D2010\IOBDE.dproj">
+ <Dependencies/>
+ </Projects>
+ <Projects Include="..\..\Brokers\DBX\D2010\IODBX.dproj">
+ <Dependencies/>
+ </Projects>
+ <Projects Include="..\..\Brokers\IBX\D2010\IOIBX.dproj">
+ <Dependencies/>
+ </Projects>
+ <Projects Include="..\..\Brokers\XML\D2010\IOXML.dproj">
+ <Dependencies/>
+ </Projects>
+ </ItemGroup>
+ <ProjectExtensions>
+ <Borland.Personality>Default.Personality.12</Borland.Personality>
+ <Borland.ProjectType/>
+ <BorlandProject>
+ <BorlandProject>
+ <Default.Personality/>
+ </BorlandProject>
+ </BorlandProject>
+ </ProjectExtensions>
+ <Target Name="IOCore">
+ <MSBuild Projects="..\..\Core\D2010\IOCore.dproj"/>
+ </Target>
+ <Target Name="IOCore:Clean">
+ <MSBuild Targets="Clean" Projects="..\..\Core\D2010\IOCore.dproj"/>
+ </Target>
+ <Target Name="IOCore:Make">
+ <MSBuild Targets="Make" Projects="..\..\Core\D2010\IOCore.dproj"/>
+ </Target>
+ <Target Name="IOIBFbCatalog">
+ <MSBuild Projects="..\..\Catalogs\IBFb\D2010\IOIBFbCatalog.dproj"/>
+ </Target>
+ <Target Name="IOIBFbCatalog:Clean">
+ <MSBuild Targets="Clean" Projects="..\..\Catalogs\IBFb\D2010\IOIBFbCatalog.dproj"/>
+ </Target>
+ <Target Name="IOIBFbCatalog:Make">
+ <MSBuild Targets="Make" Projects="..\..\Catalogs\IBFb\D2010\IOIBFbCatalog.dproj"/>
+ </Target>
+ <Target Name="IOMSSqlCatalog">
+ <MSBuild Projects="..\..\Catalogs\MSSql\D2010\IOMSSqlCatalog.dproj"/>
+ </Target>
+ <Target Name="IOMSSqlCatalog:Clean">
+ <MSBuild Targets="Clean" Projects="..\..\Catalogs\MSSql\D2010\IOMSSqlCatalog.dproj"/>
+ </Target>
+ <Target Name="IOMSSqlCatalog:Make">
+ <MSBuild Targets="Make" Projects="..\..\Catalogs\MSSql\D2010\IOMSSqlCatalog.dproj"/>
+ </Target>
+ <Target Name="IOMySQLCatalog">
+ <MSBuild Projects="..\..\Catalogs\MySQL\D2010\IOMySQLCatalog.dproj"/>
+ </Target>
+ <Target Name="IOMySQLCatalog:Clean">
+ <MSBuild Targets="Clean" Projects="..\..\Catalogs\MySQL\D2010\IOMySQLCatalog.dproj"/>
+ </Target>
+ <Target Name="IOMySQLCatalog:Make">
+ <MSBuild Targets="Make" Projects="..\..\Catalogs\MySQL\D2010\IOMySQLCatalog.dproj"/>
+ </Target>
+ <Target Name="IOADO">
+ <MSBuild Projects="..\..\Brokers\ADO\D2010\IOADO.dproj"/>
+ </Target>
+ <Target Name="IOADO:Clean">
+ <MSBuild Targets="Clean" Projects="..\..\Brokers\ADO\D2010\IOADO.dproj"/>
+ </Target>
+ <Target Name="IOADO:Make">
+ <MSBuild Targets="Make" Projects="..\..\Brokers\ADO\D2010\IOADO.dproj"/>
+ </Target>
+ <Target Name="IOBDE">
+ <MSBuild Projects="..\..\Brokers\BDE\D2010\IOBDE.dproj"/>
+ </Target>
+ <Target Name="IOBDE:Clean">
+ <MSBuild Targets="Clean" Projects="..\..\Brokers\BDE\D2010\IOBDE.dproj"/>
+ </Target>
+ <Target Name="IOBDE:Make">
+ <MSBuild Targets="Make" Projects="..\..\Brokers\BDE\D2010\IOBDE.dproj"/>
+ </Target>
+ <Target Name="IODBX">
+ <MSBuild Projects="..\..\Brokers\DBX\D2010\IODBX.dproj"/>
+ </Target>
+ <Target Name="IODBX:Clean">
+ <MSBuild Targets="Clean" Projects="..\..\Brokers\DBX\D2010\IODBX.dproj"/>
+ </Target>
+ <Target Name="IODBX:Make">
+ <MSBuild Targets="Make" Projects="..\..\Brokers\DBX\D2010\IODBX.dproj"/>
+ </Target>
+ <Target Name="IOIBX">
+ <MSBuild Projects="..\..\Brokers\IBX\D2010\IOIBX.dproj"/>
+ </Target>
+ <Target Name="IOIBX:Clean">
+ <MSBuild Targets="Clean" Projects="..\..\Brokers\IBX\D2010\IOIBX.dproj"/>
+ </Target>
+ <Target Name="IOIBX:Make">
+ <MSBuild Targets="Make" Projects="..\..\Brokers\IBX\D2010\IOIBX.dproj"/>
+ </Target>
+ <Target Name="IOXML">
+ <MSBuild Projects="..\..\Brokers\XML\D2010\IOXML.dproj"/>
+ </Target>
+ <Target Name="IOXML:Clean">
+ <MSBuild Targets="Clean" Projects="..\..\Brokers\XML\D2010\IOXML.dproj"/>
+ </Target>
+ <Target Name="IOXML:Make">
+ <MSBuild Targets="Make" Projects="..\..\Brokers\XML\D2010\IOXML.dproj"/>
+ </Target>
+ <Target Name="Build">
+ <CallTarget Targets="IOCore;IOIBFbCatalog;IOMSSqlCatalog;IOMySQLCatalog;IOADO;IOBDE;IODBX;IOIBX;IOXML"/>
+ </Target>
+ <Target Name="Clean">
+ <CallTarget Targets="IOCore:Clean;IOIBFbCatalog:Clean;IOMSSqlCatalog:Clean;IOMySQLCatalog:Clean;IOADO:Clean;IOBDE:Clean;IODBX:Clean;IOIBX:Clean;IOXML:Clean"/>
+ </Target>
+ <Target Name="Make">
+ <CallTarget Targets="IOCore:Make;IOIBFbCatalog:Make;IOMSSqlCatalog:Make;IOMySQLCatalog:Make;IOADO:Make;IOBDE:Make;IODBX:Make;IOIBX:Make;IOXML:Make"/>
+ </Target>
+ <Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
+ </Project>
Property changes on: trunk/Source/PackageGroups/D2010/RunTimePackages.groupproj
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Deleted: trunk/Tests/TestIO_D2010.dpr
===================================================================
--- trunk/Tests/TestIO_D2010.dpr 2009-08-26 15:33:19 UTC (rev 865)
+++ trunk/Tests/TestIO_D2010.dpr 2009-08-26 15:45:12 UTC (rev 866)
@@ -1,68 +0,0 @@
-program TestIO_D2009;
-
-{$I '..\Source\InstantDefines.inc'}
-
-{$IFDEF FPC}
-{$mode objfpc}{$H+}
-{$ENDIF}
-
-uses
- Forms,
- guitestrunner,
- fpcunit,
- testregistry,
- testutils,
- testreport,
- InstantPersistence,
- InstantMock in 'InstantMock.pas',
- TestMockConnector in 'TestMockConnector.pas',
- TestMockBroker in 'TestMockBroker.pas',
- TestModel in 'TestModel.pas',
- TestInstantMetadata in 'TestInstantMetadata.pas',
- TestInstantFieldMetadata in 'TestInstantFieldMetadata.pas',
- TestInstantClassMetadata in 'TestInstantClassMetadata.pas',
- TestInstantAttributeMetadata in 'TestInstantAttributeMetadata.pas',
- TestInstantIndexMetadata in 'TestInstantIndexMetadata.pas',
- TestInstantTableMetadata in 'TestInstantTableMetadata.pas',
- TestInstantScheme in 'TestInstantScheme.pas',
- TestInstantClasses in 'TestInstantClasses.pas',
- TestInstantRtti in 'TestInstantRtti.pas',
- TestMinimalModel in 'TestMinimalModel.pas',
- TestInstantAttributeMap in 'TestInstantAttributeMap.pas',
- TestInstantAttribute in 'TestInstantAttribute.pas',
- TestInstantNumeric in 'TestInstantNumeric.pas',
- TestInstantInteger in 'TestInstantInteger.pas',
- TestInstantString in 'TestInstantString.pas',
- TestInstantDateTime in 'TestInstantDateTime.pas',
- TestInstantDate in 'TestInstantDate.pas',
- TestInstantTime in 'TestInstantTime.pas',
- TestInstantBoolean in 'TestInstantBoolean.pas',
- TestInstantFloat in 'TestInstantFloat.pas',
- TestInstantCurrency in 'TestInstantCurrency.pas',
- TestInstantBlob in 'TestInstantBlob.pas',
- TestInstantComplex in 'TestInstantComplex.pas',
- TestInstantPart in 'TestInstantPart.pas',
- TestInstantReference in 'TestInstantReference.pas',
- TestInstantObject in 'TestInstantObject.pas',
- TestInstantObjectState in 'TestInstantObjectState.pas',
- TestInstantCache in 'TestInstantCache.pas',
- TestInstantObjectStore in 'TestInstantObjectStore.pas',
- TestInstantParts in 'TestInstantParts.pas',
- TestInstantReferences in 'TestInstantReferences.pas',
- TestInstantCircularReferences in 'TestInstantCircularReferences.pas',
- TestInstantObjectReference in 'TestInstantObjectReference.pas',
- MinimalModel in 'MinimalModel.pas',
- TestXMLBroker in 'TestXMLBroker.pas',
- TestInstantCode in 'TestInstantCode.pas';
-
-{$R *.res}
-{$R *.mdr} {TestModel}
-
-begin
- Application.Initialize;
- InstantModel.ClassMetadatas.Clear;
- Application.CreateForm(TGUITestRunner, TestRunner);
- //Application.CreateForm(TTestRunner, TestRunner);
- Application.Run;
-end.
-
Deleted: trunk/Tests/TestIO_D2010.dproj
===================================================================
--- trunk/Tests/TestIO_D2010.dproj 2009-08-26 15:33:19 UTC (rev 865)
+++ trunk/Tests/TestIO_D2010.dproj 2009-08-26 15:45:12 UTC (rev 866)
@@ -1,159 +0,0 @@
- <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <ProjectGuid>{015d41df-eb42-4172-b75c-3e0f464f00cc}</ProjectGuid>
- <MainSource>TestIO_D2009.dpr</MainSource>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
- <DCC_DependencyCheckOutputName>TestIO_D2009.exe</DCC_DependencyCheckOutputName>
- <ProjectVersion>12.0</ProjectVersion>
- <Config Condition="'$(Config)'==''">Debug</Config>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
- <Base>true</Base>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
- <Cfg_1>true</Cfg_1>
- <CfgParent>Base</CfgParent>
- <Base>true</Base>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
- <Cfg_2>true</Cfg_2>
- <CfgParent>Base</CfgParent>
- <Base>true</Base>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Base)'!=''">
- <DCC_UnitSearchPath>..\Source\Core;..\Source\Brokers\XML;.\ubmock\src;.\DUnit\src;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
- <DCC_DebugDCUs>true</DCC_DebugDCUs>
- <DCC_DependencyCheckOutputName>TestIO_D2009.exe</DCC_DependencyCheckOutputName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Cfg_1)'!=''">
- <Version>7.0</Version>
- <DCC_DebugInformation>False</DCC_DebugInformation>
- <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
- <DCC_Optimize>False</DCC_Optimize>
- <DCC_TypedAtParameter>True</DCC_TypedAtParameter>
- <DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
- <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
- <DCC_ResourcePath>..\Source\Core;.\ubmock\src;$(DCC_ResourcePath)</DCC_ResourcePath>
- <DCC_ObjPath>..\Source\Core;.\ubmock\src;$(DCC_ObjPath)</DCC_ObjPath>
- <DCC_IncludePath>..\Source\Core;.\ubmock\src;$(DCC_IncludePath)</DCC_IncludePath>
- <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Cfg_2)'!=''">
- <Version>7.0</Version>
- <DCC_Optimize>False</DCC_Optimize>
- <DCC_TypedAtParameter>True</DCC_TypedAtParameter>
- <DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
- <DCC_ResourcePath>..\Source\Core;.\ubmock\src;$(DCC_ResourcePath)</DCC_ResourcePath>
- <DCC_ObjPath>..\Source\Core;.\ubmock\src;$(DCC_ObjPath)</DCC_ObjPath>
- <DCC_IncludePath>..\Source\Core;.\ubmock\src;$(DCC_IncludePath)</DCC_IncludePath>
- <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
- </PropertyGroup>
- <ItemGroup>
- <DelphiCompile Include="TestIO_D2009.dpr">
- <MainSource>MainSource</MainSource>
- </DelphiCompile>
- <DCCReference Include="InstantMock.pas"/>
- <DCCReference Include="TestMockConnector.pas"/>
- <DCCReference Include="TestMockBroker.pas"/>
- <DCCReference Include="TestModel.pas"/>
- <DCCReference Include="TestInstantMetadata.pas"/>
- <DCCReference Include="TestInstantFieldMetadata.pas"/>
- <DCCReference Include="TestInstantClassMetadata.pas"/>
- <DCCReference Include="TestInstantAttributeMetadata.pas"/>
- <DCCReference Include="TestInstantIndexMetadata.pas"/>
- <DCCReference Include="TestInstantTableMetadata.pas"/>
- <DCCReference Include="TestInstantScheme.pas"/>
- <DCCReference Include="TestInstantClasses.pas"/>
- <DCCReference Include="TestInstantRtti.pas"/>
- <DCCReference Include="TestMinimalModel.pas"/>
- <DCCReference Include="TestInstantAttributeMap.pas"/>
- <DCCReference Include="TestInstantAttribute.pas"/>
- <DCCReference Include="TestInstantNumeric.pas"/>
- <DCCReference Include="TestInstantInteger.pas"/>
- <DCCReference Include="TestInstantString.pas"/>
- <DCCReference Include="TestInstantDateTime.pas"/>
- <DCCReference Include="TestInstantDate.pas"/>
- <DCCReference Include="TestInstantTime.pas"/>
- <DCCReference Include="TestInstantBoolean.pas"/>
- <DCCReference Include="TestInstantFloat.pas"/>
- <DCCReference Include="TestInstantCurrency.pas"/>
- <DCCReference Include="TestInstantBlob.pas"/>
- <DCCReference Include="TestInstantComplex.pas"/>
- <DCCReference Include="TestInstantPart.pas"/>
- <DCCReference Include="TestInstantReference.pas"/>
- <DCCReference Include="TestInstantObject.pas"/>
- <DCCReference Include="TestInstantObjectState.pas"/>
- <DCCReference Include="TestInstantCache.pas"/>
- <DCCReference Include="TestInstantObjectStore.pas"/>
- <DCCReference Include="TestInstantParts.pas"/>
- <DCCReference Include="TestInstantReferences.pas"/>
- <DCCReference Include="TestInstantCircularReferences.pas"/>
- <DCCReference Include="TestInstantObjectReference.pas"/>
- <DCCReference Include="MinimalModel.pas"/>
- <DCCReference Include="TestXMLBroker.pas"/>
- <DCCReference Include="TestInstantCode.pas"/>
- <BuildConfiguration Include="Base">
- <Key>Base</Key>
- </BuildConfiguration>
- <BuildConfiguration Include="Debug">
- <Key>Cfg_2</Key>
- <CfgParent>Base</CfgParent>
- </BuildConfiguration>
- <BuildConfiguration Include="Release">
- <Key>Cfg_1</Key>
- <CfgParent>Base</CfgParent>
- </BuildConfiguration>
- </ItemGroup>
- <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
- <ProjectExtensions>
- <Borland.Personality>Delphi.Personality.12</Borland.Personality>
- <Borland.ProjectType>VCLApplication</Borland.ProjectType>
- <BorlandProject>
- <Delphi.Personality>
- <Compiler>
- <Compiler Name="UsePackages">False</Compiler>
- <Compiler Name="Packages">vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;adortl;vclactnband;vclshlctrls;CS30Logging70;Rz30Ctls70;Rz30DBCtls70;ip4000v7;Rave60VCL;Rave60CLX;madBasic_;madDisAsm_;CLXIB;ibxpress;VCLIB;IOCore;IOIBX</Compiler>
- </Compiler>
- <Parameters>
- <Parameters Name="DebugSourceDirs">..\Source\Core</Parameters>
- <Parameters Name="UseLauncher">False</Parameters>
- <Parameters Name="LoadAllSymbols">True</Parameters>
- <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
- </Parameters>
- <VersionInfo>
- <VersionInfo Name="IncludeVerInfo">False</VersionInfo>
- <VersionInfo Name="AutoIncBuild">False</VersionInfo>
- <VersionInfo Name="MajorVer">1</VersionInfo>
- <VersionInfo Name="MinorVer">0</VersionInfo>
- <VersionInfo Name="Release">0</VersionInfo>
- <VersionInfo Name="Build">0</VersionInfo>
- <VersionInfo Name="Debug">False</VersionInfo>
- <VersionInfo Name="PreRelease">False</VersionInfo>
- <VersionInfo Name="Special">False</VersionInfo>
- <VersionInfo Name="Private">False</VersionInfo>
- <VersionInfo Name="DLL">False</VersionInfo>
- <VersionInfo Name="Locale">3081</VersionInfo>
- <VersionInfo Name="CodePage">1252</VersionInfo>
- </VersionInfo>
- <VersionInfoKeys>
- <VersionInfoKeys Name="CompanyName"/>
- <VersionInfoKeys Name="FileDescription"/>
- <VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
- <VersionInfoKeys Name="InternalName"/>
- <VersionInfoKeys Name="LegalCopyright"/>
- <VersionInfoKeys Name="LegalTrademarks"/>
- <VersionInfoKeys Name="OriginalFilename"/>
- <VersionInfoKeys Name="ProductName"/>
- <VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
- <VersionInfoKeys Name="Comments"/>
- </VersionInfoKeys>
- <Source>
- <Source Name="MainSource">TestIO_D2009.dpr</Source>
- </Source>
- </Delphi.Personality>
- </BorlandProject>
- <ProjectFileVersion>12</ProjectFileVersion>
- </ProjectExtensions>
- </Project>
Deleted: trunk/Tests/TestIO_D2010.res
===================================================================
(Binary files differ)
|
|
From: <na...@us...> - 2009-08-28 07:35:05
|
Revision: 867
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=867&view=rev
Author: nandod
Date: 2009-08-28 07:34:57 +0000 (Fri, 28 Aug 2009)
Log Message:
-----------
* Fixed: ORDER BY was only working correctly under the default connector in XML broker. Test case added.
* Fixed: XML broker didn't catch up totally with new XML pretty formatting.
Modified Paths:
--------------
trunk/Source/Brokers/XML/InstantXML.pas
trunk/Tests/TestXMLBroker.pas
Modified: trunk/Source/Brokers/XML/InstantXML.pas
===================================================================
--- trunk/Source/Brokers/XML/InstantXML.pas 2009-08-26 15:45:12 UTC (rev 866)
+++ trunk/Source/Brokers/XML/InstantXML.pas 2009-08-28 07:34:57 UTC (rev 867)
@@ -325,8 +325,8 @@
implementation
uses
- SysUtils, InstantConsts, InstantClasses, TypInfo, InstantXMLCatalog,
- InstantXMLConnectionDefEdit, InstantUtils,
+ SysUtils, InstantConsts, InstantClasses,
+ TypInfo, InstantXMLCatalog, InstantXMLConnectionDefEdit, InstantUtils,
{$IFDEF MSWINDOWS}
{$IFNDEF D6+}
FileCtrl,
@@ -421,6 +421,14 @@
Result := StrToIntDef(S, 0);
end;
+function GetXMLLineBreak: string;
+begin
+ if InstantXMLIndentationSize > 0 then
+ Result := sLineBreak
+ else
+ Result := '';
+end;
+
{ TInstantXMLConnectionDef }
class function TInstantXMLConnectionDef.ConnectionTypeName: string;
@@ -1055,12 +1063,12 @@
P := (L + R) shr 1;
repeat
while Compare(nil,
- TInstantObjectReference(List[I]).Dereference,
- TInstantObjectReference(List[P]).Dereference) < 0 do
+ TInstantObjectReference(List[I]).Dereference(Connector),
+ TInstantObjectReference(List[P]).Dereference(Connector)) < 0 do
Inc(I);
while Compare(nil,
- TInstantObjectReference(List[J]).Dereference,
- TInstantObjectReference(List[P]).Dereference) > 0 do
+ TInstantObjectReference(List[J]).Dereference(Connector),
+ TInstantObjectReference(List[P]).Dereference(Connector)) > 0 do
Dec(J);
if I <= J then
begin
@@ -1140,7 +1148,7 @@
strstream := TStringStream.Create('', TEncoding.UTF8);
try
InstantWriteObject(strStream, sfXML, AObject);
- DataStr := XML_UTF8_HEADER + UTF8String(strStream.DataString);
+ DataStr := XML_UTF8_HEADER + UTF8String(GetXMLLineBreak) + UTF8String(strStream.DataString);
finally
strStream.Free;
end;
@@ -1164,9 +1172,9 @@
InstantWriteObject(strStream, sfXML, AObject);
{$IFDEF D6+}
if FXMLFileFormat = xffUtf8 then
- DataStr := AnsiToUtf8(XML_UTF8_HEADER + strStream.DataString)
+ DataStr := AnsiToUtf8(XML_UTF8_HEADER + GetXMLLineBreak + strStream.DataString)
else
- DataStr := XML_ISO_HEADER + strStream.DataString;
+ DataStr := XML_ISO_HEADER + GetXMLLineBreak + strStream.DataString;
{$ELSE}
DataStr := strStream.DataString;
{$ENDIF}
Modified: trunk/Tests/TestXMLBroker.pas
===================================================================
--- trunk/Tests/TestXMLBroker.pas 2009-08-26 15:45:12 UTC (rev 866)
+++ trunk/Tests/TestXMLBroker.pas 2009-08-28 07:34:57 UTC (rev 867)
@@ -45,19 +45,21 @@
procedure TearDown; override;
published
procedure TestStoreAndRetrieveContact;
+ procedure TestOrderBy;
end;
implementation
uses
- SysUtils, InstantPersistence, TestModel;
+ SysUtils, ShellAPI, InstantPersistence, TestModel;
{ TTestXMLBroker }
procedure TTestXMLBroker.SetUp;
begin
FAcc := TXMLFilesAccessor.Create(nil);
- FAcc.RootFolder := ExtractFilePath(ParamStr(0));
+ FAcc.RootFolder := ExtractFilePath(ParamStr(0)) + 'XMLDB';
+ ForceDirectories(FAcc.RootFolder);
FConn := TInstantXMLConnector.Create(nil);
FConn.Connection := FAcc;
@@ -67,13 +69,99 @@
end;
procedure TTestXMLBroker.TearDown;
+
+ function DelTree(DirName: string): Boolean;
+ var
+ SHFileOpStruct : TSHFileOpStruct;
+ begin
+ try
+ Fillchar(SHFileOpStruct,Sizeof(SHFileOpStruct),0) ;
+ with SHFileOpStruct do begin
+ Wnd := 0;
+ pFrom := PChar(ExcludeTrailingPathDelimiter(DirName) + #0);
+ wFunc := FO_DELETE;
+ fFlags := FOF_ALLOWUNDO;
+ fFlags := fFlags or FOF_NOCONFIRMATION;
+ fFlags := fFlags or FOF_SILENT;
+ end;
+ Result := (SHFileOperation(SHFileOpStruct) = 0) ;
+ except
+ Result := False;
+ end;
+ end;
+
begin
inherited;
InstantModel.ClassMetadatas.Clear;
FreeAndNil(FConn);
+ DelTree(FAcc.RootFolder);
FreeAndNil(FAcc);
end;
+procedure TTestXMLBroker.TestOrderBy;
+var
+ c1, c2: TContact;
+ t: TPhone;
+ LQuery: TInstantQuery;
+begin
+ FConn.IsDefault := True;
+
+ c1 := TContact.Create;
+ try
+ c1.Name := 'ZZTop';
+ c1.Address.City := 'Dallas';
+ t := TPhone.Create;
+ t.Name := 'Home';
+ t.Number := '012 12345678';
+ c1.AddPhone(t);
+ AssertEquals(1, c1.PhoneCount);
+ t := TPhone.Create;
+ t.Name := 'Office';
+ t.Number := '012 23456781';
+ c1.AddPhone(t);
+ AssertEquals(2, c1.PhoneCount);
+ c1.Store;
+ finally
+ FreeAndNil(c1);
+ end;
+
+ c2 := TContact.Create;
+ try
+ c2.Name := 'Aaronson';
+ c2.Address.City := 'Las Vegas';
+ t := TPhone.Create;
+ t.Name := 'Home';
+ t.Number := '012 12345678';
+ c2.AddPhone(t);
+ AssertEquals(1, c2.PhoneCount);
+ t := TPhone.Create;
+ t.Name := 'Office';
+ t.Number := '012 23456781';
+ c2.AddPhone(t);
+ AssertEquals(2, c2.PhoneCount);
+ c2.Store;
+ finally
+ FreeAndNil(c2);
+ end;
+
+ LQuery := InstantDefaultConnector.CreateQuery;
+ try
+ LQuery.Command := 'select * from TContact order by Name';
+ LQuery.Open;
+ AssertEquals(LQuery.ObjectCount, 2);
+ AssertEquals((LQuery.Objects[0] as TContact).Name, 'Aaronson');
+ LQuery.Close;
+
+ LQuery.Command := 'select * from TContact order by Name desc';
+ LQuery.Open;
+ AssertEquals(LQuery.ObjectCount, 2);
+ AssertEquals((LQuery.Objects[0] as TContact).Name, 'ZZTop');
+ LQuery.Close;
+ finally
+ FreeAndNil(LQuery);
+ end;
+end;
+
procedure TTestXMLBroker.TestStoreAndRetrieveContact;
const
DEF_NAME = 'Mike Art\xF9';
|
|
From: <na...@us...> - 2009-08-29 07:58:11
|
Revision: 869
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=869&view=rev
Author: nandod
Date: 2009-08-29 07:57:59 +0000 (Sat, 29 Aug 2009)
Log Message:
-----------
* Fixed regression: XML object output was not encoding entities such as " correctly. TestIO updated.
Modified Paths:
--------------
trunk/Source/Core/InstantClasses.pas
trunk/Tests/TestXMLBroker.pas
Modified: trunk/Source/Core/InstantClasses.pas
===================================================================
--- trunk/Source/Core/InstantClasses.pas 2009-08-28 07:36:34 UTC (rev 868)
+++ trunk/Source/Core/InstantClasses.pas 2009-08-29 07:57:59 UTC (rev 869)
@@ -1470,7 +1470,7 @@
Esc := 'gt';
end;
Esc := Format(EscStr, [Esc]);
- LString := LString + EscStr;
+ LString := LString + Esc;
end
else
LString := LString + C;
Modified: trunk/Tests/TestXMLBroker.pas
===================================================================
--- trunk/Tests/TestXMLBroker.pas 2009-08-28 07:36:34 UTC (rev 868)
+++ trunk/Tests/TestXMLBroker.pas 2009-08-29 07:57:59 UTC (rev 869)
@@ -164,7 +164,7 @@
procedure TTestXMLBroker.TestStoreAndRetrieveContact;
const
- DEF_NAME = 'Mike Art\xF9';
+ DEF_NAME = 'Mike "Art\xF9"';
DEF_CITY = 'Milan (\x80)';
var
c: TContact;
@@ -196,8 +196,8 @@
try
AssertNotNull('Object not retrieved', c);
AssertEquals(old_id, c.Id);
- AssertEquals(c.Name, DEF_NAME);
- AssertEquals(c.Address.City, DEF_CITY);
+ AssertEquals(DEF_NAME, c.Name);
+ AssertEquals(DEF_CITY, c.Address.City);
AssertNotNull(c.Address);
AssertEquals(2, c.PhoneCount);
finally
|
|
From: <na...@us...> - 2010-09-11 16:27:57
|
Revision: 901
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=901&view=rev
Author: nandod
Date: 2010-09-11 16:27:50 +0000 (Sat, 11 Sep 2010)
Log Message:
-----------
* svn:ignore set.
* Small change to XML test.
Modified Paths:
--------------
trunk/Tests/TestXMLBroker.pas
Added Paths:
-----------
trunk/Tests/XMLDB/
Property Changed:
----------------
trunk/Source/Brokers/DBX/D2010/
trunk/Source/Brokers/IBX/D2010/
trunk/Source/Brokers/XML/D2010/
trunk/Source/Core/D2010/
Property changes on: trunk/Source/Brokers/DBX/D2010
___________________________________________________________________
Modified: svn:ignore
- *.dcu
*.local
+ *.dcu
*.local
*.identcache
Property changes on: trunk/Source/Brokers/IBX/D2010
___________________________________________________________________
Modified: svn:ignore
- *.local
*.dcu
+ *.local
*.dcu
*.identcache
Property changes on: trunk/Source/Brokers/XML/D2010
___________________________________________________________________
Modified: svn:ignore
- *.dcu
*.local
+ *.dcu
*.local
*.identcache
Property changes on: trunk/Source/Core/D2010
___________________________________________________________________
Modified: svn:ignore
- *.dcu
*.local
*.identcache
+ *.dcu
*.local
*.identcache
__history
Modified: trunk/Tests/TestXMLBroker.pas
===================================================================
--- trunk/Tests/TestXMLBroker.pas 2010-08-12 19:20:19 UTC (rev 900)
+++ trunk/Tests/TestXMLBroker.pas 2010-09-11 16:27:50 UTC (rev 901)
@@ -164,7 +164,7 @@
procedure TTestXMLBroker.TestStoreAndRetrieveContact;
const
- DEF_NAME = 'Mike "Art\xF9"';
+ DEF_NAME = 'Mike ''Art\xF9''';
DEF_CITY = 'Milan (\x80)';
var
c: TContact;
|
|
From: <dav...@us...> - 2010-09-15 02:55:48
|
Revision: 913
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=913&view=rev
Author: davidvtaylor
Date: 2010-09-15 02:55:41 +0000 (Wed, 15 Sep 2010)
Log Message:
-----------
* Fix deprecation warnings in the TestIO unit test runner when compiled with Delphi XE
+ Add Delphi XE specific version of TestIO (Delphi XE uses a new project file version)
Modified Paths:
--------------
trunk/Source/PackageGroups/D2011/CorePackages.groupproj
trunk/Tests/TestInstantClasses.pas
trunk/Tests/TestInstantCurrency.pas
trunk/Tests/TestInstantFloat.pas
trunk/Tests/TestInstantNumeric.pas
trunk/Tests/TestInstantRtti.pas
trunk/Tests/TestInstantString.pas
Added Paths:
-----------
trunk/Tests/TestIO_D2011.dpr
trunk/Tests/TestIO_D2011.res
Modified: trunk/Source/PackageGroups/D2011/CorePackages.groupproj
===================================================================
--- trunk/Source/PackageGroups/D2011/CorePackages.groupproj 2010-09-15 02:38:52 UTC (rev 912)
+++ trunk/Source/PackageGroups/D2011/CorePackages.groupproj 2010-09-15 02:55:41 UTC (rev 913)
@@ -21,7 +21,7 @@
<Projects Include="..\..\Brokers\XML\D2011\DclIOXML.dproj">
<Dependencies/>
</Projects>
- <Projects Include="..\..\..\Tests\TestIO_D2009.dproj">
+ <Projects Include="..\..\..\Tests\TestIO_D2011.dproj">
<Dependencies/>
</Projects>
</ItemGroup>
@@ -86,23 +86,23 @@
<Target Name="DclIOXML:Make">
<MSBuild Targets="Make" Projects="..\..\Brokers\XML\D2011\DclIOXML.dproj"/>
</Target>
- <Target Name="TestIO_D2009">
- <MSBuild Projects="..\..\..\Tests\TestIO_D2009.dproj"/>
+ <Target Name="TestIO_D2011">
+ <MSBuild Projects="..\..\..\Tests\TestIO_D2011.dproj"/>
</Target>
- <Target Name="TestIO_D2009:Clean">
- <MSBuild Targets="Clean" Projects="..\..\..\Tests\TestIO_D2009.dproj"/>
+ <Target Name="TestIO_D2011:Clean">
+ <MSBuild Targets="Clean" Projects="..\..\..\Tests\TestIO_D2011.dproj"/>
</Target>
- <Target Name="TestIO_D2009:Make">
- <MSBuild Targets="Make" Projects="..\..\..\Tests\TestIO_D2009.dproj"/>
+ <Target Name="TestIO_D2011:Make">
+ <MSBuild Targets="Make" Projects="..\..\..\Tests\TestIO_D2011.dproj"/>
</Target>
<Target Name="Build">
- <CallTarget Targets="IOCore;DclIOCore;IOBDE;DclIOBDE;IOXML;DclIOXML;TestIO_D2009"/>
+ <CallTarget Targets="IOCore;DclIOCore;IOBDE;DclIOBDE;IOXML;DclIOXML;TestIO_D2011"/>
</Target>
<Target Name="Clean">
- <CallTarget Targets="IOCore:Clean;DclIOCore:Clean;IOBDE:Clean;DclIOBDE:Clean;IOXML:Clean;DclIOXML:Clean;TestIO_D2009:Clean"/>
+ <CallTarget Targets="IOCore:Clean;DclIOCore:Clean;IOBDE:Clean;DclIOBDE:Clean;IOXML:Clean;DclIOXML:Clean;TestIO_D2011:Clean"/>
</Target>
<Target Name="Make">
- <CallTarget Targets="IOCore:Make;DclIOCore:Make;IOBDE:Make;DclIOBDE:Make;IOXML:Make;DclIOXML:Make;TestIO_D2009:Make"/>
+ <CallTarget Targets="IOCore:Make;DclIOCore:Make;IOBDE:Make;DclIOBDE:Make;IOXML:Make;DclIOXML:Make;TestIO_D2011:Make"/>
</Target>
<Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
</Project>
Added: trunk/Tests/TestIO_D2011.dpr
===================================================================
--- trunk/Tests/TestIO_D2011.dpr (rev 0)
+++ trunk/Tests/TestIO_D2011.dpr 2010-09-15 02:55:41 UTC (rev 913)
@@ -0,0 +1,68 @@
+program TestIO_D2011;
+
+{$I '..\Source\InstantDefines.inc'}
+
+{$IFDEF FPC}
+{$mode objfpc}{$H+}
+{$ENDIF}
+
+uses
+ Forms,
+ guitestrunner,
+ fpcunit,
+ testregistry,
+ testutils,
+ testreport,
+ InstantPersistence,
+ InstantMock in 'InstantMock.pas',
+ TestMockConnector in 'TestMockConnector.pas',
+ TestMockBroker in 'TestMockBroker.pas',
+ TestModel in 'TestModel.pas',
+ TestInstantMetadata in 'TestInstantMetadata.pas',
+ TestInstantFieldMetadata in 'TestInstantFieldMetadata.pas',
+ TestInstantClassMetadata in 'TestInstantClassMetadata.pas',
+ TestInstantAttributeMetadata in 'TestInstantAttributeMetadata.pas',
+ TestInstantIndexMetadata in 'TestInstantIndexMetadata.pas',
+ TestInstantTableMetadata in 'TestInstantTableMetadata.pas',
+ TestInstantScheme in 'TestInstantScheme.pas',
+ TestInstantClasses in 'TestInstantClasses.pas',
+ TestInstantRtti in 'TestInstantRtti.pas',
+ TestMinimalModel in 'TestMinimalModel.pas',
+ TestInstantAttributeMap in 'TestInstantAttributeMap.pas',
+ TestInstantAttribute in 'TestInstantAttribute.pas',
+ TestInstantNumeric in 'TestInstantNumeric.pas',
+ TestInstantInteger in 'TestInstantInteger.pas',
+ TestInstantString in 'TestInstantString.pas',
+ TestInstantDateTime in 'TestInstantDateTime.pas',
+ TestInstantDate in 'TestInstantDate.pas',
+ TestInstantTime in 'TestInstantTime.pas',
+ TestInstantBoolean in 'TestInstantBoolean.pas',
+ TestInstantFloat in 'TestInstantFloat.pas',
+ TestInstantCurrency in 'TestInstantCurrency.pas',
+ TestInstantBlob in 'TestInstantBlob.pas',
+ TestInstantComplex in 'TestInstantComplex.pas',
+ TestInstantPart in 'TestInstantPart.pas',
+ TestInstantReference in 'TestInstantReference.pas',
+ TestInstantObject in 'TestInstantObject.pas',
+ TestInstantObjectState in 'TestInstantObjectState.pas',
+ TestInstantCache in 'TestInstantCache.pas',
+ TestInstantObjectStore in 'TestInstantObjectStore.pas',
+ TestInstantParts in 'TestInstantParts.pas',
+ TestInstantReferences in 'TestInstantReferences.pas',
+ TestInstantCircularReferences in 'TestInstantCircularReferences.pas',
+ TestInstantObjectReference in 'TestInstantObjectReference.pas',
+ MinimalModel in 'MinimalModel.pas',
+ TestXMLBroker in 'TestXMLBroker.pas',
+ TestInstantCode in 'TestInstantCode.pas';
+
+{$R *.res}
+{$R *.mdr} {TestModel}
+
+begin
+ Application.Initialize;
+ InstantModel.ClassMetadatas.Clear;
+ Application.CreateForm(TGUITestRunner, TestRunner);
+ //Application.CreateForm(TTestRunner, TestRunner);
+ Application.Run;
+end.
+
Property changes on: trunk/Tests/TestIO_D2011.dpr
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/Tests/TestIO_D2011.res
===================================================================
(Binary files differ)
Property changes on: trunk/Tests/TestIO_D2011.res
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/Tests/TestInstantClasses.pas
===================================================================
--- trunk/Tests/TestInstantClasses.pas 2010-09-15 02:38:52 UTC (rev 912)
+++ trunk/Tests/TestInstantClasses.pas 2010-09-15 02:55:41 UTC (rev 913)
@@ -30,6 +30,12 @@
unit TestInstantClasses;
+{$IFDEF LINUX}
+{$I '../../InstantDefines.inc'}
+{$ELSE}
+{$I '..\..\InstantDefines.inc'}
+{$ENDIF}
+
interface
uses
@@ -400,7 +406,8 @@
AssertEquals('TInstantGuineaPig', ic.Reader.ReadStr); //la stringa con il classname
c.ConvertToText(ic);
ic.Producer.eof; //to flush the buffer
- AssertEquals('ConvertToText', '<Age>2</Age>' + LLineBreak + '<Weight>1' + DecimalSeparator +
+ AssertEquals('ConvertToText', '<Age>2</Age>' + LLineBreak + '<Weight>1' +
+ {$IFDEF D15+}FormatSettings.{$ENDIF}DecimalSeparator +
'123</Weight>' + LLineBreak + '<PigName>Miss piggy</PigName>' + LLineBreak, outs.DataString);
finally
ic.Free;
@@ -420,7 +427,8 @@
InstantObjectBinaryToText(ins, outs);
AssertEquals('InstantObjectBinaryToText',
'<TInstantGuineaPig>' + LLineBreak + LIndentation + '<Age>2</Age>' + LLineBreak + LIndentation +
- '<Weight>1' + DecimalSeparator + '123</Weight>' + LLineBreak + LIndentation +
+ '<Weight>1' + {$IFDEF D15+}FormatSettings.{$ENDIF}DecimalSeparator +
+ '123</Weight>' + LLineBreak + LIndentation +
'<PigName>Miss piggy</PigName>' + LLineBreak + '</TInstantGuineaPig>' + LLineBreak,
outs.DataString);
finally
@@ -454,7 +462,8 @@
AssertEquals('InstantWriteObject(sfXML)',
'<TInstantGuineaPig>' + LLineBreak + LIndentation + '<Age>2</Age>' + LLineBreak + LIndentation +
- '<Weight>1' + DecimalSeparator + '123</Weight>' + LLineBreak + LIndentation +
+ '<Weight>1' + {$IFDEF D15+}FormatSettings.{$ENDIF}DecimalSeparator +
+ '123</Weight>' + LLineBreak + LIndentation +
'<PigName>Miss piggy</PigName>' + LLineBreak + '</TInstantGuineaPig>' + LLineBreak,
ms.DataString);
finally
Modified: trunk/Tests/TestInstantCurrency.pas
===================================================================
--- trunk/Tests/TestInstantCurrency.pas 2010-09-15 02:38:52 UTC (rev 912)
+++ trunk/Tests/TestInstantCurrency.pas 2010-09-15 02:55:41 UTC (rev 913)
@@ -30,6 +30,12 @@
unit TestInstantCurrency;
+{$IFDEF LINUX}
+{$I '../../InstantDefines.inc'}
+{$ELSE}
+{$I '..\..\InstantDefines.inc'}
+{$ENDIF}
+
interface
uses fpcunit, InstantPersistence, InstantMock, TestModel;
@@ -128,9 +134,11 @@
procedure TestTInstantCurrency.TestAsString;
begin
- FInstantCurrency.AsString := '15' + DecimalSeparator + '7';
+ FInstantCurrency.AsString := '15' +
+ {$IFDEF D15+}FormatSettings.{$ENDIF}DecimalSeparator + '7';
AssertEquals(15.7, FInstantCurrency.Value);
- AssertEquals('15' + DecimalSeparator + '7', FInstantCurrency.AsString);
+ AssertEquals('15' + {$IFDEF D15+}FormatSettings.{$ENDIF}DecimalSeparator +
+ '7', FInstantCurrency.AsString);
end;
procedure TestTInstantCurrency.TestAsVariant;
@@ -147,7 +155,8 @@
FInstantCurrency.Reset;
AssertEquals(1.3, FInstantCurrency.Value);
- FInstantCurrency.Metadata.DefaultValue := '15' + DecimalSeparator + '7';
+ FInstantCurrency.Metadata.DefaultValue := '15' +
+ {$IFDEF D15+}FormatSettings.{$ENDIF}DecimalSeparator + '7';
FInstantCurrency.Reset;
AssertEquals(15.7, FInstantCurrency.Value);
Modified: trunk/Tests/TestInstantFloat.pas
===================================================================
--- trunk/Tests/TestInstantFloat.pas 2010-09-15 02:38:52 UTC (rev 912)
+++ trunk/Tests/TestInstantFloat.pas 2010-09-15 02:55:41 UTC (rev 913)
@@ -30,6 +30,12 @@
unit TestInstantFloat;
+{$IFDEF LINUX}
+{$I '../../InstantDefines.inc'}
+{$ELSE}
+{$I '..\..\InstantDefines.inc'}
+{$ENDIF}
+
interface
uses fpcunit, InstantPersistence, InstantMock, TestModel;
@@ -123,9 +129,11 @@
procedure TestTInstantFloat.TestAsString;
begin
- FInstantFloat.AsString := '1' + DecimalSeparator + '3';
+ FInstantFloat.AsString := '1' +
+ {$IFDEF D15+}FormatSettings.{$ENDIF}DecimalSeparator + '3';
AssertEquals(1.3, FInstantFloat.Value);
- AssertEquals('1' + DecimalSeparator + '3', FInstantFloat.AsString);
+ AssertEquals('1' + {$IFDEF D15+}FormatSettings.{$ENDIF}DecimalSeparator +
+ '3', FInstantFloat.AsString);
end;
procedure TestTInstantFloat.TestAsVariant;
@@ -142,7 +150,8 @@
FInstantFloat.Reset;
AssertEquals(1.3, FInstantFloat.Value);
- FInstantFloat.Metadata.DefaultValue := '15' + DecimalSeparator + '7';
+ FInstantFloat.Metadata.DefaultValue := '15' +
+ {$IFDEF D15+}FormatSettings.{$ENDIF}DecimalSeparator + '7';
FInstantFloat.Reset;
AssertEquals(15.7, FInstantFloat.Value);
Modified: trunk/Tests/TestInstantNumeric.pas
===================================================================
--- trunk/Tests/TestInstantNumeric.pas 2010-09-15 02:38:52 UTC (rev 912)
+++ trunk/Tests/TestInstantNumeric.pas 2010-09-15 02:55:41 UTC (rev 913)
@@ -30,6 +30,12 @@
unit TestInstantNumeric;
+{$IFDEF LINUX}
+{$I '../../InstantDefines.inc'}
+{$ELSE}
+{$I '..\..\InstantDefines.inc'}
+{$ENDIF}
+
interface
uses fpcunit, InstantPersistence, InstantMock, TestModel;
@@ -134,7 +140,8 @@
FInstantNumeric.Value := 1000;
FInstantNumeric.Metadata.EditMask := '#,000'; //EditMask don't use ThousandSeparator var
- AssertEquals('1' + ThousandSeparator + '000', FInstantNumeric.DisplayText);
+ AssertEquals('1' + {$IFDEF D15+}FormatSettings.{$ENDIF}ThousandSeparator +
+ '000', FInstantNumeric.DisplayText);
end;
procedure TestTInstantNumeric.TestIsDefault;
Modified: trunk/Tests/TestInstantRtti.pas
===================================================================
--- trunk/Tests/TestInstantRtti.pas 2010-09-15 02:38:52 UTC (rev 912)
+++ trunk/Tests/TestInstantRtti.pas 2010-09-15 02:55:41 UTC (rev 913)
@@ -30,6 +30,12 @@
unit TestInstantRtti;
+{$IFDEF LINUX}
+{$I '../../InstantDefines.inc'}
+{$ELSE}
+{$I '..\..\InstantDefines.inc'}
+{$ENDIF}
+
interface
uses
@@ -190,8 +196,8 @@
var
ds, ts : string;
begin
- ds := DateSeparator;
- ts := TimeSeparator;
+ ds := {$IFDEF D15+}FormatSettings.{$ENDIF}DateSeparator;
+ ts := {$IFDEF D15+}FormatSettings.{$ENDIF}TimeSeparator;
AssertEquals('123', FormatMaskText('###','1234'));
AssertEquals('(123)_ - ', FormatMaskText('(000)_000-0000;0;*','123'));
@@ -209,7 +215,7 @@
AssertEquals('13'+ds+'02'+ds+'95',FormatMaskText('!99/99/00;0;','130295'));
AssertEquals('13'+ds+'02'+ds+'1995',FormatMaskText('!99/99/\1\900;0;','130295'));
AssertEquals('13 Gen 1995',FormatMaskText('!99 >L<LL \1\900;0;','13Gen95'));
- AssertEquals('21'+ts+'05'+TimeSeparator+'15',FormatMaskText('!90:00:00;0;','210515'));
+ AssertEquals('21'+ts+'05'+{$IFDEF D15+}FormatSettings.{$ENDIF}TimeSeparator+'15',FormatMaskText('!90:00:00;0;','210515'));
AssertEquals('13'+ts+'45',FormatMaskText('!90:00;0;','1345'));
end;
Modified: trunk/Tests/TestInstantString.pas
===================================================================
--- trunk/Tests/TestInstantString.pas 2010-09-15 02:38:52 UTC (rev 912)
+++ trunk/Tests/TestInstantString.pas 2010-09-15 02:55:41 UTC (rev 913)
@@ -30,6 +30,12 @@
unit TestInstantString;
+{$IFDEF LINUX}
+{$I '../../InstantDefines.inc'}
+{$ELSE}
+{$I '..\..\InstantDefines.inc'}
+{$ENDIF}
+
interface
uses fpcunit, InstantPersistence, InstantMock, TestModel;
@@ -104,7 +110,8 @@
begin
vCurr := 23.45;
FInstantString.AsCurrency := vCurr;
- AssertEquals('23' + DecimalSeparator + '45', FInstantString.Value);
+ AssertEquals('23' + {$IFDEF D15+}FormatSettings.{$ENDIF}DecimalSeparator +
+ '45', FInstantString.Value);
AssertEquals(vCurr, FInstantString.AsCurrency);
end;
@@ -118,7 +125,8 @@
procedure TestTInstantString.TestAsFloat;
begin
FInstantString.AsFloat := 89.45;
- AssertEquals('89' + DecimalSeparator + '45', FInstantString.Value);
+ AssertEquals('89' + {$IFDEF D15+}FormatSettings.{$ENDIF}DecimalSeparator +
+ '45', FInstantString.Value);
AssertEquals(89.45, FInstantString.AsFloat);
end;
|
|
From: <na...@us...> - 2010-09-16 10:28:44
|
Revision: 918
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=918&view=rev
Author: nandod
Date: 2010-09-16 10:28:36 +0000 (Thu, 16 Sep 2010)
Log Message:
-----------
+ Burst Load Mode. Includes support in PrimerExternal's Query form.
* svn:ignore set.
Modified Paths:
--------------
trunk/Demos/PrimerCross/QueryView.dfm
trunk/Demos/PrimerCross/QueryView.pas
trunk/Demos/PrimerCross/RandomData.pas
trunk/Source/Brokers/XML/InstantXML.pas
trunk/Source/Core/InstantBrokers.pas
trunk/Source/Core/InstantClasses.pas
trunk/Source/Core/InstantCommand.pas
trunk/Source/Core/InstantConsts.pas
trunk/Source/Core/InstantPersistence.pas
trunk/Source/Core/InstantPresentation.pas
trunk/Source/Core/InstantTypes.pas
Added Paths:
-----------
trunk/Docs/Burst_Load_Modes.txt
Property Changed:
----------------
trunk/Source/Brokers/ADO/DXE/
trunk/Source/Brokers/BDE/DXE/
trunk/Source/Brokers/DBX/DXE/
trunk/Source/Brokers/IBX/DXE/
trunk/Source/Brokers/XML/DXE/
trunk/Source/Catalogs/IBFb/DXE/
trunk/Source/Catalogs/MSSql/DXE/
trunk/Source/Catalogs/MySQL/DXE/
trunk/Source/Core/DXE/
trunk/Source/Design/DXE/
Modified: trunk/Demos/PrimerCross/QueryView.dfm
===================================================================
--- trunk/Demos/PrimerCross/QueryView.dfm 2010-09-16 10:07:33 UTC (rev 917)
+++ trunk/Demos/PrimerCross/QueryView.dfm 2010-09-16 10:28:36 UTC (rev 918)
@@ -19,16 +19,16 @@
BorderWidth = 30
TabOrder = 0
object CommandLabel: TLabel
- Left = 32
- Top = 16
+ Left = 30
+ Top = 14
Width = 47
Height = 13
Caption = '&Command'
FocusControl = CommandEdit
end
object ExampleLabel: TLabel
- Left = 125
- Top = 124
+ Left = 315
+ Top = 125
Width = 40
Height = 13
Caption = 'E&xample'
@@ -44,6 +44,14 @@
Caption = '&Max Count:'
FocusControl = MaxCountEdit
end
+ object Label1: TLabel
+ Left = 168
+ Top = 124
+ Width = 26
+ Height = 13
+ Caption = 'Mode'
+ FocusControl = LoadModeComboBox
+ end
object CommandEdit: TMemo
Left = 30
Top = 30
@@ -61,20 +69,19 @@
object ExecuteButton: TButton
Left = 30
Top = 119
- Width = 75
+ Width = 59
Height = 25
Action = ExecuteAction
- TabOrder = 2
+ TabOrder = 1
end
object ExampleComboBox: TComboBox
- Left = 168
+ Left = 361
Top = 121
- Width = 461
+ Width = 268
Height = 21
Style = csDropDownList
DropDownCount = 12
- ItemHeight = 13
- TabOrder = 1
+ TabOrder = 4
OnClick = ExampleComboBoxClick
end
object MaxCountEdit: TMaskEdit
@@ -84,9 +91,31 @@
Height = 21
EditMask = '#########;1; '
MaxLength = 9
- TabOrder = 3
+ TabOrder = 5
Text = '0 '
end
+ object LoadModeComboBox: TComboBox
+ Left = 202
+ Top = 121
+ Width = 101
+ Height = 21
+ Style = csDropDownList
+ ItemIndex = 0
+ TabOrder = 3
+ Text = 'Keys First'
+ Items.Strings = (
+ 'Keys First'
+ 'Full Burst')
+ end
+ object FetchAllCheckBox: TCheckBox
+ Left = 95
+ Top = 124
+ Width = 58
+ Height = 17
+ Alignment = taLeftJustify
+ Caption = 'Fetch All'
+ TabOrder = 2
+ end
end
object ResultPageControl: TPageControl
Left = 0
@@ -131,6 +160,24 @@
TabOrder = 0
end
end
+ object StatsTabSheet: TTabSheet
+ Caption = 'Stats'
+ ImageIndex = 2
+ object StatsMemo: TMemo
+ Left = 0
+ Top = 0
+ Width = 764
+ Height = 139
+ Align = alClient
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -13
+ Font.Name = 'Courier New'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 0
+ end
+ end
end
object TestSelector: TInstantSelector
AfterScroll = TestSelectorAfterScroll
Modified: trunk/Demos/PrimerCross/QueryView.pas
===================================================================
--- trunk/Demos/PrimerCross/QueryView.pas 2010-09-16 10:07:33 UTC (rev 917)
+++ trunk/Demos/PrimerCross/QueryView.pas 2010-09-16 10:28:36 UTC (rev 918)
@@ -40,6 +40,11 @@
ResultTabSheet: TTabSheet;
TranslatedQueryTabSheet: TTabSheet;
TranslatedQueryMemo: TMemo;
+ Label1: TLabel;
+ LoadModeComboBox: TComboBox;
+ StatsTabSheet: TTabSheet;
+ StatsMemo: TMemo;
+ FetchAllCheckBox: TCheckBox;
procedure ExecuteActionExecute(Sender: TObject);
procedure ExampleComboBoxClick(Sender: TObject);
procedure TestSelectorAfterScroll(DataSet: TDataSet);
@@ -63,7 +68,7 @@
{$R *.dfm}
uses
- InstantPersistence, InstantBrokers, InstantConsts;
+ InstantPersistence, InstantBrokers, InstantConsts, InstantTypes;
const
Examples: array[0..11, 0..1] of string = (
@@ -113,16 +118,31 @@
end;
procedure TQueryViewForm.ExecuteActionExecute(Sender: TObject);
+var
+ LStartTime: Cardinal;
begin
-{$IFDEF IO_STATEMENT_LOGGING}
- TranslatedQueryMemo.Clear;
-{$ENDIF}
- with TestSelector do
- begin
- Close;
- TestSelector.MaxCount := StrToInt(Trim(MaxCountEdit.text));
- Command.Text := CommandEdit.Text;
- Open;
+ LStartTime := GetTickCount;
+ try
+ TestSelector.RequestedLoadMode := TInstantLoadMode(LoadModeComboBox.ItemIndex);
+ {$IFDEF IO_STATEMENT_LOGGING}
+ TranslatedQueryMemo.Clear;
+ {$ENDIF}
+ with TestSelector do
+ begin
+ Close;
+ TestSelector.MaxCount := StrToInt(Trim(MaxCountEdit.Text));
+ Command.Text := CommandEdit.Text;
+ Open;
+ if FetchAllCheckBox.Checked then
+ while not Eof do
+ Next;
+ ResultPageControl.ActivePage := ResultTabSheet;
+ end;
+ finally
+ StatsMemo.Clear;
+ StatsMemo.Lines.Add('Requested load mode: ' + LoadModeComboBox.Items[Ord(TestSelector.RequestedLoadMode)]);
+ StatsMemo.Lines.Add('Actual load mode: ' + LoadModeComboBox.Items[Ord(TestSelector.ActualLoadMode)]);
+ StatsMemo.Lines.Add(Format('Elapsed time: %ns', [(GetTickCount - LStartTime) / 1000.00]));
end;
end;
Modified: trunk/Demos/PrimerCross/RandomData.pas
===================================================================
--- trunk/Demos/PrimerCross/RandomData.pas 2010-09-16 10:07:33 UTC (rev 917)
+++ trunk/Demos/PrimerCross/RandomData.pas 2010-09-16 10:28:36 UTC (rev 918)
@@ -158,6 +158,7 @@
2: Result := TripletName;
end;
Result[1] := UpCase(Result[1]);
+ Result := Result + ' ' + '\x80 \xE0\xF2\xE8 aa'
end;
function RandomCompanyName: string;
@@ -231,7 +232,7 @@
RandomStr(StreetBeginnings) +
RandomStr(StreetEndings) + ' ' +
RandomStr(StreetTypes) + ' ' +
- IntToStr((Random(499) + 1) div (Random(9) + 1) + 1);
+ IntToStr((Random(499) + 1) div (Random(9) + 1) + 1) + ' ' + '\x80 \xE0\xF2\xE8 aa';
end;
function RandomCity: string;
Added: trunk/Docs/Burst_Load_Modes.txt
===================================================================
--- trunk/Docs/Burst_Load_Modes.txt (rev 0)
+++ trunk/Docs/Burst_Load_Modes.txt 2010-09-16 10:28:36 UTC (rev 918)
@@ -0,0 +1,73 @@
+Burst Load Mode
+Nando Dessena, 14/09/2010
+
+What is it
+----------
+
+Burst Load Mode is an alternative way of retrieving objects in InstantObjects' SQL brokers. This new mode can be selected on a case by case basis by setting the new RequestedLoadMode property of an InstantSelector or InstantQuery to the value lmFullBurst.
+
+What does it do
+---------------
+
+When IO retrieves a set of objects through a SQL broker, the order of operations is as follows:
+1) Execute a select statement (we'll call it the primary query) that retrieves the primary keys of all objects selected by the IQL command.
+2) Fetch all records (up to MaxCount).
+3) For each record accessed, materialize the object. This implies executing one or more select statements to get all object data (main object query), containers and references (accessory queries). External storage implies more queries. The main query joins all the tables for the given class and ancestors.
+
+Burst Load Mode causes these changes:
+1) The primary query retrieves all object data, and not just the primary keys.
+2) All objects are materialized (up to MaxCount) from the obtained data set; this causes the execution of all accessory and external queries that in the standard case are executed at point 3, minus the main query, which is not needed anymore.
+
+This means that Burst Load Mode is much quicker when retrieving a dataset, whereas standard mode is best at getting the first records.
+
+When it is used
+---------------
+
+Burst Load Mode is well suited for all cases in which objects are selected (typically through an IQL command with a WHERE clause) to be processed. If the entire dataset is going to be fetched and all records visited anyway, then it's much quicker to do it in Burst Load Mode.
+
+The standard way is more of the "lazy load" kind, and as such it is more suited for when a list of objects is displayed for browsing, typically in a DBGrid, and not all objects are needed but just one or a few are selected to work with. In this case displaying the first records in the grid is much quicker in standard mode.
+
+Performance notes
+-----------------
+
+Here are some quick benchmarks done with the example queries of PrimerExternal. Operations timed include Open and Last (to ensure full fetching) on a selector. Datasets are small (a couple dozen records). The database is a local Firebird server and the compiler is Delphi 2010. All caches were flushed at each iteration. Three iterations for each test. Times in seconds.
+
+SELECT * FROM TCompany
+
+Burst Standard
+2.1 3.5
+2.0 3.7
+2.4 3.7
+
+SELECT * FROM TPerson
+
+Burst Standard
+4.8 6.7
+4.6 7.0
+4.7 6.8
+
+A further test that fetches and materializes many more objects (in the thousands) shows where the gains are in Burst Load Mode. In this test all records are visited and materialized upon opening the selector (Open; while not Eof do Next;):
+
+SELECT * FROM TCompany
+
+Burst Standard
+54.7 104.0
+
+Without the fetches, that is just opening the selector and letting some 20 materialized objects populate the DBGrid, the results are:
+
+SELECT * FROM TCompany
+
+Burst Standard
+35.0 1.2
+
+This tells us that using burst mode when not appropriate can hurt performance, which suggests to keep it disabled by default and only enable it on request (property BurstLoad: Boolean default False).
+
+Caveats and future improvements
+-------------------------------
+
+- Currently Burst Load Mode is not supported for IQL commands using the ANY keywords. Doing so will require some significant refactorings and was postponed.
+
+- External atPart and all atReference attributes still need separate queries. It is difficult but not impossible to get them in the first query as well, thus reducing fetch time even more.
+
+- A mixture of standard and Burst Load Mode looks interesting, and the work done on Burst Load Mode makes it easier to implement it. This mixture would be a standard mode in which one or more specified attributes are fetched as well as the primary keys in the main query. This would allow to display a list of objects in a DBGrid, or other multi-record control, without materializing them, as quickly as whendoing direct SQL queries. Thought should be given to design details such as when where and how to specify the attributes that should be loaded together with the primary key. The value lmPartialBurst is reserved for this.
+
\ No newline at end of file
Property changes on: trunk/Docs/Burst_Load_Modes.txt
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Property changes on: trunk/Source/Brokers/ADO/DXE
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
*.identcache
Property changes on: trunk/Source/Brokers/BDE/DXE
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
*.identcache
Property changes on: trunk/Source/Brokers/DBX/DXE
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
*.identcache
Property changes on: trunk/Source/Brokers/IBX/DXE
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
*.identcache
Property changes on: trunk/Source/Brokers/XML/DXE
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
*.identcache
Modified: trunk/Source/Brokers/XML/InstantXML.pas
===================================================================
--- trunk/Source/Brokers/XML/InstantXML.pas 2010-09-16 10:07:33 UTC (rev 917)
+++ trunk/Source/Brokers/XML/InstantXML.pas 2010-09-16 10:28:36 UTC (rev 918)
@@ -43,7 +43,7 @@
uses
Classes, DB, Contnrs, InstantPersistence, InstantBrokers, InstantCommand,
- InstantMetadata, InstantTypes;
+ InstantMetadata, InstantTypes, InstantClasses;
const
XML_UTF8_HEADER = '<?xml version="1.0" encoding="UTF-8"?>';
@@ -193,10 +193,10 @@
TInstantAttributeMap;
ConflictAction: TInstantConflictAction; Info: PInstantOperationInfo);
override;
- procedure InternalRetrieveMap(AObject: TInstantObject; const AObjectId:
- string;
- Map: TInstantAttributeMap; ConflictAction: TInstantConflictAction; Info:
- PInstantOperationInfo); override;
+ procedure InternalRetrieveMap(AObject: TInstantObject;
+ const AObjectId: string; Map: TInstantAttributeMap;
+ ConflictAction: TInstantConflictAction; Info: PInstantOperationInfo;
+ const AObjectData: TInstantAbstractObjectData); override;
procedure InternalStoreMap(AObject: TInstantObject; Map:
TInstantAttributeMap;
ConflictAction: TInstantConflictAction; Info: PInstantOperationInfo);
@@ -325,7 +325,7 @@
implementation
uses
- SysUtils, InstantConsts, InstantClasses,
+ SysUtils, InstantConsts,
TypInfo, InstantXMLCatalog, InstantXMLConnectionDefEdit, InstantUtils,
{$IFDEF MSWINDOWS}
{$IFNDEF D6+}
@@ -529,11 +529,13 @@
procedure TInstantXMLResolver.InternalRetrieveMap(AObject: TInstantObject;
const AObjectId: string; Map: TInstantAttributeMap;
- ConflictAction: TInstantConflictAction; Info: PInstantOperationInfo);
+ ConflictAction: TInstantConflictAction; Info: PInstantOperationInfo;
+ const AObjectData: TInstantAbstractObjectData);
var
AInfo: TInstantOperationInfo;
LObjectUpdateCount: Integer;
begin
+ // This resolver does not support retrieving from any kind of object data.
if not Assigned(Info) then
begin
Info := @AInfo;
Property changes on: trunk/Source/Catalogs/IBFb/DXE
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
*.identcache
Property changes on: trunk/Source/Catalogs/MSSql/DXE
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
*.identcache
Property changes on: trunk/Source/Catalogs/MySQL/DXE
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
*.identcache
Property changes on: trunk/Source/Core/DXE
___________________________________________________________________
Added: svn:ignore
+ *.dcu
*.local
*.identcache
Modified: trunk/Source/Core/InstantBrokers.pas
===================================================================
--- trunk/Source/Core/InstantBrokers.pas 2010-09-16 10:07:33 UTC (rev 917)
+++ trunk/Source/Core/InstantBrokers.pas 2010-09-16 10:28:36 UTC (rev 918)
@@ -90,11 +90,11 @@
TInstantNavigationalResolverOperation = procedure(AObject: TInstantObject;
AttributeMetadata: TInstantAttributeMetadata) of object;
-
TInstantCustomRelationalBroker = class(TInstantBroker)
private
FStatementCache: TInstantStatementCache;
FStatementCacheCapacity: Integer;
+ FObjectData: TInstantAbstractObjectData;
procedure DisposeMap(AObject: TInstantObject; const AObjectId: string;
Map: TInstantAttributeMap; ConflictAction: TInstantConflictAction;
Info: PInstantOperationInfo);
@@ -113,7 +113,7 @@
protected
property StatementCache: TInstantStatementCache read GetStatementCache;
function EnsureResolver(Map: TInstantAttributeMap): TInstantCustomResolver;
- virtual; abstract;
+ virtual; abstract;
function GetDBMSName: string; virtual;
function GetSQLDelimiters: string; virtual;
function GetSQLQuote: Char; virtual;
@@ -121,8 +121,8 @@
function InternalDisposeObject(AObject: TInstantObject;
ConflictAction: TInstantConflictAction): Boolean; override;
function InternalRetrieveObject(AObject: TInstantObject;
- const AObjectId: string; ConflictAction: TInstantConflictAction): Boolean;
- override;
+ const AObjectId: string; ConflictAction: TInstantConflictAction;
+ const AObjectData: TInstantAbstractObjectData = nil): Boolean; override;
function InternalStoreObject(AObject: TInstantObject;
ConflictAction: TInstantConflictAction): Boolean; override;
public
@@ -262,8 +262,8 @@
Info: PInstantOperationInfo); virtual;
procedure InternalRetrieveMap(AObject: TInstantObject;
const AObjectId: string; Map: TInstantAttributeMap;
- ConflictAction: TInstantConflictAction; Info: PInstantOperationInfo);
- virtual;
+ ConflictAction: TInstantConflictAction; AInfo: PInstantOperationInfo;
+ const AObjectData: TInstantAbstractObjectData = nil); virtual;
procedure InternalStoreMap(AObject: TInstantObject;
Map: TInstantAttributeMap; ConflictAction: TInstantConflictAction;
Info: PInstantOperationInfo); virtual;
@@ -280,7 +280,8 @@
TInstantConflictAction);
procedure RetrieveMap(AObject: TInstantObject; const AObjectId: string;
Map: TInstantAttributeMap; ConflictAction: TInstantConflictAction;
- Info: PInstantOperationInfo);
+ Info: PInstantOperationInfo;
+ const AObjectData: TInstantAbstractObjectData = nil);
procedure StoreMap(AObject: TInstantObject; Map: TInstantAttributeMap;
ConflictAction: TInstantConflictAction; Info: PInstantOperationInfo);
procedure StoreObject(AObject: TInstantObject; Conflict:
@@ -350,8 +351,8 @@
Info: PInstantOperationInfo); override;
procedure InternalRetrieveMap(AObject: TInstantObject;
const AObjectId: string; Map: TInstantAttributeMap;
- ConflictAction: TInstantConflictAction;
- Info: PInstantOperationInfo); override;
+ ConflictAction: TInstantConflictAction; Info: PInstantOperationInfo;
+ const AObjectData: TInstantAbstractObjectData = nil); override;
procedure InternalStoreMap(AObject: TInstantObject;
Map: TInstantAttributeMap;
ConflictAction: TInstantConflictAction; Info: PInstantOperationInfo);
@@ -374,8 +375,8 @@
procedure ReadReference(Attribute: TInstantReference); virtual;
procedure ReadReferences(Attribute: TInstantReferences); virtual;
procedure ReadString(Attribute: TInstantString); virtual;
- procedure ResetAttributes(AObject: TInstantObject;
- Map: TInstantAttributeMap);
+ procedure ResetAttributes(const AObject: TInstantObject;
+ const AMap: TInstantAttributeMap);
procedure SetObjectUpdateCount(AObject: TInstantObject; Value: Integer);
function TranslateError(AObject: TInstantObject; E: Exception): Exception;
virtual;
@@ -406,7 +407,7 @@
property TableName: string read FTableName;
end;
- //Backwards compatibility
+ // Backward compatibility
TInstantResolver = TInstantNavigationalResolver;
TInstantSQLResolver = class(TInstantCustomResolver)
@@ -444,6 +445,12 @@
function GetSelectExternalPartSQL: string;
function GetDeleteExternalSQL: string;
function GetInsertExternalSQL: string;
+ procedure ResetAttributes(const AObject: TInstantObject;
+ const AMap: TInstantAttributeMap);
+ procedure RetrieveMapFromDataSet(const AObject: TInstantObject;
+ const AObjectId: string; const AMap: TInstantAttributeMap;
+ ConflictAction: TInstantConflictAction; AInfo: PInstantOperationInfo;
+ const ADataSet: TDataSet);
protected
procedure AddAttributeParam(Attribute: TInstantAttribute;
Params: TParams); virtual;
@@ -458,10 +465,10 @@
procedure InternalDisposeMap(AObject: TInstantObject;
Map: TInstantAttributeMap; ConflictAction: TInstantConflictAction;
Info: PInstantOperationInfo); override;
- procedure InternalRetrieveMap(AObject: TInstantObject;
+ procedure InternalRetrieveMap(AObject: TInstantObject;
const AObjectId: string; Map: TInstantAttributeMap;
- ConflictAction: TInstantConflictAction; Info: PInstantOperationInfo);
- override;
+ ConflictAction: TInstantConflictAction; AInfo: PInstantOperationInfo;
+ const AObjectData: TInstantAbstractObjectData = nil); override;
procedure InternalStoreMap(AObject: TInstantObject;
Map: TInstantAttributeMap; ConflictAction: TInstantConflictAction;
Info: PInstantOperationInfo); override;
@@ -768,7 +775,6 @@
procedure TranslateCommand; override;
class function TranslatorClass: TInstantRelationalTranslatorClass; virtual;
public
- function CreateTranslator: TInstantRelationalTranslator;
property Statement: string read GetStatement write SetStatement;
property Connector: TInstantRelationalConnector read GetConnector;
end;
@@ -802,6 +808,8 @@
FTablePathList: TStringList;
FParentContext: TInstantTranslationContext;
FIdDataType: TInstantDataType;
+ FRequestedLoadMode: TInstantLoadMode;
+ FActualLoadMode: TInstantLoadMode;
procedure AddJoin(const FromPath, FromField, ToPath, ToField: string);
function GetClassTablePath: string;
function GetChildContext(const AIndex: Integer): TInstantTranslationContext;
@@ -835,16 +843,14 @@
procedure Initialize;
procedure MakeJoins(Path: TInstantIQLPath);
procedure MakeTablePaths(Path: TInstantIQLPath);
- function QuoteString(const Str: string): string;
-
property CriteriaList: TStringList read GetCriteriaList;
property TablePathList: TStringList read GetTablePathList;
public
constructor Create(const AStatement: TInstantIQLObject; const AQuote: Char;
const ADelimiters: string; const AIdDataType: TInstantDataType;
+ const ARequestedLoadMode: TInstantLoadMode;
const AParentContext: TInstantTranslationContext = nil);
destructor Destroy; override;
-
procedure AfterConstruction; override;
procedure Clear;
function AddChildContext(const AContext: TInstantTranslationContext): Integer;
@@ -880,9 +886,19 @@
property TablePathAliases[Index: Integer]: string read GetTablePathAliases;
property TablePathCount: Integer read GetTablePathCount;
property TablePaths[Index: Integer]: string read GetTablePaths;
+ function QuoteString(const Str: string): string;
+ // Use this property to ask for a particular load mode, such as a burst mode
+ // in which objects are retrieved in batches saving roundtrips to the
+ // database. Load modes require specific command translation, that's why
+ // this class is involved. This property is set at creation time. The
+ // requested mode might not be supported: read ActualLoadMode to know which
+ // load mode will actually be used for the statement.
+ property RequestedBurstLoadMode: TInstantLoadMode read FRequestedLoadMode;
+ // Equals the value of RequestedLoadMode if the mode is supported for the
+ // particular IQL query. Otherwise it will contain the fallback mode.
+ property ActualLoadMode: TInstantLoadMode read FActualLoadMode;
end;
-
TInstantRelationalTranslator = class(TInstantQueryTranslator)
private
FContext: TInstantTranslationContext;
@@ -931,7 +947,6 @@
public
property Context: TInstantTranslationContext read FContext;
destructor Destroy; override;
- function QuoteString(const Str: string): string;
property Query: TInstantCustomRelationalQuery read GetQuery;
end;
@@ -975,7 +990,7 @@
property RowNumber: Integer read GetRowNumber write SetRowNumber;
end;
- //Backwards compatibility
+ // Backward compatibility
TInstantRelationalQuery = TInstantNavigationalQuery;
TInstantSQLQuery = class(TInstantCustomRelationalQuery)
@@ -987,7 +1002,7 @@
function GetObjectReferenceCount: Integer;
function GetObjectReferenceList: TInstantObjectReferenceList;
function GetParamsObject: TParams;
- procedure InitObjectReferences(DataSet: TDataSet);
+ procedure InitObjectReferences(const ADataSet: TDataSet);
protected
function GetActive: Boolean; override;
function AcquireDataSet(const AStatement: string; AParams: TParams):
@@ -1034,6 +1049,16 @@
default True;
end;
+ // Holds object data in the current record of a dataset specified upon
+ // creation. Used in burst load mode.
+ TInstantDataSetObjectData = class(TInstantAbstractObjectData)
+ private
+ FDataSet: TDataSet;
+ public
+ constructor CreateAndInit(const ADataSet: TDataSet);
+ property DataSet: TDataSet read FDataSet;
+ end;
+
var
InstantLogProc: procedure (const AString: string) of object;
@@ -1208,10 +1233,19 @@
function TInstantCustomRelationalBroker.InternalRetrieveObject(
AObject: TInstantObject; const AObjectId: string;
- ConflictAction: TInstantConflictAction): Boolean;
+ ConflictAction: TInstantConflictAction;
+ const AObjectData: TInstantAbstractObjectData = nil): Boolean;
begin
- Result := PerformOperation(AObject, AObjectId, otRetrieve, RetrieveMap,
- ConflictAction);
+ // RetrieveMap will use this as an implicit argument.
+ // Making it explicit is too cumbersome since no other TInstantBrokerOperation
+ // needs it.
+ FObjectData := AObjectData;
+ try
+ Result := PerformOperation(AObject, AObjectId, otRetrieve, RetrieveMap,
+ ConflictAction);
+ finally
+ FObjectData := nil;
+ end;
end;
function TInstantCustomRelationalBroker.InternalStoreObject(
@@ -1280,7 +1314,7 @@
const AObjectId: string; Map: TInstantAttributeMap;
ConflictAction: TInstantConflictAction; Info: PInstantOperationInfo);
begin
- EnsureResolver(Map).RetrieveMap(AObject, AObjectId, Map, ConflictAction, Info);
+ EnsureResolver(Map).RetrieveMap(AObject, AObjectId, Map, ConflictAction, Info, FObjectData);
end;
procedure TInstantCustomRelationalBroker.SetStatementCacheCapacity(const Value: Integer);
@@ -1776,7 +1810,8 @@
procedure TInstantCustomResolver.InternalRetrieveMap(
AObject: TInstantObject; const AObjectId: string;
Map: TInstantAttributeMap; ConflictAction: TInstantConflictAction;
- Info: PInstantOperationInfo);
+ AInfo: PInstantOperationInfo;
+ const AObjectData: TInstantAbstractObjectData = nil);
begin
end;
@@ -1801,9 +1836,10 @@
procedure TInstantCustomResolver.RetrieveMap(AObject: TInstantObject;
const AObjectId: string; Map: TInstantAttributeMap;
- ConflictAction: TInstantConflictAction; Info: PInstantOperationInfo);
+ ConflictAction: TInstantConflictAction; Info: PInstantOperationInfo;
+ const AObjectData: TInstantAbstractObjectData = nil);
begin
- InternalRetrieveMap(AObject, AObjectId, Map, ConflictAction, Info);
+ InternalRetrieveMap(AObject, AObjectId, Map, ConflictAction, Info, AObjectData);
end;
procedure TInstantCustomResolver.StoreMap(AObject: TInstantObject;
@@ -2125,10 +2161,12 @@
procedure TInstantNavigationalResolver.InternalRetrieveMap(
AObject: TInstantObject; const AObjectId: string; Map: TInstantAttributeMap;
- ConflictAction: TInstantConflictAction; Info: PInstantOperationInfo);
+ ConflictAction: TInstantConflictAction; Info: PInstantOperationInfo;
+ const AObjectData: TInstantAbstractObjectData = nil);
var
AInfo: TInstantOperationInfo;
begin
+ // This resolver doesn't support retrieving from any kind of TInstantAbstractObjectData.
if not Assigned(Info) then
Info := @AInfo;
Open;
@@ -2142,7 +2180,8 @@
FieldByName(InstantUpdateCountFieldName).AsInteger);
end;
PerformOperation(AObject, Map, ReadAttribute);
- end else
+ end
+ else
ResetAttributes(AObject, Map);
end;
@@ -2464,10 +2503,10 @@
AObject.AttributeByName(AttributeMetadata.Name).Reset;
end;
-procedure TInstantNavigationalResolver.ResetAttributes(AObject: TInstantObject;
- Map: TInstantAttributeMap);
+procedure TInstantNavigationalResolver.ResetAttributes(
+ const AObject: TInstantObject; const AMap: TInstantAttributeMap);
begin
- PerformOperation(AObject, Map, ResetAttribute);
+ PerformOperation(AObject, AMap, ResetAttribute);
end;
procedure TInstantNavigationalResolver.SetDataSet(Value: TDataset);
@@ -3319,45 +3358,43 @@
end;
end;
+procedure TInstantSQLResolver.ResetAttributes(const AObject: TInstantObject;
+ const AMap: TInstantAttributeMap);
+var
+ I: Integer;
+begin
+ for I := 0 to Pred(AMap.Count) do
+ AObject.AttributeByName(AMap[I].Name).Reset;
+end;
+
procedure TInstantSQLResolver.InternalRetrieveMap(AObject: TInstantObject;
const AObjectId: string; Map: TInstantAttributeMap;
- ConflictAction: TInstantConflictAction; Info: PInstantOperationInfo);
-
- procedure ResetAttributes;
- var
- I: Integer;
- begin
- for I := 0 to Pred(Map.Count) do
- AObject.AttributeByName(Map[I].Name).Reset
- end;
-
+ ConflictAction: TInstantConflictAction; AInfo: PInstantOperationInfo;
+ const AObjectData: TInstantAbstractObjectData = nil);
var
- DataSet: TDataSet;
- Params: TParams;
- AInfo: TInstantOperationInfo;
+ LDataSet: TDataSet;
+ LParams: TParams;
begin
- if not Assigned(Info) then
- Info := @AInfo;
- Params := TParams.Create;
- try
- AddBaseParams(Params, AObject.ClassName, AObjectId);
- DataSet := Broker.AcquireDataSet(SelectSQL, Params);
+ // This resolver supports retrieving data from TInstantDataSetObjectData.
+ if Assigned(AObjectData) and (AObjectData ...
[truncated message content] |
|
From: <na...@us...> - 2010-09-19 10:23:24
|
Revision: 928
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=928&view=rev
Author: nandod
Date: 2010-09-19 10:23:17 +0000 (Sun, 19 Sep 2010)
Log Message:
-----------
+ lmPartialBurst mode.
* Fixed a bug that would leak memory if a broker's StatementCacheCapacity was changed from 0 to non-zero after one or more queries had been open.
* Code cleanup and assorted small optimizations.
Modified Paths:
--------------
trunk/Demos/PrimerCross/QueryView.dfm
trunk/Demos/PrimerCross/QueryView.pas
trunk/Demos/PrimerCross/RandomData.pas
trunk/Docs/Burst_Load_Modes.txt
trunk/Source/Core/InstantBrokers.pas
trunk/Source/Core/InstantPersistence.pas
trunk/Source/Core/InstantTypes.pas
Property Changed:
----------------
trunk/Demos/PrimerCross/
Property changes on: trunk/Demos/PrimerCross
___________________________________________________________________
Modified: svn:ignore
- *.dcu
*.~*
*.ddp
*.exe
__history
*.identcache
*.local
*.dsk
*.MB
XMLDB
PrimerExternal_D2009.xml
+ *.dcu
*.~*
*.ddp
*.exe
__history
*.identcache
*.local
*.dsk
*.MB
XMLDB
PrimerExternal_D2009.xml
Profiling
Modified: trunk/Demos/PrimerCross/QueryView.dfm
===================================================================
--- trunk/Demos/PrimerCross/QueryView.dfm 2010-09-18 08:36:12 UTC (rev 927)
+++ trunk/Demos/PrimerCross/QueryView.dfm 2010-09-19 10:23:17 UTC (rev 928)
@@ -105,17 +105,27 @@
Text = 'Keys First'
Items.Strings = (
'Keys First'
+ 'Partial Burst'
'Full Burst')
end
object FetchAllCheckBox: TCheckBox
Left = 95
- Top = 124
- Width = 58
+ Top = 116
+ Width = 64
Height = 17
Alignment = taLeftJustify
Caption = 'Fetch All'
TabOrder = 2
end
+ object StatementCacheCheckBox: TCheckBox
+ Left = 95
+ Top = 131
+ Width = 64
+ Height = 17
+ Alignment = taLeftJustify
+ Caption = 'S. Cache'
+ TabOrder = 6
+ end
end
object ResultPageControl: TPageControl
Left = 0
@@ -180,7 +190,6 @@
end
end
object TestSelector: TInstantSelector
- AfterScroll = TestSelectorAfterScroll
AfterClose = TestSelectorAfterClose
Left = 32
Top = 192
Modified: trunk/Demos/PrimerCross/QueryView.pas
===================================================================
--- trunk/Demos/PrimerCross/QueryView.pas 2010-09-18 08:36:12 UTC (rev 927)
+++ trunk/Demos/PrimerCross/QueryView.pas 2010-09-19 10:23:17 UTC (rev 928)
@@ -45,6 +45,7 @@
StatsTabSheet: TTabSheet;
StatsMemo: TMemo;
FetchAllCheckBox: TCheckBox;
+ StatementCacheCheckBox: TCheckBox;
procedure ExecuteActionExecute(Sender: TObject);
procedure ExampleComboBoxClick(Sender: TObject);
procedure TestSelectorAfterScroll(DataSet: TDataSet);
@@ -129,13 +130,25 @@
{$ENDIF}
with TestSelector do
begin
+ if Connector.Broker is TInstantSQLBroker then
+ begin
+ if StatementCacheCheckBox.Checked then
+ TInstantSQLBroker(Connector.Broker).StatementCacheCapacity := -1
+ else
+ TInstantSQLBroker(Connector.Broker).StatementCacheCapacity := 0;
+ end;
Close;
TestSelector.MaxCount := StrToInt(Trim(MaxCountEdit.Text));
Command.Text := CommandEdit.Text;
- Open;
- if FetchAllCheckBox.Checked then
- while not Eof do
- Next;
+ DisableControls;
+ try
+ Open;
+ if FetchAllCheckBox.Checked then
+ while not Eof do
+ Next;
+ finally
+ EnableControls;
+ end;
ResultPageControl.ActivePage := ResultTabSheet;
end;
finally
Modified: trunk/Demos/PrimerCross/RandomData.pas
===================================================================
--- trunk/Demos/PrimerCross/RandomData.pas 2010-09-18 08:36:12 UTC (rev 927)
+++ trunk/Demos/PrimerCross/RandomData.pas 2010-09-19 10:23:17 UTC (rev 928)
@@ -24,7 +24,7 @@
implementation
uses
- SysUtils;
+ SysUtils, InstantUtils;
const
Letters = ['a'..'z'];
@@ -113,14 +113,14 @@
begin
repeat
Result := RandomLetter;
- until Result in Consonants;
+ until InstantCharInSet(Result, Consonants);
end;
function RandomVowel: Char;
begin
repeat
Result := RandomLetter;
- until Result in Vowels;
+ until InstantCharInSet(Result, Vowels);
end;
function RandomName: string;
@@ -232,7 +232,7 @@
RandomStr(StreetBeginnings) +
RandomStr(StreetEndings) + ' ' +
RandomStr(StreetTypes) + ' ' +
- IntToStr((Random(499) + 1) div (Random(9) + 1) + 1) + ' ' + '\x80 \xE0\xF2\xE8 aa';
+ IntToStr((Random(499) + 1) div (Random(9) + 1) + 1);
end;
function RandomCity: string;
Modified: trunk/Docs/Burst_Load_Modes.txt
===================================================================
--- trunk/Docs/Burst_Load_Modes.txt 2010-09-18 08:36:12 UTC (rev 927)
+++ trunk/Docs/Burst_Load_Modes.txt 2010-09-19 10:23:17 UTC (rev 928)
@@ -1,11 +1,13 @@
-Burst Load Mode
-Nando Dessena, 14/09/2010
+Burst Load Modes
+Nando Dessena, 19/09/2010
-What is it
-----------
-Burst Load Mode is an alternative way of retrieving objects in InstantObjects' SQL brokers. This new mode can be selected on a case by case basis by setting the new RequestedLoadMode property of an InstantSelector or InstantQuery to the value lmFullBurst.
+What is burst load
+------------------
+Burst Load Modes are alternative ways of retrieving objects in InstantObjects' SQL brokers. These new modes can be selected on a case by case basis by setting the new RequestedLoadMode property of an InstantSelector or InstantQuery to the value lmPartialBurst or lmFullBurst. The value lmKeysFirst means the standard, historical load mode.
+
+
What does it do
---------------
@@ -14,60 +16,59 @@
2) Fetch all records (up to MaxCount).
3) For each record accessed, materialize the object. This implies executing one or more select statements to get all object data (main object query), containers and references (accessory queries). External storage implies more queries. The main query joins all the tables for the given class and ancestors.
-Burst Load Mode causes these changes:
+Full Burst mode causes these changes:
1) The primary query retrieves all object data, and not just the primary keys.
-2) All objects are materialized (up to MaxCount) from the obtained data set; this causes the execution of all accessory and external queries that in the standard case are executed at point 3, minus the main query, which is not needed anymore.
+2) lmFullBurst: All objects are materialized (up to MaxCount) from the obtained data set; this causes the execution of all accessory and external queries that in the standard case are executed at point 3, minus the main query, which is not needed anymore. lmPartialBurst: objects are materialized on demand, like in the standard mode, but using data retrieved by the primary query, like in the full burst mode.
-This means that Burst Load Mode is much quicker when retrieving a dataset, whereas standard mode is best at getting the first records.
+Partial Burst mode works this way:
+1) Like Full Burst mode 1).
+2) Like standard mode 2).
+3) Like standard mode 3), but using data retrieved by the primary query and kept around.
-When it is used
----------------
+This means that Full Burst mode is much quicker when retrieving a whole dataset, whereas standard mode is best at getting the first records. Partial Burst mode gives the best of both worlds, as it is almost as quick as Full Burst when fetching an entire dataset, and slightly quicker than standard mode at getting the first records.
-Burst Load Mode is well suited for all cases in which objects are selected (typically through an IQL command with a WHERE clause) to be processed. If the entire dataset is going to be fetched and all records visited anyway, then it's much quicker to do it in Burst Load Mode.
-The standard way is more of the "lazy load" kind, and as such it is more suited for when a list of objects is displayed for browsing, typically in a DBGrid, and not all objects are needed but just one or a few are selected to work with. In this case displaying the first records in the grid is much quicker in standard mode.
+When to use burst load
+----------------------
+Full Burst mode is well suited for all cases in which objects are selected (typically through an IQL command with a WHERE clause) to be processed. If the entire dataset is going to be fetched and all records visited anyway, then it's much quicker to do it in Full Burst mode.
+
+The standard mode is more of the "lazy load" kind, and as such it is more suited for when a list of objects is displayed for browsing, typically in a DBGrid, and not all objects are needed but just one or a few are selected to work with. In this case displaying the first records in the grid is much quicker in standard mode.
+
+Partial Burst Mode should cover both cases above, and as such is the preferred mode. The only glitch about Partial Burst mode is that it keeps the database connection open for longer than Full Burst mode. If that is a concern, then Full Burst mode should be used instead.
+
+
Performance notes
-----------------
-Here are some quick benchmarks done with the example queries of PrimerExternal. Operations timed include Open and Last (to ensure full fetching) on a selector. Datasets are small (a couple dozen records). The database is a local Firebird server and the compiler is Delphi 2010. All caches were flushed at each iteration. Three iterations for each test. Times in seconds.
+Here are some quick benchmarks done with one of the example queries of PrimerExternal and a dataset with a couple thousand records.
+The database is a local Firebird server and the compiler is Delphi XE. All caches were flushed at each iteration. Three iterations for each test (average value reported). Times in seconds.
-SELECT * FROM TCompany
+select * from TCompany
-Burst Standard
-2.1 3.5
-2.0 3.7
-2.4 3.7
-
-SELECT * FROM TPerson
+No fetch, just open an InstantSelector and fetch some 20 objects for the DBGrid.
-Burst Standard
-4.8 6.7
-4.6 7.0
-4.7 6.8
+KF PB FB
+0,9 0,8 36,1
-A further test that fetches and materializes many more objects (in the thousands) shows where the gains are in Burst Load Mode. In this test all records are visited and materialized upon opening the selector (Open; while not Eof do Next;):
+Fetch all records and materialize all objects (while not Eof do Next).
-SELECT * FROM TCompany
+KF PB FB
+65,5 45,4 45,4
-Burst Standard
-54.7 104.0
+Same as above, but with statement cache enabled.
-Without the fetches, that is just opening the selector and letting some 20 materialized objects populate the DBGrid, the results are:
+KF PB FB
+38,6 28,9 29,5
-SELECT * FROM TCompany
+This confirms that using Full Burst mode when not appropriate can hurt performance, which suggests to keep it disabled by default and only enable it on request. On the other hand, Partial Burst mode appears suitable for most cases.
-Burst Standard
-35.0 1.2
-
-This tells us that using burst mode when not appropriate can hurt performance, which suggests to keep it disabled by default and only enable it on request (property BurstLoad: Boolean default False).
-
Caveats and future improvements
-------------------------------
-- Currently Burst Load Mode is not supported for IQL commands using the ANY keywords. Doing so will require some significant refactorings and was postponed.
+- Currently Burst Load modes are not supported for IQL commands using the ANY keyword. Doing so will require some significant refactorings and was postponed. The system will silently fall back to a supported mode, if the requested mode is not supported by the actual query. You can tell by inspecting the value of the ActualLoadMode property.
- External atPart and all atReference attributes still need separate queries. It is difficult but not impossible to get them in the first query as well, thus reducing fetch time even more.
-- A mixture of standard and Burst Load Mode looks interesting, and the work done on Burst Load Mode makes it easier to implement it. This mixture would be a standard mode in which one or more specified attributes are fetched as well as the primary keys in the main query. This would allow to display a list of objects in a DBGrid, or other multi-record control, without materializing them, as quickly as whendoing direct SQL queries. Thought should be given to design details such as when where and how to specify the attributes that should be loaded together with the primary key. The value lmPartialBurst is reserved for this.
+- A mixture of standard and Burst modes looks interesting, and the work done on Burst modes makes it easier to implement it. This mixture would be a standard mode in which one or more specified attributes are fetched as well as the primary keys in the main query. This would allow to display a list of objects in a DBGrid, or other multi-record control, without materializing them, as quickly as when doing direct SQL queries. Thought should be given to design details such as when where and how to specify the attributes that should be loaded together with the primary key, and an attribute-level mechanism to signal incomplete vs complete data would probably be needed.
\ No newline at end of file
Modified: trunk/Source/Core/InstantBrokers.pas
===================================================================
--- trunk/Source/Core/InstantBrokers.pas 2010-09-18 08:36:12 UTC (rev 927)
+++ trunk/Source/Core/InstantBrokers.pas 2010-09-19 10:23:17 UTC (rev 928)
@@ -109,7 +109,7 @@
Map: TInstantAttributeMap; ConflictAction: TInstantConflictAction;
Info: PInstantOperationInfo);
function GetStatementCache: TInstantStatementCache;
- procedure SetStatementCacheCapacity(const Value: Integer);
+ procedure SetStatementCacheCapacity(const AValue: Integer);
protected
property StatementCache: TInstantStatementCache read GetStatementCache;
function EnsureResolver(Map: TInstantAttributeMap): TInstantCustomResolver;
@@ -535,14 +535,14 @@
procedure InternalClearAttributeLinkRecords; virtual;
procedure InternalDisposeDeletedAttributeObjects(
Attribute: TInstantContainer); virtual;
- procedure InternalReadAttributeObjects(Attribute: TInstantContainer;
+ procedure InternalReadAttributeObjects(Attribute: TInstantContainer;
const AObjectId: string); virtual;
public
constructor Create(AResolver: TInstantCustomResolver);
procedure StoreAttributeObjects(Attribute: TInstantContainer);
procedure ClearAttributeLinkRecords;
procedure DisposeDeletedAttributeObjects(Attribute: TInstantContainer);
- procedure ReadAttributeObjects(Attribute: TInstantContainer;
+ procedure ReadAttributeObjects(Attribute: TInstantContainer;
const AObjectId: string);
property Broker: TInstantCustomRelationalBroker read GetBroker;
property Resolver: TInstantCustomResolver read GetResolver;
@@ -621,6 +621,7 @@
property Resolver: TInstantSQLResolver read GetResolver;
end;
+ // An item in the statement cache.
TInstantStatement = class
private
FStatementImplementation: TComponent;
@@ -630,6 +631,9 @@
property StatementImplementation: TComponent read FStatementImplementation;
end;
+ // Caches objects that implement command statements in releational brokers.
+ // Most commonly, they are TDataSet descendants that implement SQL queries.
+ // brokers cache them to save on prepare/compilation time.
TInstantStatementCache = class(TComponent)
private
FStatements: TStringList;
@@ -649,6 +653,7 @@
function AddStatement(const StatementText: string;
const StatementImplementation: TComponent): Integer;
function RemoveStatement(const StatementText: string): Boolean;
+ function HasStatementImplementation(const StatementImplementation: TComponent): Boolean;
end;
// A TInstantCatalog that gathers its info from an existing database (through
@@ -993,21 +998,36 @@
// Backward compatibility
TInstantRelationalQuery = TInstantNavigationalQuery;
+ // Holds object data in the current record of a dataset specified upon
+ // creation. May hold data for several objects, locating the correct
+ // record each time it copies data to an object.
+ TInstantDataSetObjectData = class(TInstantAbstractObjectData)
+ private
+ FDataSet: TDataSet;
+ FRecNo: Integer;
+ FIdField: TField;
+ public
+ constructor CreateAndInit(const ADataSet: TDataSet);
+ property DataSet: TDataSet read FDataSet;
+ function Locate(const AObjectId: string): Boolean;
+ end;
+
TInstantSQLQuery = class(TInstantCustomRelationalQuery)
private
FObjectReferenceList: TInstantObjectReferenceList;
FParamsObject: TParams;
FStatement: string;
+ FDataSet: TDataSet;
procedure DestroyObjectReferenceList;
function GetObjectReferenceCount: Integer;
function GetObjectReferenceList: TInstantObjectReferenceList;
function GetParamsObject: TParams;
- procedure InitObjectReferences(const ADataSet: TDataSet);
+ procedure InitObjectReferences;
protected
function GetActive: Boolean; override;
function AcquireDataSet(const AStatement: string; AParams: TParams):
TDataSet; virtual;
- procedure ReleaseDataSet(const DataSet: TDataSet);
+ procedure ReleaseDataSet;
function GetParams: TParams; override;
function GetStatement: string; override;
function InternalAddObject(AObject: TObject): Integer; override;
@@ -1049,16 +1069,6 @@
default True;
end;
- // Holds object data in the current record of a dataset specified upon
- // creation. Used in burst load mode.
- TInstantDataSetObjectData = class(TInstantAbstractObjectData)
- private
- FDataSet: TDataSet;
- public
- constructor CreateAndInit(const ADataSet: TDataSet);
- property DataSet: TDataSet read FDataSet;
- end;
-
var
InstantLogProc: procedure (const AString: string) of object;
@@ -1317,13 +1327,16 @@
EnsureResolver(Map).RetrieveMap(AObject, AObjectId, Map, ConflictAction, Info, FObjectData);
end;
-procedure TInstantCustomRelationalBroker.SetStatementCacheCapacity(const Value: Integer);
+procedure TInstantCustomRelationalBroker.SetStatementCacheCapacity(const AValue: Integer);
begin
- FStatementCacheCapacity := Value;
- if FStatementCacheCapacity = 0 then
- FreeAndNil(FStatementCache)
- else if Assigned(FStatementCache) then
- FStatementCache.Capacity := FStatementCacheCapacity;
+ if FStatementCacheCapacity <> AValue then
+ begin
+ FStatementCacheCapacity := AValue;
+ if FStatementCacheCapacity = 0 then
+ FreeAndNil(FStatementCache)
+ else if Assigned(FStatementCache) then
+ FStatementCache.Capacity := FStatementCacheCapacity;
+ end;
end;
procedure TInstantCustomRelationalBroker.StoreMap(AObject: TInstantObject;
@@ -1553,7 +1566,7 @@
procedure TInstantSQLBroker.ReleaseDataSet(const ADataSet: TDataSet);
begin
- if FStatementCacheCapacity <> 0 then
+ if Assigned(FStatementCache) and FStatementCache.HasStatementImplementation(ADataSet) then
ADataSet.Close
else
ADataSet.Free;
@@ -1980,7 +1993,6 @@
procedure TInstantNavigationalResolver.ClearPart(Attribute: TInstantPart);
begin
if Attribute.Metadata.StorageKind = skExternal then
-// Attribute.Value.ObjectStore.DisposeObject(Attribute.Value, caIgnore);
DisposeObject(Attribute.Value, caIgnore);
end;
@@ -1992,7 +2004,6 @@
if Attribute.Metadata.StorageKind = skExternal then
begin
for I := 0 to Pred(Attribute.Count) do
-// Attribute.Items[I].ObjectStore.DisposeObject(Attribute.Items[I], caIgnore);
DisposeObject(Attribute.Items[I], caIgnore);
LinkDatasetResolver :=
GetLinkDatasetResolver(Attribute.Metadata.ExternalStorageName);
@@ -3063,7 +3074,7 @@
Assert(Assigned(AStream));
// Look in TInstantCustomResolver.CreateEmbeddedObjectOutputStream
- // to see the stream type. Change there need to be propagated here.
+ // to see the stream type. Changes there need to be propagated here.
if AConnector.BlobStreamFormat = sfBinary then
begin
LParam := AddParam(AParams, AParamName, ftBlob);
@@ -3274,7 +3285,6 @@
as TInstantObject;
try
if Assigned(PartObject) then
-// PartObject.ObjectStore.DisposeObject(PartObject, caIgnore);
DisposeObject(PartObject, caIgnore);
finally
PartObject.Free;
@@ -3325,8 +3335,6 @@
Attribute := TInstantContainer(AObject.AttributeByName(
AttributeMetadata.Name));
for j := 0 to Pred(Attribute.Count) do
-// Attribute.Items[j].ObjectStore.DisposeObject(
-// Attribute.Items[j], caIgnore);
DisposeObject(Attribute.Items[j], caIgnore);
end;
DeleteAllExternalLinks(i);
@@ -3376,9 +3384,12 @@
LParams: TParams;
begin
// This resolver supports retrieving data from TInstantDataSetObjectData.
- if Assigned(AObjectData) and (AObjectData is TInstantDataSetObjectData) then
+ if Assigned(AObjectData) and (AObjectData is TInstantDataSetObjectData)
+ and TInstantDataSetObjectData(AObjectData).Locate(AObjectId) then
+ begin
RetrieveMapFromDataSet(AObject, AObjectId, Map, ConflictAction, AInfo,
- TInstantDataSetObjectData(AObjectData).DataSet)
+ TInstantDataSetObjectData(AObjectData).DataSet);
+ end
else
begin
LParams := TParams.Create;
@@ -3476,7 +3487,6 @@
AObject.Connector) as TInstantObject;
try
if Assigned(PartObject) then
-// PartObject.ObjectStore.DisposeObject(PartObject, caIgnore);
DisposeObject(PartObject, caIgnore);
finally
PartObject.Free;
@@ -3495,7 +3505,6 @@
// Store object
PartObject := PartAttribute.Value;
PartObject.CheckId;
-// PartObject.ObjectStore.StoreObject(PartObject, caIgnore);
StoreObject(PartObject, caIgnore);
end;
end;
@@ -3513,7 +3522,6 @@
for I := 0 to Pred(Map.Count) do
begin
AttributeMetadata := Map[I];
-// if AttributeMetadata.AttributeType = atParts then
if AttributeMetadata.AttributeType in [atParts, atReferences] then
begin
Attribute := TInstantContainer(AObject.AttributeByName(
@@ -4080,7 +4088,6 @@
procedure TInstantNavigationalLinkResolver.InternalDisposeDeletedAttributeObjects(
Attribute: TInstantContainer);
var
-// I: Integer;
Obj: TInstantObject;
AttributeMetadata: TInstantAttributeMetadata;
ObjDisposed: Boolean;
@@ -4096,43 +4103,14 @@
AttributeMetadata := Attribute.Metadata;
while not Eof do
begin
-// PartDeleted := True;
-// for I := 0 to Pred(Attribute.Count) do
-// begin
-// if InstantSameText(Attribute.Fields[I].Id, ADataSet.Fields[4].AsString,
-// True) then
-// begin
-// PartDeleted := False;
-// Break;
-// end;
-// end;
-// if PartDeleted then
-// begin
-// PartObject := AttributeMetadata.ObjectClass.Retrieve(
-// ADataSet.Fields[4].AsString, False, False, Attribute.Connector);
-// try
-// if Assigned(PartObject) then
-// begin
-// PartObject.ObjectStore.DisposeObject(PartObject, caIgnore);
-// ADataSet.Delete;
-// end;
-// finally
-// PartObject.Free;
-// end;
-// if not PartDeleted then
-// ADataSet.Next;
-// end;
-
ObjDisposed := False;
Obj := AttributeMetadata.ObjectClass.Retrieve(
- FieldByName(InstantChildIdFieldName).AsString,
-// DataSet.Fields[4].AsString,
- False, False, Attribute.Connector) as TInstantObject;
+ FieldByName(InstantChildIdFieldName).AsString,
+ False, False, Attribute.Connector) as TInstantObject;
try
if Assigned(Obj) and
- (Attribute.IndexOf(Obj) = -1) then
+ (Attribute.IndexOf(Obj) = -1) then
begin
-// Obj.ObjectStore.DisposeObject(Obj, caIgnore);
Resolver.DisposeObject(Obj, caIgnore);
Delete;
ObjDisposed := True;
@@ -4153,6 +4131,7 @@
Attribute: TInstantContainer; const AObjectId: string);
var
WasOpen: Boolean;
+ LChildClassField, LChildIdField: TField;
begin
WasOpen := Dataset.Active;
@@ -4162,13 +4141,11 @@
// Attribute.Owner.Id can be '', so do not use here.
SetDatasetParentRange(Attribute.Owner.Classname, AObjectId);
First;
+ LChildClassField := FieldByName(InstantChildClassFieldName);
+ LChildIdField := FieldByName(InstantChildIdFieldName);
while not Eof do
begin
- Attribute.AddReference(
- FieldByName(InstantChildClassFieldName).AsString,
- FieldByName(InstantChildIdFieldName).AsString);
-// DataSet.Fields[3].AsString,
-// DataSet.Fields[4].AsString);
+ Attribute.AddReference(LChildClassField.AsString, LChildIdField.AsString);
Next;
end;
finally
@@ -4197,7 +4174,6 @@
Obj.CheckId;
Append;
try
-// FieldByName(InstantIdFieldName).AsString := Obj.GenerateId;
FieldByName(InstantIdFieldName).AsString :=
Attribute.Connector.GenerateId;
FieldByName(InstantParentClassFieldName).AsString :=
@@ -4206,19 +4182,10 @@
FieldByName(InstantChildClassFieldName).AsString := Obj.ClassName;
FieldByName(InstantChildIdFieldName).AsString := Obj.Id;
FieldByName(InstantSequenceNoFieldName).AsInteger := Succ(I);
-//// DataSet.Fields[0].AsString := Obj.GenerateId;
-// DataSet.Fields[0].AsString := Obj.Id;
-// DataSet.Fields[1].AsString :=
-// Attribute.Owner.ClassName;
-// DataSet.Fields[2].AsString := Attribute.Owner.Id;
-// DataSet.Fields[3].AsString := Obj.ClassName;
-// DataSet.Fields[4].AsString := Obj.Id;
-// DataSet.Fields[5].AsInteger := Succ(I);
Post;
except
Cancel;
end;
-// Obj.ObjectStore.StoreObject(Obj, caIgnore);
Resolver.StoreObject(Obj, caIgnore);
end;
finally
@@ -4312,13 +4279,11 @@
while not DataSet.Eof do
begin
Obj := InstantFindClass(DataSet.FieldByName(InstantChildClassFieldName).AsString).Retrieve(
-// DataSet.Fields[1].AsString, False, False, AObject.Connector);
DataSet.FieldByName(InstantChildIdFieldName).AsString,
False, False, Attribute.Connector) as TInstantObject;
try
if Assigned(Obj) and
(Attribute.IndexOf(Obj) = -1) then
-// Obj.ObjectStore.DisposeObject(Obj, caIgnore);
Resolver.DisposeObject(Obj, caIgnore);
finally
Obj.Free;
@@ -4336,28 +4301,29 @@
end;
end;
-procedure TInstantSQLLinkResolver.InternalReadAttributeObjects(Attribute:
- TInstantContainer; const AObjectId: string);
+procedure TInstantSQLLinkResolver.InternalReadAttributeObjects(
+ Attribute: TInstantContainer; const AObjectId: string);
var
Statement: string;
Params: TParams;
- Dataset: TDataset;
+ Dataset: TDataSet;
+ LChildClassField, LChildIdField: TField;
begin
Params := TParams.Create;
try
Statement := Format(Resolver.SelectExternalSQL, [TableName]);
Resolver.AddIdParam(Params, InstantParentIdFieldName, AObjectId);
Resolver.AddStringParam(Params, InstantParentClassFieldName,
- AttributeOwner.ClassName);
+ AttributeOwner.ClassName);
DataSet := Broker.AcquireDataSet(Statement, Params);
try
DataSet.Open;
try
+ LChildClassField := DataSet.FieldByName(InstantChildClassFieldName);
+ LChildIdField := DataSet.FieldByName(InstantChildIdFieldName);
while not DataSet.Eof do
begin
- Attribute.AddReference(
- DataSet.FieldByName(InstantChildClassFieldName).AsString,
- DataSet.FieldByName(InstantChildIdFieldName).AsString);
+ Attribute.AddReference(LChildClassField.AsString, LChildIdField.AsString);
DataSet.Next;
end;
finally
@@ -4385,7 +4351,6 @@
// Store object
Obj := Attribute.Items[I];
Obj.CheckId;
-// Obj.ObjectStore.StoreObject(Obj, caIgnore);
Resolver.StoreObject(Obj, caIgnore);
// Insert link
@@ -4393,7 +4358,6 @@
try
Statement := Format(Resolver.InsertExternalSQL,
[TableName]);
-// Resolver.AddIdParam(Params, InstantIdFieldName, AttributeOwner.GenerateId);
Resolver.AddIdParam(Params, InstantIdFieldName,
Attribute.Connector.GenerateId);
Resolver.AddStringParam(Params, InstantParentClassFieldName,
@@ -4489,6 +4453,22 @@
Result := nil;
end;
+function TInstantStatementCache.HasStatementImplementation(
+ const StatementImplementation: TComponent): Boolean;
+var
+ I: Integer;
+begin
+ Result := False;
+ for I := 0 to FStatements.Count - 1 do
+ begin
+ if TinstantStatement(FStatements.Objects[I]).StatementImplementation = StatementImplementation then
+ begin
+ Result := True;
+ Break;
+ end;
+ end;
+end;
+
procedure TInstantStatementCache.Notification(AComponent: TComponent; Operation: TOperation);
var
I: Integer;
@@ -5564,7 +5544,7 @@
// Mind that LContext.ActualBurstLoadMode might be different than
// Self.RequestedBurstLoadMode.
- if LContext.ActualLoadMode = lmFullBurst then
+ if IsBurstLoadMode(LContext.ActualLoadMode) then
begin
// Use the Id just to get the table path needed to add the updatecount
// field. We could use anything we know is in the main table.
@@ -5922,13 +5902,6 @@
end;
end;
-destructor TInstantSQLQuery.Destroy;
-begin
- DestroyObjectReferenceList;
- FParamsObject.Free;
- inherited;
-end;
-
{ TIn...
[truncated message content] |
|
From: <dav...@us...> - 2012-01-14 02:59:19
|
Revision: 953
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=953&view=rev
Author: davidvtaylor
Date: 2012-01-14 02:59:12 +0000 (Sat, 14 Jan 2012)
Log Message:
-----------
+ Implement support for setting the Display Label for model attributes
Modified Paths:
--------------
trunk/Source/Core/InstantCode.pas
trunk/Source/Core/InstantMetadata.pas
trunk/Source/Core/InstantPresentation.pas
trunk/Source/Design/InstantAttributeEditor.dfm
trunk/Source/Design/InstantAttributeEditor.pas
trunk/Source/ObjectFoundry/OFClasses.pas
trunk/Tests/TestInstantAttributeMetadata.pas
Modified: trunk/Source/Core/InstantCode.pas
===================================================================
--- trunk/Source/Core/InstantCode.pas 2012-01-09 23:06:34 UTC (rev 952)
+++ trunk/Source/Core/InstantCode.pas 2012-01-14 02:59:12 UTC (rev 953)
@@ -1594,6 +1594,7 @@
MetaKeyEmbedded = 'embedded';
MetaKeyValid = 'valid';
MetaKeyWidth = 'width';
+ MetaKeyLabel = 'label';
ModuleTypeNames: array[TInstantCodeModuleType] of string =
('program', 'unit', 'library');
@@ -4133,6 +4134,8 @@
Metadata.ValidCharsString := Reader.ReadStringValue
else if Token = MetaKeyWidth then
Metadata.DisplayWidth := Reader.ReadInteger
+ else if Token = MetaKeyLabel then
+ Metadata.Displaylabel := Reader.ReadStringValue
else
Reader.ErrorMessage('Unknown parameter: ' + Token);
end;
@@ -4172,6 +4175,8 @@
if Metadata.HasValidChars then
WriteStr(MetaKeyValid, Metadata.ValidCharsString);
WriteInt(MetaKeyWidth, Metadata.DisplayWidth);
+ if Metadata.HasDisplayLabel then
+ WriteStr(MetaKeyLabel, Metadata.DisplayLabel);
if IsIndexed then
Writer.Write(' ' + MetaKeyIndex);
if IsRequired then
Modified: trunk/Source/Core/InstantMetadata.pas
===================================================================
--- trunk/Source/Core/InstantMetadata.pas 2012-01-09 23:06:34 UTC (rev 952)
+++ trunk/Source/Core/InstantMetadata.pas 2012-01-14 02:59:12 UTC (rev 953)
@@ -465,6 +465,7 @@
FDefaultValue: string;
FUseNull: Boolean;
FDisplayWidth: Integer;
+ FDisplayLabel: string;
FEditMask: string;
FIsIndexed: Boolean;
FIsRequired: Boolean;
@@ -485,6 +486,7 @@
function GetCollection: TInstantAttributeMetadatas;
function GetFieldName: string;
function GetHasValidChars: Boolean;
+ function GetHasDisplayLabel: Boolean;
function GetIsDefault: Boolean;
function GetObjectClass: TInstantAbstractObjectClass;
function GetObjectClassMetadata: TInstantClassMetadata;
@@ -526,6 +528,7 @@
read GetObjectClassMetadata;
property FieldName: string read GetFieldName write SetFieldName;
property HasValidChars: Boolean read GetHasValidChars;
+ property HasDisplayLabel: Boolean read GetHasDisplayLabel;
property TableName: string read GetTableName;
procedure ValidateAttribute(const AAttribute: TInstantAbstractAttribute;
const AValue: string);
@@ -539,6 +542,7 @@
property UseNull: Boolean read FUseNull write FUseNull default False;
property DisplayWidth: Integer read FDisplayWidth write FDisplayWidth
default 0;
+ property DisplayLabel: string read FDisplayLabel write FDisplayLabel;
property EditMask: string read FEditMask write FEditMask;
property ExternalStorageName: string read FExternalStorageName
write FExternalStorageName;
@@ -1725,6 +1729,7 @@
FAttributeType := LSource.AttributeType;
FDefaultValue := LSource.DefaultValue;
FDisplayWidth := LSource.DisplayWidth;
+ FDisplayLabel := LSource.DisplayLabel;
FEditMask := LSource.EditMask;
FIsIndexed := LSource.IsIndexed;
FIsRequired := LSource.IsRequired;
@@ -1860,6 +1865,11 @@
Result := FValidCharsString <> '';
end;
+function TInstantAttributeMetadata.GetHasDisplayLabel: Boolean;
+begin
+ Result := FDisplayLabel <> '';
+end;
+
function TInstantAttributeMetadata.GetIsDefault: Boolean;
begin
Result := Assigned(ClassMetadata) and
Modified: trunk/Source/Core/InstantPresentation.pas
===================================================================
--- trunk/Source/Core/InstantPresentation.pas 2012-01-09 23:06:34 UTC (rev 952)
+++ trunk/Source/Core/InstantPresentation.pas 2012-01-14 02:59:12 UTC (rev 953)
@@ -24,7 +24,7 @@
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
- * Carlo Barazzetta, Andrea Petrelli, Nando Dessena, Joao Morais,
+ * Carlo Barazzetta, Andrea Petrelli, Nando Dessena, Joao Morais,
* Steven Mitchell, Brian Andersen, David Taylor
*
* ***** END LICENSE BLOCK ***** *)
@@ -3192,6 +3192,8 @@
begin
(Field as TBCDField).Currency := True;
end;
+ if Assigned(Metadata) and (Metadata.HasDisplayLabel) then
+ Field.DisplayLabel := Metadata.DisplayLabel;
if Assigned(FOnInitField) then
FOnInitField(Self, Field);
end;
Modified: trunk/Source/Design/InstantAttributeEditor.dfm
===================================================================
--- trunk/Source/Design/InstantAttributeEditor.dfm 2012-01-09 23:06:34 UTC (rev 952)
+++ trunk/Source/Design/InstantAttributeEditor.dfm 2012-01-14 02:59:12 UTC (rev 953)
@@ -351,6 +351,14 @@
Caption = 'Display &Width'
FocusControl = DisplayWidthEdit
end
+ object DisplayLabelLabel: TLabel
+ Left = 8
+ Top = 128
+ Width = 64
+ Height = 13
+ Caption = 'Display &Label'
+ FocusControl = DisplayLabelEdit
+ end
object ValidCharsLabel: TLabel
Left = 8
Top = 48
@@ -361,7 +369,7 @@
end
object DefaultValueLabel: TLabel
Left = 8
- Top = 128
+ Top = 168
Width = 64
Height = 13
Caption = '&Default Value'
@@ -385,6 +393,15 @@
DataSource = SubjectSource
TabOrder = 2
end
+ object DisplayLabelEdit: TDBEdit
+ Left = 8
+ Top = 144
+ Width = 209
+ Height = 21
+ DataField = 'Metadata.DisplayLabel'
+ DataSource = SubjectSource
+ TabOrder = 3
+ end
object ValidCharsEdit: TDBEdit
Left = 8
Top = 64
@@ -396,12 +413,12 @@
end
object DefaultValueEdit: TDBEdit
Left = 8
- Top = 144
+ Top = 184
Width = 209
Height = 21
DataField = 'Metadata.DefaultValue'
DataSource = SubjectSource
- TabOrder = 3
+ TabOrder = 4
end
end
end
Modified: trunk/Source/Design/InstantAttributeEditor.pas
===================================================================
--- trunk/Source/Design/InstantAttributeEditor.pas 2012-01-09 23:06:34 UTC (rev 952)
+++ trunk/Source/Design/InstantAttributeEditor.pas 2012-01-14 02:59:12 UTC (rev 953)
@@ -77,6 +77,8 @@
DefinitionSheet: TTabSheet;
DisplayWidthEdit: TDBEdit;
DisplayWidthLabel: TLabel;
+ DisplayLabelEdit: TDBEdit;
+ DisplayLabelLabel: TLabel;
EditMaskEdit: TDBEdit;
EdtMaskLabel: TLabel;
MethodAddCheckBox: TCheckBox;
Modified: trunk/Source/ObjectFoundry/OFClasses.pas
===================================================================
--- trunk/Source/ObjectFoundry/OFClasses.pas 2012-01-09 23:06:34 UTC (rev 952)
+++ trunk/Source/ObjectFoundry/OFClasses.pas 2012-01-14 02:59:12 UTC (rev 953)
@@ -345,6 +345,7 @@
TaggedStrings['EditMask'] := Metadata.EditMask;
TaggedStrings['ValidChars'] := Metadata.ValidCharsString;
TaggedIntegers['DisplayWidth'] := Metadata.DisplayWidth;
+ TaggedString['DisplayLabel'] := Metadata.DisplayLabel;
TaggedStrings['DefaultValue'] := Metadata.DefaultValue;
WasReadOnly := Prop.WriteAccess = rwNone;
if ReadOnly <> WasReadOnly then
@@ -549,6 +550,7 @@
Metadata.EditMask := TaggedStrings['EditMask'];
Metadata.ValidCharsString := TaggedStrings['ValidChars'];
Metadata.DisplayWidth := TaggedIntegers['DisplayWidth'];
+ Metadata.DisplayLabel := TaggedStrings['DisplayLabel'];
Metadata.DefaultValue := TaggedStrings['DefaultValue'];
DetectContainerMethods;
FOldName := Name;
Modified: trunk/Tests/TestInstantAttributeMetadata.pas
===================================================================
--- trunk/Tests/TestInstantAttributeMetadata.pas 2012-01-09 23:06:34 UTC (rev 952)
+++ trunk/Tests/TestInstantAttributeMetadata.pas 2012-01-14 02:59:12 UTC (rev 953)
@@ -231,6 +231,7 @@
FInstantAttributeMetadata.AttributeType := atString;
FInstantAttributeMetadata.DefaultValue := 'Default';
FInstantAttributeMetadata.DisplayWidth := 10;
+ FInstantAttributeMetadata.DisplayLabel := '';
FInstantAttributeMetadata.EditMask := '';
FInstantAttributeMetadata.IsIndexed := False;
FInstantAttributeMetadata.IsRequired := True;
@@ -262,6 +263,7 @@
vSource.AttributeType := atString;
vSource.DefaultValue := 'Default';
vSource.DisplayWidth := 10;
+ vSource.DisplayLabel := 'FieldLabel';
vSource.EditMask := '';
vSource.IsIndexed := False;
vSource.IsRequired := True;
@@ -278,6 +280,7 @@
AssertEquals('AttributeType incorrect', 'atString', vStr);
AssertEquals('DefaultValue incorrect', 'Default', vDest.DefaultValue);
AssertEquals('DisplayWidth incorrect', 10, vDest.DisplayWidth);
+ AssertEquals('DisplayLabel incorrect', 'FieldLabel', vDest.DisplayLabel);
AssertEquals('EditMask incorrect', '', vDest.EditMask);
AssertEquals('IsIndexed incorrect', False, vDest.IsIndexed);
AssertEquals('IsRequired incorrect', True, vDest.IsRequired);
|
|
From: <na...@us...> - 2012-10-29 20:44:49
|
Revision: 961
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=961&view=rev
Author: nandod
Date: 2012-10-29 20:44:39 +0000 (Mon, 29 Oct 2012)
Log Message:
-----------
+ Assorted files for older Delphi versions.
Modified Paths:
--------------
trunk/Demos/PrimerCross/PrimerExternal_DXE.dproj
trunk/Demos/PrimerCross/PrimerExternal_DXE.res
trunk/Source/Brokers/ADO/D2007/DclIOADO.dproj
trunk/Source/Brokers/ADO/DXE2/DclIOADO.res
trunk/Source/Brokers/ADO/DXE2/IOADO.res
trunk/Source/Brokers/BDE/D2007/DclIOBDE.dproj
trunk/Source/Brokers/BDE/DXE2/DclIOBDE.res
trunk/Source/Brokers/BDE/DXE2/IOBDE.res
trunk/Source/Brokers/DBX/D2007/DclIODBX.dproj
trunk/Source/Brokers/DBX/DXE2/DclIODBX.res
trunk/Source/Brokers/DBX/DXE2/IODBX.res
trunk/Source/Brokers/IBX/D2007/DclIOIBX.dproj
trunk/Source/Brokers/IBX/DXE2/DclIOIBX.res
trunk/Source/Brokers/IBX/DXE2/IOIBX.res
trunk/Source/Brokers/XML/D2007/DclIOXML.dproj
trunk/Source/Brokers/XML/DXE2/DclIOXML.res
trunk/Source/Brokers/XML/DXE2/IOXML.res
trunk/Source/Catalogs/IBFb/DXE2/IOIBFbCatalog.res
trunk/Source/Catalogs/MSSql/DXE2/IOMSSqlCatalog.res
trunk/Source/Catalogs/MySQL/DXE2/IOMySQLCatalog.res
trunk/Source/Core/DXE2/IOCore.res
trunk/Source/Design/D2007/DclIOCore.dproj
trunk/Source/Design/DXE2/DclIOCore.res
trunk/Tests/TestIO_DXE2.dpr
trunk/Tests/TestIO_DXE2.dproj
trunk/Tests/TestIO_DXE2.mdrt
trunk/Tests/TestIO_DXE2.mdx
trunk/Tests/TestIO_DXE2.mdxt
trunk/Tests/TestIO_DXE2.res
Added Paths:
-----------
trunk/Demos/PrimerCross/Primer_DXE2.dpr
trunk/Demos/PrimerCross/Primer_DXE2.dproj
trunk/Demos/PrimerCross/Primer_DXE2.mdr
trunk/Demos/PrimerCross/Primer_DXE2.res
trunk/Demos/PrimerCross/Primer_DXE2.xml
trunk/Demos/PrimerCross/Primer_DXE2_Icon.ico
trunk/Source/Brokers/NexusDb/D2007/
trunk/Source/Brokers/NexusDb/D2007/DclIONexusDB.dpk
trunk/Source/Brokers/NexusDb/D2007/DclIONexusDB.dproj
trunk/Source/Brokers/NexusDb/D2007/DclIONexusDB.res
trunk/Source/Brokers/NexusDb/D2007/IONexusDB.dpk
trunk/Source/Brokers/NexusDb/D2007/IONexusDB.dproj
trunk/Source/Brokers/NexusDb/D2007/IONexusDB.res
trunk/Source/Brokers/NexusDb/D2009/
trunk/Source/Brokers/NexusDb/D2009/DclIONexusDB.dpk
trunk/Source/Brokers/NexusDb/D2009/DclIONexusDB.dproj
trunk/Source/Brokers/NexusDb/D2009/DclIONexusDB.res
trunk/Source/Brokers/NexusDb/D2009/IONexusDB.dpk
trunk/Source/Brokers/NexusDb/D2009/IONexusDB.dproj
trunk/Source/Brokers/NexusDb/D2009/IONexusDB.res
trunk/Source/Brokers/UIB/D2007/
trunk/Source/Brokers/UIB/D2007/DclIOUIB.dpk
trunk/Source/Brokers/UIB/D2007/DclIOUIB.dproj
trunk/Source/Brokers/UIB/D2007/DclIOUIB.res
trunk/Source/Brokers/UIB/D2007/IOUIB.dpk
trunk/Source/Brokers/UIB/D2007/IOUIB.dproj
trunk/Source/Brokers/UIB/D2007/IOUIB.res
Modified: trunk/Demos/PrimerCross/PrimerExternal_DXE.dproj
===================================================================
--- trunk/Demos/PrimerCross/PrimerExternal_DXE.dproj 2012-10-29 20:37:39 UTC (rev 960)
+++ trunk/Demos/PrimerCross/PrimerExternal_DXE.dproj 2012-10-29 20:44:39 UTC (rev 961)
@@ -5,16 +5,27 @@
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>PrimerExternal.exe</DCC_DependencyCheckOutputName>
- <ProjectVersion>12.2</ProjectVersion>
+ <ProjectVersion>13.4</ProjectVersion>
<Config Condition="'$(Config)'==''">Debug</Config>
<Base>True</Base>
- <Platform>Win32</Platform>
<AppType>Application</AppType>
<FrameworkType>VCL</FrameworkType>
+ <Platform Condition="'$(Platform)'==''">Win32</Platform>
+ <TargetedPlatforms>1</TargetedPlatforms>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
<Base>true</Base>
</PropertyGroup>
+ <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''">
+ <Base_Win64>true</Base_Win64>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
+ <Base_Win32>true</Base_Win32>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
<Cfg_1>true</Cfg_1>
<CfgParent>Base</CfgParent>
@@ -26,10 +37,25 @@
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Base)'!=''">
- <DCC_UnitAlias>WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;$(DCC_UnitAlias)</DCC_UnitAlias>
+ <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
+ <VerInfo_MajorVer>2</VerInfo_MajorVer>
+ <DCC_Namespace>Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;VCLTee;$(DCC_Namespace)</DCC_Namespace>
+ <VerInfo_Keys>CompanyName=InstantObjects.org;FileDescription=Primer Demo;FileVersion=2.0.0.0;InternalName=;LegalCopyright=MPL public license;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=2.0;Comments=</VerInfo_Keys>
+ <VerInfo_Locale>1030</VerInfo_Locale>
<DCC_Define>IO_STATEMENT_LOGGING;$(DCC_Define)</DCC_Define>
<DCC_DependencyCheckOutputName>PrimerExternal_D2009.exe</DCC_DependencyCheckOutputName>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Base_Win64)'!=''">
+ <Icon_MainIcon>PrimerExternal_DXE_Icon1.ico</Icon_MainIcon>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Base_Win32)'!=''">
+ <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
+ <Icon_MainIcon>PrimerExternal_DXE_Icon1.ico</Icon_MainIcon>
+ <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
+ <VerInfo_Locale>1033</VerInfo_Locale>
+ <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
+ <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Cfg_1)'!=''">
<Version>7.0</Version>
<DCC_DebugInformation>False</DCC_DebugInformation>
@@ -93,13 +119,14 @@
</Source>
</Delphi.Personality>
<Platforms>
+ <Platform value="Win64">False</Platform>
<Platform value="Win32">True</Platform>
</Platforms>
</BorlandProject>
<ProjectFileVersion>12</ProjectFileVersion>
</ProjectExtensions>
<ItemGroup>
- <DelphiCompile Include="PrimerExternal_DXE.dpr">
+ <DelphiCompile Include="$(MainSource)">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="Main.pas">
@@ -189,5 +216,5 @@
</BuildConfiguration>
</ItemGroup>
<Import Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')" Project="$(BDS)\Bin\CodeGear.Delphi.Targets"/>
- <Import Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\8.0\UserTools.proj')" Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\8.0\UserTools.proj"/>
+ <Import Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')" Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj"/>
</Project>
Modified: trunk/Demos/PrimerCross/PrimerExternal_DXE.res
===================================================================
(Binary files differ)
Added: trunk/Demos/PrimerCross/Primer_DXE2.dpr
===================================================================
--- trunk/Demos/PrimerCross/Primer_DXE2.dpr (rev 0)
+++ trunk/Demos/PrimerCross/Primer_DXE2.dpr 2012-10-29 20:44:39 UTC (rev 961)
@@ -0,0 +1,80 @@
+(*
+ * InstantObjects
+ * Primer Demo - with "internal storage" of Part and Parts
+ * Model.pas unit is located in Model folder
+ *
+ *)
+
+(* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is: Seleqt InstantObjects
+ *
+ * The Initial Developer of the Original Code is: Seleqt
+ *
+ * Portions created by the Initial Developer are Copyright (C) 2001-2003
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ * Carlo Barazzetta, Nando Dessena
+ *
+ * ***** END LICENSE BLOCK ***** *)
+
+program Primer_DXE2;
+
+{$IFDEF LINUX}
+{$I '../../Source/InstantDefines.inc'}
+{$ELSE}
+{$I '..\..\Source\InstantDefines.inc'}
+{$ENDIF}
+
+
+uses
+ Forms,
+ Main in 'Main.pas' {MainForm},
+ Model in 'Model\Model.pas',
+ ContactView in 'ContactView.pas' {ContactViewForm: TFrame},
+ BasicView in 'BasicView.pas' {BasicViewForm: TFrame},
+ BasicEdit in 'BasicEdit.pas' {BasicEditForm},
+ ContactEdit in 'ContactEdit.pas' {ContactEditForm},
+ PersonEdit in 'PersonEdit.pas' {PersonEditForm},
+ CompanyEdit in 'CompanyEdit.pas' {CompanyEditForm},
+ DemoData in 'DemoData.pas',
+ ContactFilterEdit in 'ContactFilterEdit.pas' {ContactFilterEditForm},
+ MainData in 'MainData.pas' {MainDataModule: TDataModule},
+ ContactBrowse in 'ContactBrowse.pas' {ContactBrowseForm},
+ CompanyBrowse in 'CompanyBrowse.pas' {CompanyBrowseForm},
+ PerformanceView in 'PerformanceView.pas' {PerformanceViewForm: TFrame},
+ Welcome in 'Welcome.pas' {WelcomeForm},
+ PersonBrowse in 'PersonBrowse.pas' {PersonBrowseForm},
+ BasicBrowse in 'BasicBrowse.pas' {BasicBrowseForm},
+ CountryBrowse in 'CountryBrowse.pas' {CountryBrowseForm},
+ DemoDataRequest in 'DemoDataRequest.pas' {DemoDataRequestForm},
+ ContactSort in 'ContactSort.pas' {ContactSortForm},
+ CategoryBrowse in 'CategoryBrowse.pas' {CategoryBrowseForm},
+ HelpView in 'HelpView.pas' {HelpViewForm: TFrame},
+ QueryView in 'QueryView.pas' {QueryViewForm: TFrame},
+ RandomData in 'RandomData.pas',
+ Stopwatch in 'Stopwatch.pas',
+ Utility in 'Utility.pas';
+
+{$R *.res}
+{$R *.mdr} {Model}
+
+begin
+ Application.Initialize;
+ Application.Title := 'InstantObjects Primer Demo (Delphi XE2 version)';
+ Application.CreateForm(TMainForm, MainForm);
+ Application.CreateForm(TMainDataModule, MainDataModule);
+ Application.Run;
+end.
Property changes on: trunk/Demos/PrimerCross/Primer_DXE2.dpr
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Demos/PrimerCross/Primer_DXE2.dproj
===================================================================
--- trunk/Demos/PrimerCross/Primer_DXE2.dproj (rev 0)
+++ trunk/Demos/PrimerCross/Primer_DXE2.dproj 2012-10-29 20:44:39 UTC (rev 961)
@@ -0,0 +1,227 @@
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{d197a2d4-31b9-43b1-8070-3f804d86e53f}</ProjectGuid>
+ <MainSource>Primer_DXE2.dpr</MainSource>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <DCC_DependencyCheckOutputName>Primer.exe</DCC_DependencyCheckOutputName>
+ <ProjectVersion>13.4</ProjectVersion>
+ <Config Condition="'$(Config)'==''">Debug</Config>
+ <Base>True</Base>
+ <AppType>Application</AppType>
+ <FrameworkType>VCL</FrameworkType>
+ <Platform Condition="'$(Platform)'==''">Win32</Platform>
+ <TargetedPlatforms>1</TargetedPlatforms>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''">
+ <Base_Win64>true</Base_Win64>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
+ <Base_Win32>true</Base_Win32>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
+ <Cfg_1>true</Cfg_1>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
+ <Cfg_2>true</Cfg_2>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win32)'!=''">
+ <Cfg_2_Win32>true</Cfg_2_Win32>
+ <CfgParent>Cfg_2</CfgParent>
+ <Cfg_2>true</Cfg_2>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Base)'!=''">
+ <DCC_Namespace>Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;VCLTee;$(DCC_Namespace)</DCC_Namespace>
+ <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
+ <VerInfo_MajorVer>2</VerInfo_MajorVer>
+ <VerInfo_Locale>1030</VerInfo_Locale>
+ <VerInfo_Keys>CompanyName=InstantObjects.org;FileDescription=Primer Demo;FileVersion=2.0.0.0;InternalName=;LegalCopyright=MPL public license;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=2.0;Comments=</VerInfo_Keys>
+ <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
+ <DCC_UsePackage>vcl;rtl;vclx;dbrtl;vcldb;bdertl;vclimg;vclactnband;adortl;vcldbx;dbexpress;DbxCommonDriver;DataSnapIndy10ServerTransport;DataSnapProviderClient;vclie;xmlrtl;inet;dsnap;inetdb;IndySystem;IndyCore;IndyProtocols;DbxClientDriver;inetdbxpress;inetdbbde;DataSnapServer;dbxcds;DBXInterBaseDriver;DBXMySQLDriver;DBXFirebirdDriver;DBXSybaseASEDriver;DBXSybaseASADriver;DBXOracleDriver;DBXMSSQLDriver;DBXInformixDriver;DBXDb2Driver;vclib;ibxpress;intrawebdb_100_140;Intraweb_100_140;dsnapcon;vclribbon;VclSmp;soaprtl;TeeUI;TeeDB;Tee;vcltouch;webdsnap;websnap;rbRIDE1114;rbIDE1114;rbRAP1114;rbRCL1114;dclRBADO1114;rbADO1114;rbDB1114;rbDAD1114;dclRBBDE1114;rbDBDE1114;rbBDE1114;dclRBDBE1114;rbDBE1114;dclRBE1114;rbCIDE1114;dclRBIBE1114;rbIBE1114;rbUSERDesign1114;rbUSER1114;ActionBandExtensionsD2010;UniSynEdit_R2010;wPDF3_D2010;WPViewPDF_D2010;IOCore;Jcl;JclVcl;JvCoreD14R;JvSystemD14R;JvStdCtrlsD14R;JvAppFrmD14R;JvBandsD14R;JvDBD14R;JvDlgsD14R;JvBDED14R;JvCmpD14R;JvCryptD14R;JvCtrlsD14R;JvCustomD14R;JvDockingD14R;JvDotNetCtrlsD14R;JvEDID14R;JvGlobusD14R;JvHMID14R;JvInterpreterD14R;JvJansD14R;JvManagedThreadsD14R;JvMMD14R;JvNetD14R;JvPageCompsD14R;JvPluginD14R;JvPrintPreviewD14R;JvRuntimeDesignD14R;JvTimeFrameworkD14R;JvValidatorsD14R;JvWizardD14R;JvXPCtrlsD14R;rbDIDE1114;IOIBX;IOXML;IODBX;IOBDE;IOADO;ISRtl5;ISVcl5;ISOpenOffice5;ISFLib5;$(DCC_UsePackage)</DCC_UsePackage>
+ <DCC_DependencyCheckOutputName>Primer_DXE.exe</DCC_DependencyCheckOutputName>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Base_Win64)'!=''">
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Base_Win32)'!=''">
+ <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
+ <DCC_Namespace>System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
+ <VerInfo_Locale>1033</VerInfo_Locale>
+ <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
+ <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_1)'!=''">
+ <Version>7.0</Version>
+ <DCC_DebugInformation>False</DCC_DebugInformation>
+ <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
+ <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_ResourcePath)</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_ObjPath)</DCC_ObjPath>
+ <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_IncludePath)</DCC_IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_2)'!=''">
+ <DCC_DebugDCUs>true</DCC_DebugDCUs>
+ <Version>7.0</Version>
+ <DCC_Define>DEBUG;IO_STATEMENT_LOGGING;$(DCC_Define)</DCC_Define>
+ <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_ResourcePath)</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_ObjPath)</DCC_ObjPath>
+ <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_IncludePath)</DCC_IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
+ <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
+ <VerInfo_Locale>1033</VerInfo_Locale>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality.12</Borland.Personality>
+ <Borland.ProjectType>VCLApplication</Borland.ProjectType>
+ <BorlandProject>
+ <Delphi.Personality>
+ <Parameters/>
+ <VersionInfo>
+ <VersionInfo Name="IncludeVerInfo">True</VersionInfo>
+ <VersionInfo Name="AutoIncBuild">False</VersionInfo>
+ <VersionInfo Name="MajorVer">2</VersionInfo>
+ <VersionInfo Name="MinorVer">0</VersionInfo>
+ <VersionInfo Name="Release">0</VersionInfo>
+ <VersionInfo Name="Build">0</VersionInfo>
+ <VersionInfo Name="Debug">False</VersionInfo>
+ <VersionInfo Name="PreRelease">False</VersionInfo>
+ <VersionInfo Name="Special">False</VersionInfo>
+ <VersionInfo Name="Private">False</VersionInfo>
+ <VersionInfo Name="DLL">False</VersionInfo>
+ <VersionInfo Name="Locale">1030</VersionInfo>
+ <VersionInfo Name="CodePage">1252</VersionInfo>
+ </VersionInfo>
+ <VersionInfoKeys>
+ <VersionInfoKeys Name="CompanyName">InstantObjects.org</VersionInfoKeys>
+ <VersionInfoKeys Name="FileDescription">Primer Demo</VersionInfoKeys>
+ <VersionInfoKeys Name="FileVersion">2.0.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="InternalName"/>
+ <VersionInfoKeys Name="LegalCopyright">MPL public license</VersionInfoKeys>
+ <VersionInfoKeys Name="LegalTrademarks"/>
+ <VersionInfoKeys Name="OriginalFilename"/>
+ <VersionInfoKeys Name="ProductName"/>
+ <VersionInfoKeys Name="ProductVersion">2.0</VersionInfoKeys>
+ <VersionInfoKeys Name="Comments"/>
+ </VersionInfoKeys>
+ <Source>
+ <Source Name="MainSource">Primer_DXE2.dpr</Source>
+ </Source>
+ <Excluded_Packages>
+ <Excluded_Packages Name="$(BDSBIN)\dcloffice2k160.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
+ <Excluded_Packages Name="$(BDSBIN)\dclofficexp160.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
+ </Excluded_Packages>
+ </Delphi.Personality>
+ <ModelSupport>False</ModelSupport>
+ <Platforms>
+ <Platform value="Win64">False</Platform>
+ <Platform value="Win32">True</Platform>
+ </Platforms>
+ </BorlandProject>
+ <ProjectFileVersion>12</ProjectFileVersion>
+ </ProjectExtensions>
+ <ItemGroup>
+ <DelphiCompile Include="$(MainSource)">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="Main.pas">
+ <Form>MainForm</Form>
+ </DCCReference>
+ <DCCReference Include="Model\Model.pas"/>
+ <DCCReference Include="ContactView.pas">
+ <Form>ContactViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="BasicView.pas">
+ <Form>BasicViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="BasicEdit.pas">
+ <Form>BasicEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="ContactEdit.pas">
+ <Form>ContactEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="PersonEdit.pas">
+ <Form>PersonEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="CompanyEdit.pas">
+ <Form>CompanyEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="DemoData.pas"/>
+ <DCCReference Include="ContactFilterEdit.pas">
+ <Form>ContactFilterEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="MainData.pas">
+ <Form>MainDataModule</Form>
+ <DesignClass>TDataModule</DesignClass>
+ </DCCReference>
+ <DCCReference Include="ContactBrowse.pas">
+ <Form>ContactBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="CompanyBrowse.pas">
+ <Form>CompanyBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="PerformanceView.pas">
+ <Form>PerformanceViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="Welcome.pas">
+ <Form>WelcomeForm</Form>
+ </DCCReference>
+ <DCCReference Include="PersonBrowse.pas">
+ <Form>PersonBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="BasicBrowse.pas">
+ <Form>BasicBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="CountryBrowse.pas">
+ <Form>CountryBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="DemoDataRequest.pas">
+ <Form>DemoDataRequestForm</Form>
+ </DCCReference>
+ <DCCReference Include="ContactSort.pas">
+ <Form>ContactSortForm</Form>
+ </DCCReference>
+ <DCCReference Include="CategoryBrowse.pas">
+ <Form>CategoryBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="HelpView.pas">
+ <Form>HelpViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="QueryView.pas">
+ <Form>QueryViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="RandomData.pas"/>
+ <DCCReference Include="Stopwatch.pas"/>
+ <DCCReference Include="Utility.pas"/>
+ <BuildConfiguration Include="Debug">
+ <Key>Cfg_2</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Base">
+ <Key>Base</Key>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Release">
+ <Key>Cfg_1</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ </ItemGroup>
+ <Import Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')" Project="$(BDS)\Bin\CodeGear.Delphi.Targets"/>
+ <Import Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')" Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj"/>
+ </Project>
Property changes on: trunk/Demos/PrimerCross/Primer_DXE2.dproj
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Demos/PrimerCross/Primer_DXE2.mdr
===================================================================
(Binary files differ)
Property changes on: trunk/Demos/PrimerCross/Primer_DXE2.mdr
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/Demos/PrimerCross/Primer_DXE2.res
===================================================================
(Binary files differ)
Property changes on: trunk/Demos/PrimerCross/Primer_DXE2.res
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/Demos/PrimerCross/Primer_DXE2.xml
===================================================================
--- trunk/Demos/PrimerCross/Primer_DXE2.xml (rev 0)
+++ trunk/Demos/PrimerCross/Primer_DXE2.xml 2012-10-29 20:44:39 UTC (rev 961)
@@ -0,0 +1,29 @@
+<TInstantConnectionDefs>
+ <TInstantBDEConnectionDef>
+ <Name>ParadoxDB</Name>
+ <IsBuilt>TRUE</IsBuilt>
+ <BlobStreamFormat>sfXML</BlobStreamFormat>
+ <LoginPrompt>FALSE</LoginPrompt>
+ <DriverName>STANDARD</DriverName>
+ <Parameters>PATH=.\ParadoxDB
+DEFAULT DRIVER=PARADOX
+ENABLE BCD=TRUE
+</Parameters>
+ </TInstantBDEConnectionDef>
+ <TInstantIBXConnectionDef>
+ <Name>FirebirdDB</Name>
+ <IsBuilt>TRUE</IsBuilt>
+ <BlobStreamFormat>sfXML</BlobStreamFormat>
+ <LoginPrompt>FALSE</LoginPrompt>
+ <ConnectionString>.\FirebirdDB\PRIMERDB.FDB</ConnectionString>
+ <Options></Options>
+ <Params>user_name=SYSDBA
+password=masterkey
+lc_ctype=ISO8859_1</Params>
+ </TInstantIBXConnectionDef>
+ <TInstantXMLConnectionDef>
+ <Name>XmlDB</Name>
+ <IsBuilt>TRUE</IsBuilt>
+ <RootFolder>.\XmlDB</RootFolder>
+ </TInstantXMLConnectionDef>
+</TInstantConnectionDefs>
Property changes on: trunk/Demos/PrimerCross/Primer_DXE2.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Demos/PrimerCross/Primer_DXE2_Icon.ico
===================================================================
(Binary files differ)
Property changes on: trunk/Demos/PrimerCross/Primer_DXE2_Icon.ico
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/Source/Brokers/ADO/D2007/DclIOADO.dproj
===================================================================
--- trunk/Source/Brokers/ADO/D2007/DclIOADO.dproj 2012-10-29 20:37:39 UTC (rev 960)
+++ trunk/Source/Brokers/ADO/D2007/DclIOADO.dproj 2012-10-29 20:44:39 UTC (rev 961)
@@ -5,7 +5,7 @@
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
- <DCC_DependencyCheckOutputName>..\..\..\..\..\..\..\..\Documents\RAD Studio\5.0\Bpl\DclIOADO_D11.bpl</DCC_DependencyCheckOutputName>
+ <DCC_DependencyCheckOutputName>..\..\..\..\..\..\..\..\Public\Documents\RAD Studio\5.0\Bpl\DclIOADO_D11.bpl</DCC_DependencyCheckOutputName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Version>7.0</Version>
Modified: trunk/Source/Brokers/ADO/DXE2/DclIOADO.res
===================================================================
(Binary files differ)
Modified: trunk/Source/Brokers/ADO/DXE2/IOADO.res
===================================================================
(Binary files differ)
Modified: trunk/Source/Brokers/BDE/D2007/DclIOBDE.dproj
===================================================================
--- trunk/Source/Brokers/BDE/D2007/DclIOBDE.dproj 2012-10-29 20:37:39 UTC (rev 960)
+++ trunk/Source/Brokers/BDE/D2007/DclIOBDE.dproj 2012-10-29 20:44:39 UTC (rev 961)
@@ -5,7 +5,7 @@
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
- <DCC_DependencyCheckOutputName>..\..\..\..\..\..\..\..\Documents\RAD Studio\5.0\Bpl\DclIOBDE_D11.bpl</DCC_DependencyCheckOutputName>
+ <DCC_DependencyCheckOutputName>..\..\..\..\..\..\..\..\Public\Documents\RAD Studio\5.0\Bpl\DclIOBDE_D11.bpl</DCC_DependencyCheckOutputName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Version>7.0</Version>
Modified: trunk/Source/Brokers/BDE/DXE2/DclIOBDE.res
===================================================================
(Binary files differ)
Modified: trunk/Source/Brokers/BDE/DXE2/IOBDE.res
===================================================================
(Binary files differ)
Modified: trunk/Source/Brokers/DBX/D2007/DclIODBX.dproj
===================================================================
--- trunk/Source/Brokers/DBX/D2007/DclIODBX.dproj 2012-10-29 20:37:39 UTC (rev 960)
+++ trunk/Source/Brokers/DBX/D2007/DclIODBX.dproj 2012-10-29 20:44:39 UTC (rev 961)
@@ -5,7 +5,7 @@
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
- <DCC_DependencyCheckOutputName>..\..\..\..\..\..\..\..\Documents\RAD Studio\5.0\Bpl\DclIODBX_D11.bpl</DCC_DependencyCheckOutputName>
+ <DCC_DependencyCheckOutputName>..\..\..\..\..\..\..\..\Public\Documents\RAD Studio\5.0\Bpl\DclIODBX_D11.bpl</DCC_DependencyCheckOutputName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Version>7.0</Version>
Modified: trunk/Source/Brokers/DBX/DXE2/DclIODBX.res
===================================================================
(Binary files differ)
Modified: trunk/Source/Brokers/DBX/DXE2/IODBX.res
===================================================================
(Binary files differ)
M...
[truncated message content] |
|
From: <na...@us...> - 2012-10-29 21:31:04
|
Revision: 962
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=962&view=rev
Author: nandod
Date: 2012-10-29 21:30:50 +0000 (Mon, 29 Oct 2012)
Log Message:
-----------
+ DXE3 packages.
* DXE3 changes.
+ InstantPersistence test unit with test for a DXE3 related bug.
* Small fixes/enhancements.
Modified Paths:
--------------
trunk/Demos/PrimerCross/ContactView.pas
trunk/Demos/PrimerCross/Main.pas
trunk/Demos/PrimerCross/Utility.pas
trunk/Source/Core/InstantAccessors.pas
trunk/Source/Core/InstantCode.pas
trunk/Source/Core/InstantCommand.pas
trunk/Source/Core/InstantConnectionManager.pas
trunk/Source/Core/InstantConnectionManagerFormUnit.pas
trunk/Source/Core/InstantConsts.pas
trunk/Source/Core/InstantCustomDBEvolverFormUnit.pas
trunk/Source/Core/InstantExplorer.pas
trunk/Source/Core/InstantMetadata.pas
trunk/Source/Core/InstantPersistence.pas
trunk/Source/Core/InstantPresentation.pas
trunk/Source/Core/InstantValidation.pas
trunk/Source/Design/InstantModelExpert.pas
trunk/Source/InstantDefines.inc
trunk/Tests/TestInstantAttribute.pas
trunk/Tests/TestInstantBoolean.pas
trunk/Tests/TestInstantCache.pas
trunk/Tests/TestInstantClassMetadata.pas
trunk/Tests/TestInstantComplex.pas
trunk/Tests/TestInstantCurrency.pas
trunk/Tests/TestInstantDate.pas
trunk/Tests/TestInstantDateTime.pas
trunk/Tests/TestInstantFieldMetadata.pas
trunk/Tests/TestInstantFloat.pas
trunk/Tests/TestInstantIndexMetadata.pas
trunk/Tests/TestInstantInteger.pas
trunk/Tests/TestInstantNumeric.pas
trunk/Tests/TestInstantObjectStore.pas
trunk/Tests/TestInstantScheme.pas
trunk/Tests/TestInstantString.pas
trunk/Tests/TestInstantTableMetadata.pas
trunk/Tests/TestInstantTime.pas
trunk/Tests/TestMinimalModel.pas
trunk/Tests/TestXMLBroker.pas
Added Paths:
-----------
trunk/Demos/PrimerCross/Primer_DXE3.dpr
trunk/Demos/PrimerCross/Primer_DXE3.dproj
trunk/Demos/PrimerCross/Primer_DXE3.mdr
trunk/Demos/PrimerCross/Primer_DXE3.res
trunk/Demos/PrimerCross/Primer_DXE3.xml
trunk/Source/Brokers/ADO/DXE3/
trunk/Source/Brokers/ADO/DXE3/DclIOADO.dpk
trunk/Source/Brokers/ADO/DXE3/DclIOADO.dproj
trunk/Source/Brokers/ADO/DXE3/DclIOADO.res
trunk/Source/Brokers/ADO/DXE3/IOADO.dpk
trunk/Source/Brokers/ADO/DXE3/IOADO.dproj
trunk/Source/Brokers/ADO/DXE3/IOADO.res
trunk/Source/Brokers/BDE/DXE3/
trunk/Source/Brokers/BDE/DXE3/DclIOBDE.dpk
trunk/Source/Brokers/BDE/DXE3/DclIOBDE.dproj
trunk/Source/Brokers/BDE/DXE3/DclIOBDE.res
trunk/Source/Brokers/BDE/DXE3/IOBDE.dpk
trunk/Source/Brokers/BDE/DXE3/IOBDE.dproj
trunk/Source/Brokers/BDE/DXE3/IOBDE.res
trunk/Source/Brokers/DBX/DXE3/
trunk/Source/Brokers/DBX/DXE3/DclIODBX.dpk
trunk/Source/Brokers/DBX/DXE3/DclIODBX.dproj
trunk/Source/Brokers/DBX/DXE3/DclIODBX.res
trunk/Source/Brokers/DBX/DXE3/IODBX.dpk
trunk/Source/Brokers/DBX/DXE3/IODBX.dproj
trunk/Source/Brokers/DBX/DXE3/IODBX.res
trunk/Source/Brokers/IBX/DXE3/
trunk/Source/Brokers/IBX/DXE3/DclIOIBX.dpk
trunk/Source/Brokers/IBX/DXE3/DclIOIBX.dproj
trunk/Source/Brokers/IBX/DXE3/DclIOIBX.res
trunk/Source/Brokers/IBX/DXE3/IOIBX.dpk
trunk/Source/Brokers/IBX/DXE3/IOIBX.dproj
trunk/Source/Brokers/IBX/DXE3/IOIBX.res
trunk/Source/Brokers/XML/DXE3/
trunk/Source/Brokers/XML/DXE3/DclIOXML.dpk
trunk/Source/Brokers/XML/DXE3/DclIOXML.dproj
trunk/Source/Brokers/XML/DXE3/DclIOXML.res
trunk/Source/Brokers/XML/DXE3/IOXML.dpk
trunk/Source/Brokers/XML/DXE3/IOXML.dproj
trunk/Source/Brokers/XML/DXE3/IOXML.res
trunk/Source/Catalogs/IBFb/DXE3/
trunk/Source/Catalogs/IBFb/DXE3/IOIBFbCatalog.dpk
trunk/Source/Catalogs/IBFb/DXE3/IOIBFbCatalog.dproj
trunk/Source/Catalogs/IBFb/DXE3/IOIBFbCatalog.res
trunk/Source/Catalogs/MSSql/DXE3/
trunk/Source/Catalogs/MSSql/DXE3/IOMSSqlCatalog.dpk
trunk/Source/Catalogs/MSSql/DXE3/IOMSSqlCatalog.dproj
trunk/Source/Catalogs/MSSql/DXE3/IOMSSqlCatalog.res
trunk/Source/Catalogs/MySQL/DXE3/
trunk/Source/Catalogs/MySQL/DXE3/IOMySQLCatalog.dpk
trunk/Source/Catalogs/MySQL/DXE3/IOMySQLCatalog.dproj
trunk/Source/Catalogs/MySQL/DXE3/IOMySQLCatalog.res
trunk/Source/Core/DXE3/
trunk/Source/Core/DXE3/IOCore.dpk
trunk/Source/Core/DXE3/IOCore.dproj
trunk/Source/Core/DXE3/IOCore.res
trunk/Source/Design/DXE3/
trunk/Source/Design/DXE3/DclIOCore.dpk
trunk/Source/Design/DXE3/DclIOCore.dproj
trunk/Source/Design/DXE3/DclIOCore.identcache
trunk/Source/Design/DXE3/DclIOCore.res
trunk/Source/PackageGroups/DXE3/
trunk/Source/PackageGroups/DXE3/DesignTimePackages.groupproj
trunk/Source/PackageGroups/DXE3/RunTimePackages.groupproj
trunk/Tests/TestIO_DXE3.dpr
trunk/Tests/TestIO_DXE3.dproj
trunk/Tests/TestIO_DXE3.mdr
trunk/Tests/TestIO_DXE3.mdrt
trunk/Tests/TestIO_DXE3.mdx
trunk/Tests/TestIO_DXE3.mdxt
trunk/Tests/TestIO_DXE3.res
trunk/Tests/TestInstantPresentation.pas
Modified: trunk/Demos/PrimerCross/ContactView.pas
===================================================================
--- trunk/Demos/PrimerCross/ContactView.pas 2012-10-29 20:44:39 UTC (rev 961)
+++ trunk/Demos/PrimerCross/ContactView.pas 2012-10-29 21:30:50 UTC (rev 962)
@@ -20,6 +20,7 @@
QComCtrls, QGrids, QDBGrids, QExtCtrls, QButtons,
QStdCtrls, QActnList, QImgList, QMenus, Types,
{$ENDIF}
+ {$IFDEF D17+}Actions,{$ENDIF}
BasicView, Model, InstantPresentation, InstantExplorer;
type
Modified: trunk/Demos/PrimerCross/Main.pas
===================================================================
--- trunk/Demos/PrimerCross/Main.pas 2012-10-29 20:44:39 UTC (rev 961)
+++ trunk/Demos/PrimerCross/Main.pas 2012-10-29 21:30:50 UTC (rev 962)
@@ -19,7 +19,8 @@
QMenus, QExtCtrls, QComCtrls, QGrids, QDBGrids, QImgList, QActnList,
{$ENDIF}
InstantPersistence, BasicView, Stopwatch,
- InstantConnectionManagerFormUnit, InstantConnectionManager;
+ InstantConnectionManagerFormUnit, InstantConnectionManager
+ {$IFDEF D17+}, System.Actions{$ENDIF};
type
TMainForm = class(TForm)
@@ -153,7 +154,8 @@
// versions of Delphi. If you get a compilation error it means you
// don't have an Enterprise version of Delphi - just remove them.
DBXFirebird, DBXInterBase, DBXDB2, DBXMSSql, DBXOracle,
- {$ENDIF}{$ENDIF}
+ {$ENDIF}
+{$ENDIF}
{$IFDEF LINUX}
InstantDBX,
{$ENDIF}
Added: trunk/Demos/PrimerCross/Primer_DXE3.dpr
===================================================================
--- trunk/Demos/PrimerCross/Primer_DXE3.dpr (rev 0)
+++ trunk/Demos/PrimerCross/Primer_DXE3.dpr 2012-10-29 21:30:50 UTC (rev 962)
@@ -0,0 +1,80 @@
+(*
+ * InstantObjects
+ * Primer Demo - with "internal storage" of Part and Parts
+ * Model.pas unit is located in Model folder
+ *
+ *)
+
+(* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is: Seleqt InstantObjects
+ *
+ * The Initial Developer of the Original Code is: Seleqt
+ *
+ * Portions created by the Initial Developer are Copyright (C) 2001-2003
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ * Carlo Barazzetta, Nando Dessena
+ *
+ * ***** END LICENSE BLOCK ***** *)
+
+program Primer_DXE3;
+
+{$IFDEF LINUX}
+{$I '../../Source/InstantDefines.inc'}
+{$ELSE}
+{$I '..\..\Source\InstantDefines.inc'}
+{$ENDIF}
+
+
+uses
+ Forms,
+ Main in 'Main.pas' {MainForm},
+ Model in 'Model\Model.pas',
+ ContactView in 'ContactView.pas' {ContactViewForm: TFrame},
+ BasicView in 'BasicView.pas' {BasicViewForm: TFrame},
+ BasicEdit in 'BasicEdit.pas' {BasicEditForm},
+ ContactEdit in 'ContactEdit.pas' {ContactEditForm},
+ PersonEdit in 'PersonEdit.pas' {PersonEditForm},
+ CompanyEdit in 'CompanyEdit.pas' {CompanyEditForm},
+ DemoData in 'DemoData.pas',
+ ContactFilterEdit in 'ContactFilterEdit.pas' {ContactFilterEditForm},
+ MainData in 'MainData.pas' {MainDataModule: TDataModule},
+ ContactBrowse in 'ContactBrowse.pas' {ContactBrowseForm},
+ CompanyBrowse in 'CompanyBrowse.pas' {CompanyBrowseForm},
+ PerformanceView in 'PerformanceView.pas' {PerformanceViewForm: TFrame},
+ Welcome in 'Welcome.pas' {WelcomeForm},
+ PersonBrowse in 'PersonBrowse.pas' {PersonBrowseForm},
+ BasicBrowse in 'BasicBrowse.pas' {BasicBrowseForm},
+ CountryBrowse in 'CountryBrowse.pas' {CountryBrowseForm},
+ DemoDataRequest in 'DemoDataRequest.pas' {DemoDataRequestForm},
+ ContactSort in 'ContactSort.pas' {ContactSortForm},
+ CategoryBrowse in 'CategoryBrowse.pas' {CategoryBrowseForm},
+ HelpView in 'HelpView.pas' {HelpViewForm: TFrame},
+ QueryView in 'QueryView.pas' {QueryViewForm: TFrame},
+ RandomData in 'RandomData.pas',
+ Stopwatch in 'Stopwatch.pas',
+ Utility in 'Utility.pas';
+
+{$R *.res}
+{$R *.mdr} {Model}
+
+begin
+ Application.Initialize;
+ Application.Title := 'InstantObjects Primer Demo (Delphi XE3 version)';
+ Application.CreateForm(TMainForm, MainForm);
+ Application.CreateForm(TMainDataModule, MainDataModule);
+ Application.Run;
+end.
Property changes on: trunk/Demos/PrimerCross/Primer_DXE3.dpr
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Demos/PrimerCross/Primer_DXE3.dproj
===================================================================
--- trunk/Demos/PrimerCross/Primer_DXE3.dproj (rev 0)
+++ trunk/Demos/PrimerCross/Primer_DXE3.dproj 2012-10-29 21:30:50 UTC (rev 962)
@@ -0,0 +1,223 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{d197a2d4-31b9-43b1-8070-3f804d86e53f}</ProjectGuid>
+ <MainSource>Primer_DXE3.dpr</MainSource>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <DCC_DependencyCheckOutputName>Primer.exe</DCC_DependencyCheckOutputName>
+ <ProjectVersion>14.3</ProjectVersion>
+ <Config Condition="'$(Config)'==''">Debug</Config>
+ <Base>True</Base>
+ <AppType>Application</AppType>
+ <FrameworkType>VCL</FrameworkType>
+ <Platform Condition="'$(Platform)'==''">Win32</Platform>
+ <TargetedPlatforms>1</TargetedPlatforms>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
+ <Base_Win32>true</Base_Win32>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
+ <Cfg_1>true</Cfg_1>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
+ <Cfg_2>true</Cfg_2>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win32)'!=''">
+ <Cfg_2_Win32>true</Cfg_2_Win32>
+ <CfgParent>Cfg_2</CfgParent>
+ <Cfg_2>true</Cfg_2>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Base)'!=''">
+ <Icon_MainIcon>Primer_DXE3_Icon.ico</Icon_MainIcon>
+ <Manifest_File>None</Manifest_File>
+ <DCC_Namespace>Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;VCLTee;$(DCC_Namespace)</DCC_Namespace>
+ <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
+ <VerInfo_MajorVer>2</VerInfo_MajorVer>
+ <VerInfo_Locale>1030</VerInfo_Locale>
+ <VerInfo_Keys>CompanyName=InstantObjects.org;FileDescription=Primer Demo;FileVersion=2.0.0.0;InternalName=;LegalCopyright=MPL public license;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=2.0;Comments=</VerInfo_Keys>
+ <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
+ <DCC_UsePackage>vcl;rtl;vclx;dbrtl;vcldb;bdertl;vclimg;vclactnband;adortl;vcldbx;dbexpress;DbxCommonDriver;DataSnapIndy10ServerTransport;DataSnapProviderClient;vclie;xmlrtl;inet;dsnap;inetdb;IndySystem;IndyCore;IndyProtocols;DbxClientDriver;inetdbxpress;inetdbbde;DataSnapServer;dbxcds;DBXInterBaseDriver;DBXMySQLDriver;DBXFirebirdDriver;DBXSybaseASEDriver;DBXSybaseASADriver;DBXOracleDriver;DBXMSSQLDriver;DBXInformixDriver;DBXDb2Driver;vclib;ibxpress;intrawebdb_100_140;Intraweb_100_140;dsnapcon;vclribbon;VclSmp;soaprtl;TeeUI;TeeDB;Tee;vcltouch;webdsnap;websnap;rbRIDE1114;rbIDE1114;rbRAP1114;rbRCL1114;dclRBADO1114;rbADO1114;rbDB1114;rbDAD1114;dclRBBDE1114;rbDBDE1114;rbBDE1114;dclRBDBE1114;rbDBE1114;dclRBE1114;rbCIDE1114;dclRBIBE1114;rbIBE1114;rbUSERDesign1114;rbUSER1114;ActionBandExtensionsD2010;UniSynEdit_R2010;wPDF3_D2010;WPViewPDF_D2010;IOCore;Jcl;JclVcl;JvCoreD14R;JvSystemD14R;JvStdCtrlsD14R;JvAppFrmD14R;JvBandsD14R;JvDBD14R;JvDlgsD14R;JvBDED14R;JvCmpD14R;JvCryptD14R;JvCtrlsD14R;JvCustomD14R;JvDockingD14R;JvDotNetCtrlsD14R;JvEDID14R;JvGlobusD14R;JvHMID14R;JvInterpreterD14R;JvJansD14R;JvManagedThreadsD14R;JvMMD14R;JvNetD14R;JvPageCompsD14R;JvPluginD14R;JvPrintPreviewD14R;JvRuntimeDesignD14R;JvTimeFrameworkD14R;JvValidatorsD14R;JvWizardD14R;JvXPCtrlsD14R;rbDIDE1114;IOIBX;IOXML;IODBX;IOBDE;IOADO;ISRtl5;ISVcl5;ISOpenOffice5;ISFLib5;$(DCC_UsePackage)</DCC_UsePackage>
+ <DCC_DependencyCheckOutputName>Primer_DXE.exe</DCC_DependencyCheckOutputName>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Base_Win32)'!=''">
+ <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
+ <DCC_Namespace>System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
+ <VerInfo_Locale>1033</VerInfo_Locale>
+ <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
+ <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_1)'!=''">
+ <Version>7.0</Version>
+ <DCC_DebugInformation>False</DCC_DebugInformation>
+ <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
+ <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_ResourcePath)</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_ObjPath)</DCC_ObjPath>
+ <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_IncludePath)</DCC_IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_2)'!=''">
+ <DCC_DebugDCUs>true</DCC_DebugDCUs>
+ <Version>7.0</Version>
+ <DCC_Define>DEBUG;IO_STATEMENT_LOGGING;$(DCC_Define)</DCC_Define>
+ <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_ResourcePath)</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_ObjPath)</DCC_ObjPath>
+ <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\ADO;..\..\Source\Brokers\BDE;..\..\Source\Brokers\DBX;..\..\Source\Brokers\IBX;..\..\Source\Brokers\XML;..\..\Source\Catalogs\IBFb;..\..\Source\Catalogs\MSSql;..\..\Source\Catalogs\MySql;$(DCC_IncludePath)</DCC_IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
+ <VerInfo_MajorVer>1</VerInfo_MajorVer>
+ <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
+ <VerInfo_Locale>1033</VerInfo_Locale>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality.12</Borland.Personality>
+ <Borland.ProjectType>VCLApplication</Borland.ProjectType>
+ <BorlandProject>
+ <Delphi.Personality>
+ <Parameters/>
+ <VersionInfo>
+ <VersionInfo Name="IncludeVerInfo">True</VersionInfo>
+ <VersionInfo Name="AutoIncBuild">False</VersionInfo>
+ <VersionInfo Name="MajorVer">2</VersionInfo>
+ <VersionInfo Name="MinorVer">0</VersionInfo>
+ <VersionInfo Name="Release">0</VersionInfo>
+ <VersionInfo Name="Build">0</VersionInfo>
+ <VersionInfo Name="Debug">False</VersionInfo>
+ <VersionInfo Name="PreRelease">False</VersionInfo>
+ <VersionInfo Name="Special">False</VersionInfo>
+ <VersionInfo Name="Private">False</VersionInfo>
+ <VersionInfo Name="DLL">False</VersionInfo>
+ <VersionInfo Name="Locale">1030</VersionInfo>
+ <VersionInfo Name="CodePage">1252</VersionInfo>
+ </VersionInfo>
+ <VersionInfoKeys>
+ <VersionInfoKeys Name="CompanyName">InstantObjects.org</VersionInfoKeys>
+ <VersionInfoKeys Name="FileDescription">Primer Demo</VersionInfoKeys>
+ <VersionInfoKeys Name="FileVersion">2.0.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="InternalName"/>
+ <VersionInfoKeys Name="LegalCopyright">MPL public license</VersionInfoKeys>
+ <VersionInfoKeys Name="LegalTrademarks"/>
+ <VersionInfoKeys Name="OriginalFilename"/>
+ <VersionInfoKeys Name="ProductName"/>
+ <VersionInfoKeys Name="ProductVersion">2.0</VersionInfoKeys>
+ <VersionInfoKeys Name="Comments"/>
+ </VersionInfoKeys>
+ <Source>
+ <Source Name="MainSource">Primer_DXE3.dpr</Source>
+ </Source>
+ <Excluded_Packages>
+ <Excluded_Packages Name="$(BDSBIN)\dcloffice2k170.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
+ <Excluded_Packages Name="$(BDSBIN)\dclofficexp170.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
+ </Excluded_Packages>
+ </Delphi.Personality>
+ <ModelSupport>False</ModelSupport>
+ <Platforms>
+ <Platform value="Win32">True</Platform>
+ <Platform value="Win64">False</Platform>
+ </Platforms>
+ </BorlandProject>
+ <ProjectFileVersion>12</ProjectFileVersion>
+ </ProjectExtensions>
+ <ItemGroup>
+ <DelphiCompile Include="$(MainSource)">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="Main.pas">
+ <Form>MainForm</Form>
+ </DCCReference>
+ <DCCReference Include="Model\Model.pas"/>
+ <DCCReference Include="ContactView.pas">
+ <Form>ContactViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="BasicView.pas">
+ <Form>BasicViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="BasicEdit.pas">
+ <Form>BasicEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="ContactEdit.pas">
+ <Form>ContactEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="PersonEdit.pas">
+ <Form>PersonEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="CompanyEdit.pas">
+ <Form>CompanyEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="DemoData.pas"/>
+ <DCCReference Include="ContactFilterEdit.pas">
+ <Form>ContactFilterEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="MainData.pas">
+ <Form>MainDataModule</Form>
+ <DesignClass>TDataModule</DesignClass>
+ </DCCReference>
+ <DCCReference Include="ContactBrowse.pas">
+ <Form>ContactBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="CompanyBrowse.pas">
+ <Form>CompanyBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="PerformanceView.pas">
+ <Form>PerformanceViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="Welcome.pas">
+ <Form>WelcomeForm</Form>
+ </DCCReference>
+ <DCCReference Include="PersonBrowse.pas">
+ <Form>PersonBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="BasicBrowse.pas">
+ <Form>BasicBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="CountryBrowse.pas">
+ <Form>CountryBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="DemoDataRequest.pas">
+ <Form>DemoDataRequestForm</Form>
+ </DCCReference>
+ <DCCReference Include="ContactSort.pas">
+ <Form>ContactSortForm</Form>
+ </DCCReference>
+ <DCCReference Include="CategoryBrowse.pas">
+ <Form>CategoryBrowseForm</Form>
+ </DCCReference>
+ <DCCReference Include="HelpView.pas">
+ <Form>HelpViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="QueryView.pas">
+ <Form>QueryViewForm</Form>
+ <DesignClass>TFrame</DesignClass>
+ </DCCReference>
+ <DCCReference Include="RandomData.pas"/>
+ <DCCReference Include="Stopwatch.pas"/>
+ <DCCReference Include="Utility.pas"/>
+ <BuildConfiguration Include="Debug">
+ <Key>Cfg_2</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Base">
+ <Key>Base</Key>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Release">
+ <Key>Cfg_1</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ </ItemGroup>
+ <Import Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')" Project="$(BDS)\Bin\CodeGear.Delphi.Targets"/>
+ <Import Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')" Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj"/>
+</Project>
Property changes on: trunk/Demos/PrimerCross/Primer_DXE3.dproj
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Demos/PrimerCross/Primer_DXE3.mdr
===================================================================
(Binary files differ)
Property changes on: trunk/Demos/PrimerCross/Primer_DXE3.mdr
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/Demos/PrimerCross/Primer_DXE3.res
===================================================================
(Binary files differ)
Property changes on: trunk/Demos/PrimerCross/Primer_DXE3.res
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/Demos/PrimerCross/Primer_DXE3.xml
===================================================================
--- trunk/Demos/PrimerCross/Primer_DXE3.xml (rev 0)
+++ trunk/Demos/PrimerCross/Primer_DXE3.xml 2012-10-29 21:30:50 UTC (rev 962)
@@ -0,0 +1,29 @@
+<TInstantConnectionDefs>
+ <TInstantBDEConnectionDef>
+ <Name>ParadoxDB</Name>
+ <IsBuilt>TRUE</IsBuilt>
+ <BlobStreamFormat>sfXML</BlobStreamFormat>
+ <LoginPrompt>FALSE</LoginPrompt>
+ <DriverName>STANDARD</DriverName>
+ <Parameters>PATH=.\ParadoxDB
+DEFAULT DRIVER=PARADOX
+ENABLE BCD=TRUE
+</Parameters>
+ </TInstantBDEConnectionDef>
+ <TInstantIBXConnectionDef>
+ <Name>FirebirdDB</Name>
+ <IsBuilt>TRUE</IsBuilt>
+ <BlobStreamFormat>sfXML</BlobStreamFormat>
+ <LoginPrompt>FALSE</LoginPrompt>
+ <ConnectionString>localhost:c:\db\primercrossutf8.fdb</ConnectionString>
+ <Options></Options>
+ <Params>user_name=SYSDBA
+password=masterkey
+lc_ctype=UTF8</Params>
+ </TInstantIBXConnectionDef>
+ <TInstantXMLConnectionDef>
+ <Name>XmlDB</Name>
+ <IsBuilt>TRUE</IsBuilt>
+ <RootFolder>.\XmlDB</RootFolder>
+ </TInstantXMLConnectionDef>
+</TInstantConnectionDefs>
Property changes on: trunk/Demos/PrimerCross/Primer_DXE3.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Modified: trunk/Demos/PrimerCross/Utility.pas
===================================================================
--- trunk/Demos/PrimerCross/Utility.pas 2012-10-29 20:44:39 UTC (rev 961)
+++ trunk/Demos/PrimerCross/Utility.pas 2012-10-29 21:30:50 UTC (rev 962)
@@ -21,6 +21,9 @@
{$IFDEF LINUX}
QForms, QDialogs, QControls,
{$ENDIF}
+{$IFDEF D17+}
+ System.UITypes,
+{$ENDIF}
SysUtils;
var
Added: trunk/Source/Brokers/ADO/DXE3/DclIOADO.dpk
===================================================================
--- trunk/Source/Brokers/ADO/DXE3/DclIOADO.dpk (rev 0)
+++ trunk/Source/Brokers/ADO/DXE3/DclIOADO.dpk 2012-10-29 21:30:50 UTC (rev 962)
@@ -0,0 +1,41 @@
+package DclIOADO;
+
+{$R *.res}
+{$R '..\InstantADO.dcr'}
+{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION OFF}
+{$OVERFLOWCHECKS ON}
+{$RANGECHECKS ON}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES ON}
+{$TYPEDADDRESS OFF}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DEFINE DEBUG}
+{$ENDIF IMPLICITBUILDING}
+{$DESCRIPTION 'InstantObjects ADO Design-Time Support (Delphi XE3)'}
+{$LIBSUFFIX '_D17'}
+{$DESIGNONLY}
+{$IMPLICITBUILD OFF}
+
+requires
+ rtl,
+ IOADO;
+
+contains
+ InstantADOReg in '..\InstantADOReg.pas';
+
+end.
Property changes on: trunk/Source/Brokers/ADO/DXE3/DclIOADO.dpk
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Source/Brokers/ADO/DXE3/DclIOADO.dproj
===================================================================
--- trunk/Source/Brokers/ADO/DXE3/DclIOADO.dproj (rev 0)
+++ trunk/Source/Brokers/ADO/DXE3/DclIOADO.dproj 2012-10-29 21:30:50 UTC (rev 962)
@@ -0,0 +1,148 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{25086FF7-139E-40BB-9278-EDE3F344302B}</ProjectGuid>
+ <MainSource>DclIOADO.dpk</MainSource>
+ <Base>True</Base>
+ <Config Condition="'$(Config)'==''">Debug</Config>
+ <TargetedPlatforms>1</TargetedPlatforms>
+ <AppType>Package</AppType>
+ <FrameworkType>None</FrameworkType>
+ <ProjectVersion>14.3</ProjectVersion>
+ <Platform Condition="'$(Platform)'==''">Win32</Platform>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
+ <Base_Win32>true</Base_Win32>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
+ <Cfg_1>true</Cfg_1>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
+ <Cfg_2>true</Cfg_2>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win32)'!=''">
+ <Cfg_2_Win32>true</Cfg_2_Win32>
+ <CfgParent>Cfg_2</CfgParent>
+ <Cfg_2>true</Cfg_2>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Base)'!=''">
+ <DesignOnlyPackage>true</Des...
[truncated message content] |
|
From: <na...@us...> - 2013-03-06 18:20:25
|
Revision: 965
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=965&view=rev
Author: nandod
Date: 2013-03-06 18:20:16 +0000 (Wed, 06 Mar 2013)
Log Message:
-----------
* Fixed DXE3 bug (see TestFieldSetValue).
Modified Paths:
--------------
trunk/Source/Core/InstantPresentation.pas
trunk/Tests/TestIO.dpr
trunk/Tests/TestIO.dproj
trunk/Tests/TestIO.mdr
trunk/Tests/TestIO.mdrt
trunk/Tests/TestIO.mdx
trunk/Tests/TestIO.mdxt
trunk/Tests/TestIO_DXE3.dproj
trunk/Tests/TestIO_DXE3.mdr
trunk/Tests/TestInstantPresentation.pas
Property Changed:
----------------
trunk/Tests/XMLDB/
Modified: trunk/Source/Core/InstantPresentation.pas
===================================================================
--- trunk/Source/Core/InstantPresentation.pas 2012-12-05 03:36:25 UTC (rev 964)
+++ trunk/Source/Core/InstantPresentation.pas 2013-03-06 18:20:16 UTC (rev 965)
@@ -474,7 +474,12 @@
procedure SaveField(Field: TField); virtual;
procedure SaveFieldValue(Field: TField; Buffer: Pointer; AObject: TObject);
procedure SetActive(Value: Boolean); override;
- procedure SetFieldData(Field: TField; Buffer: Pointer); override;
+{$IFDEF D12+}
+ procedure SetFieldData(Field: TField; Buffer: TValueBuffer); overload; override;
+{$ENDIF}
+{$IFNDEF NEXTGEN}
+ procedure SetFieldData(Field: TField; Buffer: Pointer); overload; override; {$IFDEF D12+}deprecated 'Use overloaded method instead';{$ENDIF}
+{$ENDIF}
procedure SetFiltered(Value: Boolean); override;
procedure SetRecNo(Value: Integer); override;
procedure Undo; virtual;
@@ -4221,6 +4226,7 @@
end;
end;
+{$IFNDEF NEXTGEN}
procedure TInstantCustomExposer.SetFieldData(Field: TField; Buffer: Pointer);
begin
if Assigned(Buffer) then
@@ -4239,7 +4245,30 @@
end;
end;
end;
+{$ENDIF}
+{$IFDEF D12+}
+procedure TInstantCustomExposer.SetFieldData(Field: TField;
+ Buffer: TValueBuffer);
+begin
+ if Assigned(Buffer) then
+ Move(Buffer[0], CurrentBuffer[GetFieldOffset(Field)], FieldDataSize(Field))
+ else
+ FillChar(CurrentBuffer[GetFieldOffset(Field)], FieldDataSize(Field), 0);
+ if not (State in [dsCalcFields, dsInternalCalc, dsFilter, dsNewValue]) and
+ not FInSetFieldData then
+ begin
+ FInSetFieldData := True;
+ try
+ PostField(Field);
+ DataEvent(deFieldChange, Longint(Field));
+ finally
+ FInSetFieldData := False;
+ end;
+ end;
+end;
+{$ENDIF}
+
procedure TInstantCustomExposer.SetFieldOptions(Value: TInstantFieldOptions);
begin
if Value <> FFieldOptions then
Modified: trunk/Tests/TestIO.dpr
===================================================================
--- trunk/Tests/TestIO.dpr 2012-12-05 03:36:25 UTC (rev 964)
+++ trunk/Tests/TestIO.dpr 2013-03-06 18:20:16 UTC (rev 965)
@@ -59,7 +59,8 @@
TestInstantObjectReference in 'TestInstantObjectReference.pas',
MinimalModel in 'MinimalModel.pas',
TestXMLBroker in 'TestXMLBroker.pas',
- TestInstantCode in 'TestInstantCode.pas';
+ TestInstantCode in 'TestInstantCode.pas',
+ TestInstantPresentation in 'TestInstantPresentation.pas';
{$R *.res}
{$R *.mdr} {TestModel}
Modified: trunk/Tests/TestIO.dproj
===================================================================
--- trunk/Tests/TestIO.dproj 2012-12-05 03:36:25 UTC (rev 964)
+++ trunk/Tests/TestIO.dproj 2013-03-06 18:20:16 UTC (rev 965)
@@ -37,8 +37,7 @@
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>VCLApplication</Borland.ProjectType>
<BorlandProject>
-<BorlandProject><Delphi.Personality><Compiler><Compiler Name="UsePackages">False</Compiler><Compiler Name="Packages">vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;adortl;vclactnband;vclshlctrls;CS30Logging70;Rz30Ctls70;Rz30DBCtls70;ip4000v7;Rave60VCL;Rave60CLX;madBasic_;madDisAsm_;CLXIB;ibxpress;VCLIB;IOCore;IOIBX</Compiler></Compiler><Parameters><Parameters Name="DebugSourceDirs">..\Source\Core</Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Language><Language Name="RootDir">C:\Program Files\Borland\Delphi7\Bin\</Language></Language><VersionInfo><VersionInfo Name="IncludeVerInfo">False</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3081</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">TestIO.dpr</Source></Source></Delphi.Personality> <ModelSupport>False</ModelSupport>
-</BorlandProject></BorlandProject>
+<BorlandProject><Delphi.Personality><Compiler><Compiler Name="UsePackages">False</Compiler><Compiler Name="Packages">vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;adortl;vclactnband;vclshlctrls;CS30Logging70;Rz30Ctls70;Rz30DBCtls70;ip4000v7;Rave60VCL;Rave60CLX;madBasic_;madDisAsm_;CLXIB;ibxpress;VCLIB;IOCore;IOIBX</Compiler></Compiler><Parameters><Parameters Name="DebugSourceDirs">..\Source\Core</Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Language><Language Name="RootDir">C:\Program Files\Borland\Delphi7\Bin\</Language></Language><VersionInfo><VersionInfo Name="IncludeVerInfo">False</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3081</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">TestIO.dpr</Source></Source></Delphi.Personality><ModelSupport>False</ModelSupport></BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
@@ -73,6 +72,7 @@
<DCCReference Include="TestInstantObjectStore.pas" />
<DCCReference Include="TestInstantPart.pas" />
<DCCReference Include="TestInstantParts.pas" />
+ <DCCReference Include="TestInstantPresentation.pas" />
<DCCReference Include="TestInstantReference.pas" />
<DCCReference Include="TestInstantReferences.pas" />
<DCCReference Include="TestInstantRtti.pas" />
Modified: trunk/Tests/TestIO.mdr
===================================================================
(Binary files differ)
Modified: trunk/Tests/TestIO.mdrt
===================================================================
(Binary files differ)
Modified: trunk/Tests/TestIO.mdx
===================================================================
--- trunk/Tests/TestIO.mdx 2012-12-05 03:36:25 UTC (rev 964)
+++ trunk/Tests/TestIO.mdx 2013-03-06 18:20:16 UTC (rev 965)
@@ -9,6 +9,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>TRUE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -16,6 +17,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TCountry</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -23,6 +25,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>4</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -30,12 +33,14 @@
<AttributeType>atMemo</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>Zip</Name>
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>10</Size>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -51,6 +56,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -66,6 +72,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>20</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -73,6 +80,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -81,6 +89,7 @@
<EditMask>(000) 000-0000;0;_</EditMask>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>20</Size>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -96,6 +105,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>100</Size>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -112,6 +122,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -127,6 +138,7 @@
<AttributeType>atPart</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TAddress</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -134,6 +146,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TCategory</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -141,6 +154,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>TRUE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -148,6 +162,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>TRUE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>50</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -155,6 +170,7 @@
<AttributeType>atParts</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TPhone</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -164,6 +180,7 @@
<StorageKind>skExternal</StorageKind>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TProject</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -172,6 +189,7 @@
<StorageKind>skExternal</StorageKind>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TExternalAddress</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -181,6 +199,7 @@
<StorageKind>skExternal</StorageKind>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TExternalPhone</ObjectClassName>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -204,12 +223,14 @@
<AttributeType>atDateTime</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>Emails</Name>
<AttributeType>atParts</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TEmail</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -217,6 +238,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TCompany</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -224,37 +246,43 @@
<AttributeType>atBlob</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>Salary</Name>
<AttributeType>atCurrency</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
- <ValidCharsString>,.0..9\x82\xAC\xE2</ValidCharsString>
+ <IsUnique>FALSE</IsUnique>
+ <ValidCharsString>,.0..9€</ValidCharsString>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>Employed</Name>
<AttributeType>atBoolean</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>AL_hours</Name>
<AttributeType>atFloat</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>EmploymentDate</Name>
<AttributeType>atDate</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>BirthTime</Name>
<AttributeType>atTime</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
</AttributeMetadatas>
@@ -270,6 +298,7 @@
<AttributeType>atReferences</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TPerson</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -277,12 +306,14 @@
<AttributeType>atInteger</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>Subsidiaries</Name>
<AttributeType>atReferences</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TCompany</ObjectClassName>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -299,6 +330,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -308,6 +340,7 @@
<StorageKind>skExternal</StorageKind>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TProject</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -317,6 +350,7 @@
<StorageKind>skExternal</StorageKind>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TExternalAddress</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -324,6 +358,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TContact</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -333,6 +368,7 @@
<StorageKind>skExternal</StorageKind>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TContact</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -340,6 +376,7 @@
<AttributeType>atPart</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TProjectItems</ObjectClassName>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -356,6 +393,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -363,6 +401,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TCategory</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -370,6 +409,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TPerson</ObjectClassName>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -386,6 +426,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>20</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -394,6 +435,7 @@
<EditMask>(000) 000-0000;0;_</EditMask>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>20</Size>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -409,6 +451,7 @@
<AttributeType>atPart</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TProject</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -416,6 +459,7 @@
<AttributeType>atReferences</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TProjectBox</ObjectClassName>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -431,6 +475,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>50</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -438,6 +483,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TCountry</ObjectClassName>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -453,6 +499,7 @@
<AttributeType>atParts</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TProjectItem</ObjectClassName>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
Modified: trunk/Tests/TestIO.mdxt
===================================================================
--- trunk/Tests/TestIO.mdxt 2012-12-05 03:36:25 UTC (rev 964)
+++ trunk/Tests/TestIO.mdxt 2013-03-06 18:20:16 UTC (rev 965)
@@ -9,6 +9,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>TRUE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -16,6 +17,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TCountry</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -23,6 +25,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>4</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -30,12 +33,14 @@
<AttributeType>atMemo</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>Zip</Name>
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>10</Size>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -51,6 +56,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -66,6 +72,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>20</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -73,6 +80,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -81,6 +89,7 @@
<EditMask>(000) 000-0000;0;_</EditMask>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>20</Size>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -96,6 +105,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>100</Size>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -111,6 +121,7 @@
<AttributeType>atPart</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TAddress</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -118,6 +129,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TCategory</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -125,6 +137,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>TRUE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -132,6 +145,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>TRUE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>50</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -139,6 +153,7 @@
<AttributeType>atParts</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TPhone</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -148,6 +163,7 @@
<StorageKind>skExternal</StorageKind>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TProject</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -156,6 +172,7 @@
<StorageKind>skExternal</StorageKind>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TExternalAddress</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -165,6 +182,7 @@
<StorageKind>skExternal</StorageKind>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TExternalPhone</ObjectClassName>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -188,12 +206,14 @@
<AttributeType>atDateTime</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>Emails</Name>
<AttributeType>atParts</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TEmail</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -201,6 +221,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TCompany</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -208,37 +229,43 @@
<AttributeType>atBlob</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>Salary</Name>
<AttributeType>atCurrency</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
- <ValidCh...
[truncated message content] |