You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(13) |
Sep
(25) |
Oct
(10) |
Nov
(19) |
Dec
(20) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
|
Feb
(206) |
Mar
(43) |
Apr
(25) |
May
(20) |
Jun
(69) |
Jul
(121) |
Aug
(95) |
Sep
(122) |
Oct
(213) |
Nov
(46) |
Dec
(39) |
2006 |
Jan
(28) |
Feb
(57) |
Mar
(21) |
Apr
(7) |
May
(11) |
Jun
(2) |
Jul
(8) |
Aug
(13) |
Sep
(2) |
Oct
(2) |
Nov
(20) |
Dec
(16) |
2007 |
Jan
(9) |
Feb
(15) |
Mar
|
Apr
(4) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
(1) |
Sep
(9) |
Oct
|
Nov
(1) |
Dec
|
2009 |
Jan
|
Feb
|
Mar
(8) |
Apr
(1) |
May
|
Jun
|
Jul
(11) |
Aug
(57) |
Sep
(2) |
Oct
(6) |
Nov
|
Dec
(7) |
2010 |
Jan
(11) |
Feb
(1) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
(1) |
Aug
(2) |
Sep
(27) |
Oct
(3) |
Nov
(7) |
Dec
(1) |
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(10) |
Oct
|
Nov
|
Dec
|
2012 |
Jan
(8) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
(3) |
Nov
(1) |
Dec
(1) |
2013 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
(4) |
Dec
|
2015 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
(1) |
Apr
(4) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(3) |
Oct
|
Nov
(4) |
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
From: <na...@us...> - 2009-08-28 07:36:41
|
Revision: 868 http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=868&view=rev Author: nandod Date: 2009-08-28 07:36:34 +0000 (Fri, 28 Aug 2009) Log Message: ----------- * Made it easier to plug a custom content editor in TInstantExplorer. Modified Paths: -------------- trunk/Source/Core/InstantExplorer.pas Modified: trunk/Source/Core/InstantExplorer.pas =================================================================== --- trunk/Source/Core/InstantExplorer.pas 2009-08-28 07:34:57 UTC (rev 867) +++ trunk/Source/Core/InstantExplorer.pas 2009-08-28 07:36:34 UTC (rev 868) @@ -112,10 +112,12 @@ TInstantExplorerContentEditor = class(TPanel) private - FGrid: TInstantExplorerDBGrid; - function GetDataSource: TDataSource; - procedure SetDataSource(const AValue: TDataSource); + FGrid: TDBGrid; function GetGrid: TDBGrid; + protected + function GetDataSource: TDataSource; virtual; + procedure SetDataSource(const AValue: TDataSource); virtual; + function CreateGrid: TDBGrid; virtual; public constructor Create(AOwner: TComponent); override; property Grid: TDBGrid read GetGrid; @@ -1320,11 +1322,16 @@ BevelInner := bvNone; BevelOuter := bvNone; - FGrid := TInstantExplorerDBGrid.Create(Self); + FGrid := CreateGrid; FGrid.Parent := Self; FGrid.Align := alClient; end; +function TInstantExplorerContentEditor.CreateGrid: TDBGrid; +begin + Result := TInstantExplorerDBGrid.Create(Self); +end; + function TInstantExplorerContentEditor.GetDataSource: TDataSource; begin Result := FGrid.DataSource; |
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-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-26 15:33:37
|
Revision: 865 http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=865&view=rev Author: nandod Date: 2009-08-26 15:33:19 +0000 (Wed, 26 Aug 2009) Log Message: ----------- * Better fix for rev. 859. Previous version caused unwarranted exceptions with IQL statements set at design time. Modified Paths: -------------- trunk/Source/Core/InstantCommand.pas Modified: trunk/Source/Core/InstantCommand.pas =================================================================== --- trunk/Source/Core/InstantCommand.pas 2009-08-26 01:03:07 UTC (rev 864) +++ trunk/Source/Core/InstantCommand.pas 2009-08-26 15:33:19 UTC (rev 865) @@ -1499,17 +1499,20 @@ procedure TInstantIQLClassRef.ReadObject(Reader: TInstantIQLReader); var Token: string; + LClass: TPersistentClass; begin inherited; Token := Reader.ReadToken; FAny := SameText(Token, 'ANY'); if FAny then Token := Reader.ReadToken; - // 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; + // Fix the class name in case it's written with wrong capitalization + // (something that would create problems with case-sensitive databases). + LClass := GetClass(Token); + if Assigned(LClass) then + FObjectClassName := LClass.ClassName + else + FObjectClassName := Token; end; procedure TInstantIQLClassRef.WriteObject(Writer: TInstantIQLWriter); |
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="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">IOAnyDAC.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/IOAnyDAC.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/IOAnyDAC.res =================================================================== (Binary files differ) Property changes on: trunk/Source/Brokers/AnyDAC/D2010/IOAnyDAC.res ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Source/Brokers/BDE/D2010/DclIOBDE.dpk =================================================================== --- trunk/Source/Brokers/BDE/D2010/DclIOBDE.dpk (rev 0) +++ trunk/Source/Brokers/BDE/D2010/DclIOBDE.dpk 2009-08-26 01:03:07 UTC (rev 864) @@ -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 2010)'} +{$LIBSUFFIX '_D14'} +{$DESIGNONLY} +{$IMPLICITBUILD OFF} + +requires + vcl, + vcldb, + bdertl, + IOCore, + IOBDE; + +contains + InstantBDEReg in '..\InstantBDEReg.pas'; + +end. Property changes on: trunk/Source/Brokers/BDE/D2010/DclIOBDE.dpk ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/Source/Brokers/BDE/D2010/DclIOBDE.dproj =================================================================== --- trunk/Source/Brokers/BDE/D2010/DclIOBDE.dproj (rev 0) +++ trunk/Source/Brokers/BDE/D2010/DclIOBDE.dproj 2009-08-26 01:03:07 UTC (rev 864) @@ -0,0 +1,119 @@ + <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <ProjectGuid>{BDFB4250-0540-424D-93CE-7A9771B6CA22}</ProjectGuid> + <MainSource>DclIOBDE.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\DclIOBDE_D14.bpl</DCC_DependencyCheckOutputName> + <DesignOnlyPackage>true</DesignOnlyPackage> + <DCC_Description>InstantObjects BDE 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="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"/> + <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">DclIOBDE.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/BDE/D2010/DclIOBDE.dproj ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/Source/Brokers/BDE/D2010/DclIOBDE.res =================================================================== (Binary files differ) Property changes on: trunk/Source/Brokers/BDE/D2010/DclIOBDE.res ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Source/Brokers/BDE/D2010/IOBDE.dpk =================================================================== --- trunk/Source/Brokers/BDE/D2010/IOBDE.dpk (rev 0) +++ trunk/Source/Brokers/BDE/D2010/IOBDE.dpk 2009-08-26 01:03:07 UTC (rev 864) @@ -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 2010)'} +{$LIBSUFFIX '_D14'} +{$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/D2010/IOBDE.dpk ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/Source/Brokers/BDE/D2010/IOBDE.dproj =================================================================== --- trunk/Source/Brokers/BDE/D2010/IOBDE.dproj (rev 0) +++ trunk/Source/Brokers/BDE/D2010/IOBDE.dproj 2009-08-26 01:03:07 UTC (rev 864) @@ -0,0 +1,121 @@ + <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <ProjectGuid>{51CF2FF0-F06C-405A-BECE-640C3FD6027E}</ProjectGuid> + <MainSource>IOBDE.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\IOBDE_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 BDE 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="IOBDE.dpk"> + <MainSource>MainSource</MainSource> + </DelphiCompile> + <DCCReference Include="vcl.dcp"/> + <DCCReference Include="vcldb.dcp"/> + <DCCReference Include="bdertl.dcp"/> + <DCCReference Include="IOCore.dcp"/> + <DCCReference Include="..\InstantBDECatalog.pas"/> + <DCCReference Include="..\InstantBDEConnectionDefEdit.pas"> + <Form>InstantBDEConnectionDefEditForm</Form> + </DCCReference> + <DCCReference Include="..\InstantBDE.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">IOBDE.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/BDE/D2010/IOBDE.dproj ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/Source/Brokers/BDE/D2010/IOBDE.res =================================================================== (Binary files differ) Property changes on: trunk/Source/Brokers/BDE/D2010/IOBDE.res ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Source/Brokers/DBX/D2010/DclIODBX.dpk =================================================================== --- trunk/Source/Brokers/DBX/D2010/DclIODBX.dpk (rev 0) +++ trunk/Source/Brokers/DBX/D2010/DclIODBX.dpk 2009-08-26 01:03:07 UTC (rev 864) @@ -0,0 +1,42 @@ +package DclIODBX; + +{$R *.res} +{$R '..\InstantDBX.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 dbExpress Design-Time Support (Delphi 2010)'} +{$LIBSUFFIX '_D14'} +{$DESIGNONLY} +{$IMPLICITBUILD OFF} + +requires + rtl, + vcl, + dbrtl, + dbexpress, + IOCore, + IODBX; + +contains + InstantDBXReg in '..\InstantDBXReg.pas'; + +end. Property changes on: trunk/Source/Brokers/DBX/D2010/DclIODBX.dpk ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/Source/Brokers/DBX/D2010/DclIODBX.dproj =================================================================== --- trunk/Source/Brokers/DBX/D2010/DclIODBX.dproj (rev 0) +++ trunk/Source/Brokers/DBX/D2010/DclIODBX.dproj 2009-08-26 01:03:07 UTC (rev 864) @@ -0,0 +1,120 @@ + <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <ProjectGuid>{37A94EA0-7FE9-4F18-B639-D0056DB88697}</ProjectGuid> + <MainSource>DclIODBX.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\DclIODBX_D14.bpl</DCC_DependencyCheckOutputName> + <DesignOnlyPackage>true</DesignOnlyPackage> + <DCC_Description>InstantObjects dbExpress 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="DclIODBX.dpk"> + <MainSource>MainSource</MainSource> + </DelphiCompile> + <DCCReference Include="..\InstantDBX.dcr"/> + <DCCReference Include="rtl.dcp"/> + <DCCReference Include="vcl.dcp"/> + <DCCReference Include="dbrtl.dcp"/> + <DCCReference Include="dbexpress.dcp"/> + <DCCReference Include="IOCore.dcp"/> + <DCCReference Include="IODBX.dcp"/> + <DCCReference Include="..\InstantDBXReg.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">DclIODBX.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/DBX/D2010/DclIODBX.dproj ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/Source/Brokers/DBX/D2010/DclIODBX.res =================================================================== (Binary files differ) Property changes on: trunk/Source/Brokers/DBX/D2010/DclIODBX.res ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Source/Brokers/DBX/D2010/IODBX.dpk =================================================================== --- trunk/Source/Brokers/DBX/D2010/IODBX.dpk (rev 0) +++ trunk/Source/Brokers/DBX/D2010/IODBX.dpk 2009-08-26 01:03:07 UTC (rev 864) @@ -0,0 +1,44 @@ +package IODBX; + +{$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 OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DESCRIPTION 'InstantObjects dbExpress Run-Time Support (Delphi 2010)'} +{$LIBSUFFIX '_D14'} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + rtl, + vcl, + dbrtl, + dbexpress, + IOCore, + IOIBFbCatalog, + IOMSSqlCatalog, + IOMySQLCatalog; + +contains + InstantDBXConnectionDefEdit in '..\InstantDBXConnectionDefEdit.pas' {InstantDBXConnectionDefEditForm}, + InstantDBX in '..\InstantDBX.pas'; + +end. Property changes on: trunk/Source/Brokers/DBX/D2010/IODBX.dpk ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/Source/Brokers/DBX/D2010/IODBX.dproj =================================================================== --- trunk/Source/Brokers/DBX/D2010/IODBX.dproj (rev 0) +++ trunk/Source/Brokers/DBX/D2010/IODBX.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>{99DAEA57-EA95-4709-A5EE-36855F676EB5}</ProjectGuid> + <MainSource>IODBX.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\IODBX_D14.bpl</DCC_DependencyCheckOutputName> + <DCC_UnitAlias>WinTypes=Windows;WinProcs=Windows;$(DCC_UnitAlias)</DCC_UnitAlias> + <DCC_Description>InstantObjects dbExpress Run-Time Support (Delphi 2010)</DCC_Description> + <RuntimeOnlyPackage>true</RuntimeOnlyPackage> + <DllSuffix>_D14</DllSuffix> + <DCC_OutputNeverBuildDcps>true</DCC_OutputNeverBuildDcps> + <GenDll>true</GenDll> + <DCC_SymbolReferenceInfo>1</DCC_SymbolReferenceInfo> + <GenPackage>true</GenPackage> + <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="IODBX.dpk"> + <MainSource>MainSource</MainSource> + </DelphiCompile> + <DCCReference Include="rtl.dcp"/> + <DCCReference Include="vcl.dcp"/> + <DCCReference Include="dbrtl.dcp"/> + <DCCReference Include="dbexpress.dcp"/> + <DCCR... [truncated message content] |
From: <dav...@us...> - 2009-08-25 20:03:10
|
Revision: 863 http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=863&view=rev Author: davidvtaylor Date: 2009-08-25 20:03:04 +0000 (Tue, 25 Aug 2009) Log Message: ----------- Add Delphi 2007 packages for ZeosDBO broker Added Paths: ----------- trunk/Source/Brokers/ZeosDBO/D2007/ trunk/Source/Brokers/ZeosDBO/D2007/DclIOZeosDBO.dpk trunk/Source/Brokers/ZeosDBO/D2007/DclIOZeosDBO.res trunk/Source/Brokers/ZeosDBO/D2007/IOZeosDBO.dpk trunk/Source/Brokers/ZeosDBO/D2007/IOZeosDBO.res Added: trunk/Source/Brokers/ZeosDBO/D2007/DclIOZeosDBO.dpk =================================================================== --- trunk/Source/Brokers/ZeosDBO/D2007/DclIOZeosDBO.dpk (rev 0) +++ trunk/Source/Brokers/ZeosDBO/D2007/DclIOZeosDBO.dpk 2009-08-25 20:03:04 UTC (rev 863) @@ -0,0 +1,39 @@ +package DclIOZeosDBO; + +{$R *.res} +{$R '..\InstantZeosDBO.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 ZeosDBO Design-Time Support (Delphi 2007)'} +{$LIBSUFFIX '_D11'} +{$DESIGNONLY} +{$IMPLICITBUILD OFF} + +requires + IOZeosDBO; + +contains + InstantZeosDBOReg in '..\InstantZeosDBOReg.pas'; + +end. + Property changes on: trunk/Source/Brokers/ZeosDBO/D2007/DclIOZeosDBO.dpk ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/Source/Brokers/ZeosDBO/D2007/DclIOZeosDBO.res =================================================================== (Binary files differ) Property changes on: trunk/Source/Brokers/ZeosDBO/D2007/DclIOZeosDBO.res ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/Source/Brokers/ZeosDBO/D2007/IOZeosDBO.dpk =================================================================== --- trunk/Source/Brokers/ZeosDBO/D2007/IOZeosDBO.dpk (rev 0) +++ trunk/Source/Brokers/ZeosDBO/D2007/IOZeosDBO.dpk 2009-08-25 20:03:04 UTC (rev 863) @@ -0,0 +1,40 @@ +package IOZeosDBO; + +{$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 ZeosDBO Run-Time Support (Delphi 2007)'} +{$LIBSUFFIX '_D11'} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + IOCore, + ZComponent; + +contains + InstantZeosDBO in '..\InstantZeosDBO.pas', + InstantZeosDBOCatalog in '..\InstantZeosDBOCatalog.pas', + InstantZeosDBOConnectionDefEdit in '..\InstantZeosDBOConnectionDefEdit.pas' {InstantZeosDBOConnectionDefEditForm}; + +end. Property changes on: trunk/Source/Brokers/ZeosDBO/D2007/IOZeosDBO.dpk ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/Source/Brokers/ZeosDBO/D2007/IOZeosDBO.res =================================================================== (Binary files differ) Property changes on: trunk/Source/Brokers/ZeosDBO/D2007/IOZeosDBO.res ___________________________________________________________________ Added: svn:mime-type + application/octet-stream |
From: <dav...@us...> - 2009-08-25 19:58:29
|
Revision: 862 http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=862&view=rev Author: davidvtaylor Date: 2009-08-25 19:58:23 +0000 (Tue, 25 Aug 2009) Log Message: ----------- Update ZeosDBO broker to fix breakage caused by new Enum type support Modified Paths: -------------- trunk/Source/Brokers/ZeosDBO/InstantZeosDBO.pas Modified: trunk/Source/Brokers/ZeosDBO/InstantZeosDBO.pas =================================================================== --- trunk/Source/Brokers/ZeosDBO/InstantZeosDBO.pas 2009-08-25 19:49:09 UTC (rev 861) +++ trunk/Source/Brokers/ZeosDBO/InstantZeosDBO.pas 2009-08-25 19:58:23 UTC (rev 862) @@ -911,7 +911,8 @@ 'DATETIME', 'IMAGE', 'DATETIME', - 'DATETIME'); + 'DATETIME', + 'INTEGER'); begin Result := Types[DataType]; end; @@ -938,7 +939,8 @@ 'DATETIME', 'IMAGE', 'DATETIME', - 'DATETIME'); + 'DATETIME', + 'INTEGER'); begin Result := Types[DataType]; end; @@ -990,7 +992,8 @@ 'TIMESTAMP', 'BLOB', 'TIMESTAMP', - 'TIMESTAMP'); + 'TIMESTAMP', + 'INTEGER'); begin Result := Types[DataType]; end; @@ -1022,7 +1025,8 @@ 'DATE', 'BLOB', 'DATE', - 'DATE'); + 'DATE', + 'INTEGER'); begin Result := Types[DataType]; end; @@ -1049,7 +1053,8 @@ 'TIMESTAMP', 'BYTEA', 'TIMESTAMP', - 'TIMESTAMP'); + 'TIMESTAMP', + 'INTEGER'); begin Result := Types[DataType]; end; @@ -1119,7 +1124,8 @@ 'DATETIME', 'BLOB', 'DATE', - 'TIME'); + 'TIME', + 'INTEGER'); begin Result := Types[DataType]; end; @@ -1358,7 +1364,8 @@ 'TIMESTAMP', 'BLOB', 'TIMESTAMP', - 'TIMESTAMP'); + 'TIMESTAMP', + 'INTEGER'); begin Result := Types[DataType]; end; |
From: <dav...@us...> - 2009-08-25 19:49:21
|
Revision: 861 http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=861&view=rev Author: davidvtaylor Date: 2009-08-25 19:49:09 +0000 (Tue, 25 Aug 2009) Log Message: ----------- Update AnyDAC broker to fix breakage caused by new Enum type support Modified Paths: -------------- trunk/Source/Brokers/AnyDAC/InstantAnyDAC.pas Modified: trunk/Source/Brokers/AnyDAC/InstantAnyDAC.pas =================================================================== --- trunk/Source/Brokers/AnyDAC/InstantAnyDAC.pas 2009-08-25 19:25:51 UTC (rev 860) +++ trunk/Source/Brokers/AnyDAC/InstantAnyDAC.pas 2009-08-25 19:49:09 UTC (rev 861) @@ -900,7 +900,8 @@ 'DATETIME', 'IMAGE', 'DATETIME', - 'DATETIME'); + 'DATETIME', + 'INTEGER'); begin Result := Types[DataType]; end; @@ -927,7 +928,8 @@ 'DATETIME', 'IMAGE', 'DATETIME', - 'DATETIME'); + 'DATETIME', + 'INTEGER'); begin Result := Types[DataType]; end; @@ -1000,7 +1002,8 @@ 'TIMESTAMP', 'BLOB', 'TIMESTAMP', - 'TIMESTAMP'); + 'TIMESTAMP', + 'INTEGER'); begin Result := Types[DataType]; end; @@ -1032,7 +1035,8 @@ 'DATE', 'BLOB', 'DATE', - 'DATE'); + 'DATE', + 'INTEGER'); begin Result := Types[DataType]; end; @@ -1058,7 +1062,8 @@ 'TIMESTAMP', 'BYTEA', 'TIMESTAMP', - 'TIMESTAMP'); + 'TIMESTAMP', + 'INTEGER'); begin Result := Types[DataType]; end; @@ -1355,7 +1360,8 @@ 'TIMESTAMP', 'BLOB', 'TIMESTAMP', - 'TIMESTAMP'); + 'TIMESTAMP', + 'INTEGER'); begin Result := Types[DataType]; end; |
From: <dav...@us...> - 2009-08-25 19:25:59
|
Revision: 860 http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=860&view=rev Author: davidvtaylor Date: 2009-08-25 19:25:51 +0000 (Tue, 25 Aug 2009) Log Message: ----------- Compiler version defines for Delphi 2010 Modified Paths: -------------- trunk/Source/InstantDefines.inc Modified: trunk/Source/InstantDefines.inc =================================================================== --- trunk/Source/InstantDefines.inc 2009-08-25 15:04:20 UTC (rev 859) +++ trunk/Source/InstantDefines.inc 2009-08-25 19:25:51 UTC (rev 860) @@ -56,6 +56,20 @@ {$DEFINE D12+} {$ENDIF} +{$IFDEF VER210} + {$DEFINE D5+} + {$DEFINE D6+} + {$DEFINE D7+} + {$DEFINE D9+} + {$DEFINE D10+} + {$DEFINE D11} + {$DEFINE D11+} + {$DEFINE D12} + {$DEFINE D12+} + {$DEFINE D14} + {$DEFINE D14+} +{$ENDIF} + {$IFDEF FPC} {$DEFINE D5+} {$DEFINE D6+} |
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: <na...@us...> - 2009-08-25 14:35:26
|
Revision: 858 http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=858&view=rev Author: nandod Date: 2009-08-25 14:35:18 +0000 (Tue, 25 Aug 2009) Log Message: ----------- * Fixed: content editor was sometimes visible in TInstantExplorer at the wrong time. Modified Paths: -------------- trunk/Source/Core/InstantExplorer.pas Modified: trunk/Source/Core/InstantExplorer.pas =================================================================== --- trunk/Source/Core/InstantExplorer.pas 2009-08-20 14:17:50 UTC (rev 857) +++ trunk/Source/Core/InstantExplorer.pas 2009-08-25 14:35:18 UTC (rev 858) @@ -540,6 +540,7 @@ begin FContentView := CreatePanel(Self); FContentView.Parent := DetailPanel; + FContentView.Visible := False; FContentEditor := CreateContentEditor(FContentView, ObjectSource); if Assigned(FContentEditor) then with FContentEditor do @@ -778,6 +779,7 @@ begin FObjectView := CreatePanel(Self); FObjectView.Parent := DetailPanel; + FObjectView.Visible := False; end; function TInstantExplorer.CreatePanel(AOwner: TComponent): TPanel; |
From: <wp...@us...> - 2009-08-20 14:17:56
|
Revision: 857 http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=857&view=rev Author: wp2udk Date: 2009-08-20 14:17:50 +0000 (Thu, 20 Aug 2009) Log Message: ----------- If you are abstracting properties (using the Template Design Pattern) to the base class the attribute editor cannot locate the visibility of the "missing" properties". In the code example below the Items part attribute is a member of the TBranch class, but the Items properties are introduced on the base class TLeaf. TLeaf = class(TInstantObject) {IOMETADATA stored; } protected function GetItemCount: Integer; virtual; function GetItems(Index: Integer): TLeaf; virtual; procedure SetItems(Index: Integer; Value: TLeaf); virtual; public property ItemCount: Integer read GetItemCount; virtual; property Items[Index: Integer]: TLeaf read GetItems write SetItems; end; TBranch = class(TLeaf) {IOMETADATA stored; Items: Parts(TLeaf) external 'Branch_Items'; } _Items: TInstantParts; protected function GetItemCount: Integer; override; function GetItems(Index: Integer): TLeaf; override; procedure SetItems(Index: Integer; Value: TLeaf); override; // These properties are removed from this class and they are introduced // manually on the base class. The Attribute Editor cannot find the // visibility of the "missing properties". // // property ItemCount: Integer read GetItemCount; // property Items[Index: Integer]: TLeaf read GetItems write SetItems; end; /Brian Modified Paths: -------------- trunk/Source/Design/InstantAttributeEditor.pas Modified: trunk/Source/Design/InstantAttributeEditor.pas =================================================================== --- trunk/Source/Design/InstantAttributeEditor.pas 2009-08-20 12:06:18 UTC (rev 856) +++ trunk/Source/Design/InstantAttributeEditor.pas 2009-08-20 14:17:50 UTC (rev 857) @@ -1,4 +1,4 @@ -(* + (* * InstantObjects * Attribute Editor *) @@ -376,6 +376,20 @@ end; procedure TInstantAttributeEditorForm.LoadVisibilities; + + function FindVisibility(ACodeClass: TInstantCodeClass; + AValuePropName: string): TInstantCodeProperty; + begin + if ACodeClass <> nil then + begin + Result := ACodeClass.FindProperty(AValuePropName); + + if Result = nil then + Result := FindVisibility(ACodeClass.BaseClass, AValuePropName); + end else + Result := nil; + end; + var I: Integer; S: String; @@ -397,7 +411,7 @@ if Limited then begin - CodeProperty := Subject.FindValueProp; + CodeProperty := FindVisibility(Subject.HostClass, Subject.ValuePropName); if CodeProperty <> nil then begin S := GetEnumName(TypeInfo(TInstantCodeVisibility), |
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-20 09:27:21
|
Revision: 855 http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=855&view=rev Author: nandod Date: 2009-08-20 09:27:11 +0000 (Thu, 20 Aug 2009) Log Message: ----------- * InstantExplorer enhancements: * use checkboxes for boolean fields * use comboboxes for string fields if an event handler provides a picklist. * ability to order fields and hide specific fields in the object editor through an event. * Automatic labels from CamelCaps property names. Modified Paths: -------------- trunk/Source/Core/InstantExplorer.pas Modified: trunk/Source/Core/InstantExplorer.pas =================================================================== --- trunk/Source/Core/InstantExplorer.pas 2009-08-20 09:23:30 UTC (rev 854) +++ trunk/Source/Core/InstantExplorer.pas 2009-08-20 09:27:11 UTC (rev 855) @@ -46,7 +46,7 @@ {$IFDEF LINUX} QControls, QForms, QComCtrls, QExtCtrls, QDBGrids, QImgList, {$ENDIF} - Classes, Db, InstantPersistence, InstantPresentation; + Classes, DB, TypInfo, InstantPersistence, InstantPresentation, DbCtrls; type TInstantExplorer = class; @@ -87,13 +87,45 @@ const Value: string; var NodeData: TInstantExplorerNodeData) of object; TInstantExplorerGetNodeTextEvent = procedure(Sender: TInstantExplorer; NodeData: TInstantExplorerNodeData; var Text: string) of object; - + TInstantExplorerGetAllowedValuesEvent = procedure (Sender: TInstantExplorer; + const AObject: TObject; const APropName: string; + const AAllowedValues: TStrings) of object; + TInstantExplorerGetFieldNamesEvent = procedure (Sender: TInstantExplorer; + const AObject: TObject; const AFieldNames: TStrings) of object; + TInstantExplorerLayout = (loTreeOnly, loDetailOnly, loVertical, loHorizontal); + TInstantExplorerDBComboBox = class(TDBComboBox) + private + procedure ApplyToRecord; + protected + procedure Change; override; + procedure Click; override; + end; + + TInstantExplorerDBGrid = class(TDBGrid) + private + procedure UpdateLastColumnWidth; + protected + procedure Resize; override; + end; + + TInstantExplorerContentEditor = class(TPanel) + private + FGrid: TInstantExplorerDBGrid; + function GetDataSource: TDataSource; + procedure SetDataSource(const AValue: TDataSource); + function GetGrid: TDBGrid; + public + constructor Create(AOwner: TComponent); override; + property Grid: TDBGrid read GetGrid; + property DataSource: TDataSource read GetDataSource write SetDataSource; + end; + TInstantExplorer = class(TCustomControl) private FAutoAdjust: Boolean; - FContentEditor: TDBGrid; + FContentEditor: TInstantExplorerContentEditor; FContentView: TPanel; FDetailPanel: TPanel; FDetailView: TPanel; @@ -115,6 +147,8 @@ FOnGetImageIndex: TInstantExplorerNodeEvent; FOnGetNodeText: TInstantExplorerGetNodeTextEvent; FOnIncludeNode: TInstantExplorerIncludeNodeEvent; + FOnGetAllowedValues: TInstantExplorerGetAllowedValuesEvent; + FOnGetFieldNames: TInstantExplorerGetFieldNamesEvent; function AddNode(NodeType: TInstantExplorerNodeType; Parent: TTreeNode; Name: string; AObject: TObject; Value: string = ''): TTreeNode; procedure ArrangeControls; @@ -130,12 +164,15 @@ procedure DestroyObjectEditor; procedure ExpandNode(Node: TTreeNode); function GetCurrentObject: TObject; + procedure GetAllowedValues(const AObject: TObject; + const APropName: string; const AAllowedValues: TStrings); function GetImages: TCustomImageList; procedure LoadContainerNode(Node: TTreeNode; Container: TInstantContainer); procedure LoadNode(Node: TTreeNode; LoadChildren: Boolean); procedure LoadObjectNode(Node: TTreeNode; Instance: TObject; var ChildCount: Integer; LoadChildren: Boolean); function NodeIsLoaded(Node: TTreeNode): Boolean; + procedure ObjectExposerAfterDelete(Sender: TDataSet); procedure ObjectExposerAfterPost(Sender: TDataSet); procedure ResizeControls; procedure SetAutoAdjust(const Value: Boolean); @@ -146,10 +183,13 @@ var AllowExpansion: Boolean); procedure TreeViewGetImageIndex(Sender: TObject; Node: TTreeNode); procedure TreeViewNodeDeletion(Sender: TObject; Node: TTreeNode); + procedure SetCurrentObject(const AValue: TObject); + function GetContentEditor: TWinControl; + function CreateFieldList: TStrings; protected procedure ChangeNode(Node: TTreeNode); virtual; function CreateContentEditor(AOwner: TComponent; - DataSource: TDataSource): TDBGrid; virtual; + DataSource: TDataSource): TInstantExplorerContentEditor; virtual; function CreateExposer: TInstantExposer; virtual; function CreateNode(Nodes: TTreeNodes; Parent: TTreeNode; NodeData: TInstantExplorerNodeData): TTreeNode; virtual; @@ -170,13 +210,15 @@ procedure SetRootObject(const Value: TObject); virtual; procedure UpdateDetails; public + procedure SetupContentEditor; constructor Create(AOwner: TComponent); override; destructor Destroy; override; procedure Clear; procedure Refresh; procedure RefreshNode(Node: TTreeNode); + property ContentEditor: TWinControl read GetContentEditor; property ContentView: TPanel read FContentView; - property CurrentObject: TObject read GetCurrentObject; + property CurrentObject: TObject read GetCurrentObject write SetCurrentObject; property DetailPanel: TPanel read FDetailPanel; property DetailView: TPanel read FDetailView write SetDetailView; property ObjectExposer: TInstantExposer read FObjectExposer; @@ -206,6 +248,10 @@ property OnCreateNodeData: TInstantExplorerCreateNodeDataEvent read FOnCreateNodeData write FOnCreateNodeData; property OnClick; property OnDblClick; + property OnGetAllowedValues: TInstantExplorerGetAllowedValuesEvent + read FOnGetAllowedValues write FOnGetAllowedValues; + property OnGetFieldNames: TInstantExplorerGetFieldNamesEvent + read FOnGetFieldNames write FOnGetFieldNames; property OnGetImageIndex: TInstantExplorerNodeEvent read FOnGetImageIndex write FOnGetImageIndex; property OnGetNodeText: TInstantExplorerGetNodeTextEvent read FOnGetNodeText write FOnGetNodeText; property OnIncludeNode: TInstantExplorerIncludeNodeEvent read FOnIncludeNode write FOnIncludeNode; @@ -220,10 +266,10 @@ implementation uses - SysUtils, InstantClasses, InstantRtti, TypInfo, InstantMetadata, + SysUtils, Math, InstantClasses, InstantRtti, InstantMetadata, InstantTypes, {$IFDEF MSWINDOWS} - Graphics, StdCtrls, DbCtrls, Windows; + Graphics, StdCtrls, Windows; {$ENDIF} {$IFDEF LINUX} QGraphics, QStdCtrls, QDbCtrls; @@ -232,6 +278,8 @@ const NotLoaded = Pointer(-1); + MAX_DROPDOWN_ITEMS = 10; + procedure InstantExploreObject(AObject: TObject); var Form: TForm; @@ -261,6 +309,28 @@ end; end; +// Converts CamelCaps to words with spaces among them. +function Beautify(const APropName: string): string; +var + LCharIndex: Integer; + LLastWasSpace: Boolean; +begin + Result := ''; + LLastWasSpace := False; + for LCharIndex := 1 to Length(APropName) do + begin + if (APropName[LCharIndex] = AnsiUpperCase(APropName[LCharIndex])[1]) and not LLastWasSpace then + begin + Result := Result + ' '; + LLastWasSpace := True; + end + else + LLastWasSpace := False; + Result := Result + APropName[LCharIndex]; + end; +end; + + { TInstantExplorerNodeData } constructor TInstantExplorerNodeData.Create(ANodeType: TInstantExplorerNodeType; @@ -394,21 +464,19 @@ procedure TInstantExplorer.AssignRootObject(Value: TObject); var Node: TTreeNode; - ItemIndex: Integer; + LCurrentObject: TObject; SaveOnChange: TTVChangedEvent; ChildCount: Integer; - begin - ItemIndex := 0; + LCurrentObject := nil; with TreeView do begin SaveOnChange := OnChange; OnChange := nil; Items.BeginUpdate; try - if Assigned(Selected) then - ItemIndex := Selected.AbsoluteIndex; + LCurrentObject := TinstantExplorerNodeData(Selected.Data).Instance; Items.Clear; FRootObject := Value; if Assigned(FRootObject) then @@ -427,12 +495,8 @@ finally Items.EndUpdate; OnChange := SaveOnChange; - if Items.Count > ItemIndex then - Selected := Items[ItemIndex] - else begin - Selected := nil; - TreeViewChange(TreeView, nil); - end; + CurrentObject := LCurrentObject; + TreeView.FullExpand; end; end; end; @@ -466,26 +530,22 @@ end; function TInstantExplorer.CreateContentEditor(AOwner: TComponent; - DataSource: TDataSource): TDBGrid; -var - Grid: TDBGrid; + DataSource: TDataSource): TInstantExplorerContentEditor; begin - Grid := TDBGrid.Create(AOwner); - Grid.DataSource := DataSource; - Grid.BorderStyle := bsNone; - Result := Grid; + Result := TInstantExplorerContentEditor.Create(AOwner); + Result.DataSource := DataSource; end; procedure TInstantExplorer.CreateContentView; begin FContentView := CreatePanel(Self); + FContentView.Parent := DetailPanel; FContentEditor := CreateContentEditor(FContentView, ObjectSource); if Assigned(FContentEditor) then with FContentEditor do begin Align := alClient; Parent := FContentView; - Show; end; end; @@ -494,6 +554,7 @@ FDetailPanel := CreatePanel(Self); with FDetailPanel do begin + Parent := Self; BorderStyle := bsSingle; Height := Self.Height div 2; Align := alClient; @@ -545,74 +606,170 @@ function TInstantExplorer.CreateObjectEditor(AOwner: TComponent; DataSource: TDataSource): TControl; +const + LABEL_WIDTH = 132; + LABEL_LEFT = 8; + VERT_SPACING = 4; + MIN_CONTROL_WIDTH = 24; procedure CreateEditControl(AParent: TWinControl; var ATop: Integer; PropInfo: PPropInfo; ADataSource: TDataSource); var - Edit: TDBEdit; + LControl: TWinControl; + LAllowedValues: TStrings; begin - Edit := TDBEdit.Create(AParent); - with Edit do - begin - Left := 108; - Top := ATop; - Anchors := [akLeft, akTop, akRight]; - Constraints.MinWidth := 8; - Width := AParent.Width - Left - 8; - Anchors := [akLeft, akTop, akRight]; - Parent := AParent; - DataField := InstantGetPropName(PropInfo); - DataSource := ADataSource; - if not Assigned(PropInfo.SetProc) then + case DataSource.DataSet.FieldByName(InstantGetPropName(PropInfo)).DataType of + ftMemo: begin - ReadOnly := True; - Color := clBtnFace; + LControl := TDBMemo.Create(AParent); + with TDBMemo(LControl) do + begin + Left := LABEL_LEFT + LABEL_WIDTH; + Top := ATop; + Anchors := [akLeft, akTop, akRight]; + Constraints.MinWidth := MIN_CONTROL_WIDTH; + Parent := AParent; + Anchors := [akLeft, akTop, akRight]; + Width := Parent.Width - Left - 8; + DataField := InstantGetPropName(PropInfo); + DataSource := ADataSource; + if not Assigned(PropInfo.SetProc) then + begin + ReadOnly := True; + Color := clBtnFace; + end; + end; end; + ftBoolean: + begin + LControl := TDBCheckBox.Create(AParent); + with TDBCheckBox(LControl) do + begin + Left := LABEL_LEFT + LABEL_WIDTH; + Top := ATop; + Width := 16; + Parent := AParent; + DataField := InstantGetPropName(PropInfo); + DataSource := ADataSource; + if not Assigned(PropInfo.SetProc) then + begin + ReadOnly := True; + Color := clBtnFace; + end; + end; + end + else + begin + LAllowedValues := TStringList.Create; + try + GetAllowedValues(ObjectExposer.CurrentObject, InstantGetPropName(PropInfo), LAllowedValues); + if LAllowedValues.Count > 0 then + begin + LControl := TInstantExplorerDBComboBox.Create(AParent); + with TInstantExplorerDBComboBox(LControl) do + begin + Left := LABEL_LEFT + LABEL_WIDTH; + Top := ATop; + Anchors := [akLeft, akTop, akRight]; + Constraints.MinWidth := MIN_CONTROL_WIDTH; + Width := AParent.Width - Left - 8; + Anchors := [akLeft, akTop, akRight]; + Parent := AParent; + Items := LAllowedValues; + Style := csDropDownList; + DataField := InstantGetPropName(PropInfo); + DataSource := ADataSource; + if not Assigned(PropInfo.SetProc) then + begin + ReadOnly := True; + Color := clBtnFace; + end; + end; + end + else + begin + LControl := TDBEdit.Create(AParent); + with TDBEdit(LControl) do + begin + Left := LABEL_LEFT + LABEL_WIDTH; + Top := ATop; + Anchors := [akLeft, akTop, akRight]; + Constraints.MinWidth := MIN_CONTROL_WIDTH; + Width := AParent.Width - Left - 8; + Anchors := [akLeft, akTop, akRight]; + Parent := AParent; + DataField := InstantGetPropName(PropInfo); + DataSource := ADataSource; + if not Assigned(PropInfo.SetProc) then + begin + ReadOnly := True; + Color := clBtnFace; + end; + end; + end; + finally + FreeAndNil(LAllowedValues); + end; + end; end; + with TLabel.Create(AParent) do begin - Left := 8; + Left := LABEL_LEFT; Top := ATop + 3; Parent := AParent; - Caption := InstantGetPropName(PropInfo); - FocusControl := Edit; + Caption := Beautify(InstantGetPropName(PropInfo)); + FocusControl := LControl; end; - Inc(ATop, Edit.Height); + Inc(ATop, LControl.Height); end; var I, Top: Integer; AObject: TObject; Editor: TScrollBox; + LProperties: TInstantProperties; + LFieldNames: TStrings; + LFieldIndex: Integer; begin Editor := TScrollBox.Create(AOwner); with Editor do begin BorderStyle := bsNone; Align := alClient; + Parent := ObjectView; end; AObject := ObjectExposer.CurrentObject; - Top := 4; - with TInstantProperties.Create(AObject) do + Top := VERT_SPACING; + LProperties := TInstantProperties.Create(AObject); try - for I := 0 to Pred(Count) do - if Types[I] <> tkClass then + LFieldNames := CreateFieldList; + try + for LFieldIndex := 0 to LFieldNames.Count - 1 do begin - Inc(Top, 4); - CreateEditControl(Editor, Top, PropInfos[I], DataSource); + for I := 0 to Pred(LProperties.Count) do + begin + if (LProperties.Types[I] <> tkClass) and (LProperties.Names[I] = LFieldNames[LFieldIndex]) then + begin + Inc(Top, VERT_SPACING); + CreateEditControl(Editor, Top, LProperties.PropInfos[I], DataSource); + end; + end; end; + finally + LFieldNames.Free; + end; finally - Free; + LProperties.Free; end; - Editor.Parent := ObjectView; Result := Editor; end; procedure TInstantExplorer.CreateObjectExposer; begin FObjectExposer := CreateExposer; - if Assigned(FObjectExposer) then - FObjectExposer.AfterPost := ObjectExposerAfterPost; + FObjectExposer.AfterPost := ObjectExposerAfterPost; + FObjectExposer.AfterDelete := ObjectExposerAfterDelete; FObjectSource := TDataSource.Create(Self); FObjectSource.DataSet := FObjectExposer; end; @@ -620,6 +777,7 @@ procedure TInstantExplorer.CreateObjectView; begin FObjectView := CreatePanel(Self); + FObjectView.Parent := DetailPanel; end; function TInstantExplorer.CreatePanel(AOwner: TComponent): TPanel; @@ -634,6 +792,9 @@ FSplitter := TSplitter.Create(Self); with FSplitter do begin + Parent := Self; + AutoSnap := False; + MinSize := 30; Top := FTreePanel.Top + FTreePanel.Height + 1; Align := alTop; end; @@ -644,6 +805,7 @@ FTreePanel := CreatePanel(Self); with FTreePanel do begin + Parent := Self; Align := alTop; FTreeView := CreateTreeView(FTreePanel); with FTreeView do @@ -689,6 +851,18 @@ LoadNode(Node, True); end; +procedure TInstantExplorer.GetAllowedValues(const AObject: TObject; + const APropName: string; const AAllowedValues: TStrings); +begin + if Assigned(FOnGetAllowedValues) then + FOnGetAllowedValues(Self, AObject, APropName, AAllowedValues); +end; + +function TInstantExplorer.GetContentEditor: TWinControl; +begin + Result := FContentEditor; +end; + function TInstantExplorer.GetCurrentObject: TObject; begin with TreeView do @@ -855,9 +1029,14 @@ procedure TInstantExplorer.ObjectExposerAfterPost(Sender: TDataSet); begin - RefreshNode(TreeView.Selected); + Refresh; end; +procedure TInstantExplorer.ObjectExposerAfterDelete(Sender: TDataSet); +begin + Refresh; +end; + procedure TInstantExplorer.Refresh; begin AssignRootObject(FRootObject); @@ -902,21 +1081,32 @@ end; end; +procedure TInstantExplorer.SetCurrentObject(const AValue: TObject); +var + LNodeIndex: Integer; +begin + for LNodeIndex := 0 to TreeView.Items.Count - 1 do + begin + if Integer(TreeView.Items[LNodeIndex].Data) > 0 then + if TInstantExplorerNodeData(TreeView.Items[LNodeIndex].Data).Instance = AValue then + begin + TreeView.Selected := TreeView.Items[LNodeIndex]; + Break; + end; + end; +end; + procedure TInstantExplorer.SetDetailView(const Value: TPanel); begin if Value <> FDetailView then begin if Assigned(FDetailView) then - begin - FDetailView.Hide; - FDetailView.Parent := nil; - end; + FDetailView.Visible := False; FDetailView := Value; if Assigned(FDetailView) then begin FDetailView.Align := alClient; - FDetailView.Parent := DetailPanel; - FDetailView.Show; + FDetailView.Visible := True; end; end; end; @@ -1007,7 +1197,9 @@ ObjectExposer.ContainerName := Container.Name; ObjectExposer.Subject := Container.Owner; DetailView := ContentView; - end else if Assigned(AObject) then + SetupContentEditor; + end + else if Assigned(AObject) then begin if AObject.ClassType <> ObjectExposer.ObjectClass then DestroyObjectEditor; @@ -1023,6 +1215,156 @@ ObjectExposer.Subject := nil; DetailView := nil; end; + // Reduces a treeview painting problem in D2007 with runtime themes enabled + // and checkboxes in the object editor. + Update; end; +procedure TInstantExplorer.SetupContentEditor; +var + LColumnIndex: Integer; + LField: TField; + LFieldNames: TStrings; + LFieldIndex: Integer; + +begin + // Arrange columns. + LFieldNames := CreateFieldList; + try + FContentEditor.Grid.Columns.Clear; + for LFieldIndex := 0 to LFieldNames.Count - 1 do + with FContentEditor.Grid.Columns.Add do + begin + FieldName := LFieldNames[LFieldIndex]; + Width := DefaultWidth; + end; + finally + LFieldNames.Free; + end; + + for LColumnIndex := 0 to FContentEditor.Grid.Columns.Count - 1 do + begin + LField := FContentEditor.Grid.Columns[LColumnIndex].Field; + // Beautify caption. + FContentEditor.Grid.Columns[LColumnIndex].Title.Caption := Beautify(LField.DisplayLabel); + // Add combo box for boolean fields. + if LField.DataType = ftBoolean then + begin + FContentEditor.Grid.Columns[LColumnIndex].PickList.Clear; + FContentEditor.Grid.Columns[LColumnIndex].PickList.Add(BoolToStr(True, True)); + FContentEditor.Grid.Columns[LColumnIndex].PickList.Add(BoolToStr(False, True)); + end + else + // Add picklist for all columns. + begin + FContentEditor.Grid.Columns[LColumnIndex].PickList.Clear; + GetAllowedValues(ObjectExposer.CurrentObject, + FContentEditor.Grid.Columns[LColumnIndex].FieldName, + FContentEditor.Grid.Columns[LColumnIndex].PickList); + end; + FContentEditor.Grid.Columns[LColumnIndex].DropDownRows := + Min(MAX_DROPDOWN_ITEMS, FContentEditor.Grid.Columns[LColumnIndex].PickList.Count); + // Hide detail and memo columns, useless in standard grids. + if LField.DataType in [ftBlob, ftMemo, ftDataSet] then + FContentEditor.Grid.Columns[LColumnIndex].Visible := False; + end; +end; + +function TInstantExplorer.CreateFieldList: TStrings; +var + LFieldIndex: Integer; +begin + Result := TStringList.Create; + try + for LFieldIndex := 0 to FObjectExposer.FieldCount - 1 do + Result.Add(FObjectExposer.Fields[LFieldIndex].FieldName); + if Assigned(FOnGetFieldNames) then + FOnGetFieldNames(Self, ObjectExposer.CurrentObject, Result); + except + Result.Free; + raise; + end; +end; + +{ TInstantExplorerDBGrid } + +procedure TInstantExplorerDBGrid.Resize; +begin + inherited; + UpdateLastColumnWidth; +end; + +procedure TInstantExplorerDBGrid.UpdateLastColumnWidth; + + function GetAllColumnsWidth(const AMinus: Integer): Integer; + var + LColumnIndex: Integer; + begin + Result := 0; + for LColumnIndex := 0 to Columns.Count - 1 - AMinus do + Inc(Result, Columns[LColumnIndex].Width); + end; + +begin + if Columns.Count >= 1 then + Columns[Columns.Count - 1].Width := ClientWidth - GetAllColumnsWidth(1); +end; + +{ TInstantExplorerContentEditor } + +constructor TInstantExplorerContentEditor.Create(AOwner: TComponent); +begin + inherited; + BevelInner := bvNone; + BevelOuter := bvNone; + + FGrid := TInstantExplorerDBGrid.Create(Self); + FGrid.Parent := Self; + FGrid.Align := alClient; +end; + +function TInstantExplorerContentEditor.GetDataSource: TDataSource; +begin + Result := FGrid.DataSource; +end; + +function TInstantExplorerContentEditor.GetGrid: TDBGrid; +begin + Result := FGrid; +end; + +procedure TInstantExplorerContentEditor.SetDataSource(const AValue: TDataSource); +begin + FGrid.DataSource := AValue; +end; + +{ TInstantExplorerDBComboBox } + +procedure TInstantExplorerDBComboBox.ApplyToRecord; +var + LDataLink: TDataLink; +begin + // Provides the auto-apply feature. + LDataLink := TDataLink(Perform(CM_GETDATALINK, 0, 0)); + try + LDataLink.UpdateRecord; + except + SelectAll; + SetFocus; + raise; + end; +end; + +procedure TInstantExplorerDBComboBox.Change; +begin + inherited; + ApplyToRecord; +end; + +procedure TInstantExplorerDBComboBox.Click; +begin + inherited; + ApplyToRecord; +end; + end. |
From: <na...@us...> - 2009-08-20 09:23:43
|
Revision: 854 http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=854&view=rev Author: nandod Date: 2009-08-20 09:23:30 +0000 (Thu, 20 Aug 2009) Log Message: ----------- * Changes needed to build ADO, DBX and IBX brokers with new enum support. Modified Paths: -------------- trunk/Source/Brokers/ADO/InstantADO.pas trunk/Source/Brokers/DBX/InstantDBX.pas trunk/Source/Brokers/IBX/InstantIBX.pas Modified: trunk/Source/Brokers/ADO/InstantADO.pas =================================================================== --- trunk/Source/Brokers/ADO/InstantADO.pas 2009-08-19 20:54:06 UTC (rev 853) +++ trunk/Source/Brokers/ADO/InstantADO.pas 2009-08-20 09:23:30 UTC (rev 854) @@ -343,16 +343,17 @@ const ColumnTypes: array[TInstantDataType, TInstantADOProviderType] of Integer = ( {Unknown, Jet, SQL, Oracle MySQL DB2} - (adInteger, adInteger, adInteger, adNumeric, adInteger, adInteger), // dtInteger - (adDouble, adDouble, adDouble, adDouble, adDouble, adDouble), // dtFloat - (adCurrency, adCurrency, adCurrency, adCurrency, adCurrency, adCurrency), // dtCurrency - (adBoolean, adBoolean, adBoolean, adChar, adBoolean, adBoolean), // dtBoolean - (adVarChar, adVarWChar, adVarChar, adVarChar, adVarChar, adVarChar), // dtString - (adLongVarChar, adLongVarWChar, adLongVarChar, adVarBinary, adLongVarChar, adLongVarChar), // dtMemo - (adDate, adDate, adDBTimeStamp, adDBTimeStamp, adDate, adDate), // dtDateTime + (adInteger, adInteger, adInteger, adNumeric, adInteger, adInteger), // dtInteger + (adDouble, adDouble, adDouble, adDouble, adDouble, adDouble), // dtFloat + (adCurrency, adCurrency, adCurrency, adCurrency, adCurrency, adCurrency), // dtCurrency + (adBoolean, adBoolean, adBoolean, adChar, adBoolean, adBoolean), // dtBoolean + (adVarChar, adVarWChar, adVarChar, adVarChar, adVarChar, adVarChar), // dtString + (adLongVarChar, adLongVarWChar, adLongVarChar, adVarBinary, adLongVarChar, adLongVarChar), // dtMemo + (adDate, adDate, adDBTimeStamp, adDBTimeStamp, adDate, adDate), // dtDateTime (adLongVarBinary, adLongVarBinary, adLongVarBinary, adVarBinary, adLongVarBinary, adLongVarBinary), // dtBlob - (adDate, adDate, adDBTimeStamp, adDBTimeStamp, adDate, adDate), // dtDate - (adDate, adDate, adDBTimeStamp, adDBTimeStamp, adDate, adDate) // dtTime + (adDate, adDate, adDBTimeStamp, adDBTimeStamp, adDate, adDate), // dtDate + (adDate, adDate, adDBTimeStamp, adDBTimeStamp, adDate, adDate), // dtTime + (adInteger, adInteger, adInteger, adNumeric, adInteger, adInteger) // dtEnum ); var Column: _Column; @@ -470,7 +471,8 @@ 'DATETIME', 'BLOB', 'DATE', - 'TIME' + 'TIME', + 'INTEGER' ); begin Result := Types[DataType]; @@ -1139,7 +1141,8 @@ 'DATETIME', 'IMAGE', 'DATETIME', - 'DATETIME'); + 'DATETIME', + 'INTEGER'); begin Result := Types[DataType]; if (DataType = dtString) and (Size > 0) then Modified: trunk/Source/Brokers/DBX/InstantDBX.pas =================================================================== --- trunk/Source/Brokers/DBX/InstantDBX.pas 2009-08-19 20:54:06 UTC (rev 853) +++ trunk/Source/Brokers/DBX/InstantDBX.pas 2009-08-20 09:23:30 UTC (rev 854) @@ -619,7 +619,9 @@ 'TIMESTAMP', 'BLOB', 'TIMESTAMP', - 'TIMESTAMP'); + 'TIMESTAMP', + 'INTEGER' + ); begin Result := Types[DataType]; end; @@ -663,7 +665,8 @@ 'DATETIME', 'IMAGE', 'DATETIME', - 'DATETIME'); + 'DATETIME', + 'INTEGER'); begin Result := Types[DataType]; end; @@ -771,7 +774,8 @@ 'DATE', 'BLOB', 'DATE', - 'DATE'); + 'DATE', + 'INTEGER'); begin Result := Types[DataType]; end; @@ -801,7 +805,8 @@ 'TIMESTAMP', 'BLOB (1000 K)', 'TIMESTAMP', - 'TIMESTAMP'); + 'TIMESTAMP', + 'INTEGER'); begin Result := Types[DataType]; end; @@ -844,7 +849,8 @@ 'DATETIME', 'BLOB', 'DATE', - 'TIME'); + 'TIME', + 'INTEGER'); begin Result := Types[DataType]; end; Modified: trunk/Source/Brokers/IBX/InstantIBX.pas =================================================================== --- trunk/Source/Brokers/IBX/InstantIBX.pas 2009-08-19 20:54:06 UTC (rev 853) +++ trunk/Source/Brokers/IBX/InstantIBX.pas 2009-08-20 09:23:30 UTC (rev 854) @@ -428,7 +428,8 @@ 'TIMESTAMP', 'BLOB', 'DATE', - 'TIME'); + 'TIME', + 'INTEGER'); begin Result := Types[DataType]; if (DataType = dtString) and (Size > 0) then |
From: <wp...@us...> - 2009-08-19 20:54:17
|
Revision: 853 http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=853&view=rev Author: wp2udk Date: 2009-08-19 20:54:06 +0000 (Wed, 19 Aug 2009) Log Message: ----------- Modified Paths: -------------- trunk/Source/Brokers/BDE/InstantBDE.pas trunk/Source/Core/InstantCode.pas trunk/Source/Core/InstantMetadata.pas trunk/Source/Core/InstantPersistence.pas trunk/Source/Core/InstantPresentation.pas trunk/Source/Core/InstantTypes.pas trunk/Source/Design/InstantAttributeEditor.dfm trunk/Source/Design/InstantAttributeEditor.pas trunk/Source/Design/InstantClassEditor.dfm trunk/Source/Design/InstantClassEditor.pas trunk/Source/Design/InstantModelExplorer.pas Modified: trunk/Source/Brokers/BDE/InstantBDE.pas =================================================================== --- trunk/Source/Brokers/BDE/InstantBDE.pas 2009-08-19 20:25:12 UTC (rev 852) +++ trunk/Source/Brokers/BDE/InstantBDE.pas 2009-08-19 20:54:06 UTC (rev 853) @@ -24,7 +24,7 @@ * the Initial Developer. All Rights Reserved. * * Contributor(s): - * Carlo Barazzetta, Nando Dessena, Steven Mitchell + * Carlo Barazzetta, Nando Dessena, Steven Mitchell, Brian Andersen * * ***** END LICENSE BLOCK ***** *) @@ -405,7 +405,7 @@ procedure CreateTable(TableMetadata: TInstantTableMetadata); const FieldTypes: array[TInstantDataType] of TFieldType = - (ftInteger, ftFloat, ftBCD, ftBoolean, ftString, ftMemo, ftDateTime, ftBlob, ftDate, ftTime); + (ftInteger, ftFloat, ftBCD, ftBoolean, ftString, ftMemo, ftDateTime, ftBlob, ftDate, ftTime, ftInteger); var I: Integer; Table: TTable; @@ -758,7 +758,7 @@ procedure TInstantDBBuildBDEAddTableCommand.InternalExecute; const FieldTypes: array[TInstantDataType] of TFieldType = - (ftInteger, ftFloat, ftCurrency, ftBoolean, ftString, ftMemo, ftDateTime, ftBlob, ftDate, ftTime); + (ftInteger, ftFloat, ftCurrency, ftBoolean, ftString, ftMemo, ftDateTime, ftBlob, ftDate, ftTime, ftInteger); var I: Integer; Table: TTable; Modified: trunk/Source/Core/InstantCode.pas =================================================================== --- trunk/Source/Core/InstantCode.pas 2009-08-19 20:25:12 UTC (rev 852) +++ trunk/Source/Core/InstantCode.pas 2009-08-19 20:54:06 UTC (rev 853) @@ -589,6 +589,7 @@ function GetIncludeRemoveMethod: Boolean; function GetIsComplex: Boolean; function GetIsContainer: Boolean; + function GetIsEnum: Boolean; function GetIsIndexed: Boolean; function GetIsRequired: Boolean; function GetMetadata: TInstantAttributeMetadata; @@ -669,6 +670,7 @@ property Owner: TInstantCodeMetadataInfo read GetOwner; property IsComplex: Boolean read GetIsComplex; property IsContainer: Boolean read GetIsContainer; + property IsEnum: Boolean read GetIsEnum; property PropTypeName: string read GetPropTypeName write SetPropTypeName; property ValueGetterCode: string read GetValueGetterCode; property ValuePropName: string read GetValuePropName; @@ -1554,6 +1556,12 @@ procedure InternalRead; override; end; + TEnumTypeProcessor = class(TSimpleTypeProcessor) + protected + procedure InternalRead; override; + procedure HandleArgument(Index: Integer; const Argument: string); override; + end; + const {$IFDEF MSWINDOWS} CRLF = #13#10; @@ -1616,15 +1624,16 @@ 'Boolean', 'string', 'TDateTime', - '', // atBlob - '', // atMemo - '', // atGraphic - '', // atPart - '', // atReference - '', // atParts, + '', // atBlob + '', // atMemo + '', // atGraphic + '', // atPart + '', // atReference + '', // atParts, '', // atReferences 'TDate', - 'TTime'); + 'TTime', + ''); // atEnum begin for Result := Low(Result) to High(Result) do if SameText(PropType, TypeNames[Result]) then @@ -1652,6 +1661,7 @@ AddObject('Reference', TObjectTypeProcessor.Create); AddObject('Parts', TContainerTypeProcessor.Create); AddObject('References', TContainerTypeProcessor.Create); + AddObject('Enum', TEnumTypeProcessor.Create); end; end; @@ -3582,15 +3592,24 @@ function TInstantCodeAttributeTailor.GetValueGetterCode: string; begin - Result := 'Result := ' + FieldValueName; - if Attribute.IsComplex then - Result := Result + ' as ' + Attribute.PropTypeName; + Result := 'Result := '; + if not Attribute.IsEnum then + begin + Result := Result + FieldValueName; + if Attribute.IsComplex then + Result := Result + ' as ' + Attribute.PropTypeName; + end else + Result := Result + Attribute.Metadata.EnumName + '(' + FieldValueName + ')'; + Result := Result + ';'; end; function TInstantCodeAttributeTailor.GetValueSetterCode: string; +const + SetterText: array[Boolean] of string = + ('Value;', 'Ord(Value)'); begin - Result := FieldValueName + ' := Value;'; + Result := FieldValueName + ' := ' + SetterText[Attribute.IsEnum] + ';'; end; procedure TInstantCodeAttributeTailor.SetIsArray(Value: Boolean); @@ -3757,6 +3776,8 @@ Params := ObjectClassName else if (AttributeType in [atString, atMemo]) and (Size > 0) then Params := IntToStr(Size) + else if AttributeType = atEnum then + Params := EnumName else Exit; Result := Result + '(' + Params + ')'; @@ -3828,6 +3849,12 @@ Metadata.AttributeClass.InheritsFrom(TInstantContainer); end; +function TInstantCodeAttribute.GetIsEnum: Boolean; +begin + Result := Assigned(Metadata.AttributeClass) and + Metadata.AttributeClass.InheritsFrom(TInstantEnum); +end; + function TInstantCodeAttribute.GetIsDefault: Boolean; begin Result := Metadata.IsDefault; @@ -3907,9 +3934,13 @@ Result := InstantAttributeTypeToPropertyType(AttributeType); if Result = '' then with Metadata do - if Assigned(AttributeClass) and - AttributeClass.InheritsFrom(TInstantComplex) then - Result := ObjectClassName; + if Assigned(AttributeClass) then + begin + if AttributeClass.InheritsFrom(TInstantComplex) then + Result := ObjectClassName else + if AttributeClass.InheritsFrom(TInstantEnum) then + Result := EnumName; + end; end; function TInstantCodeAttribute.GetReadOnly: Boolean; @@ -8952,6 +8983,48 @@ end; end; +{ TEnumTypeProcessor } + +procedure TEnumTypeProcessor.HandleArgument(Index: Integer; + const Argument: string); +//var +// CodeObject: TInstantCodeObject; +begin + case Index of + 1: + if IsValidIdent(Argument) then + begin +// Code disabled: This checks if the Enumerated type exists. But it +// only works if the type exists in the same unit as the +// model. +// Assert(FModule = nil, 'xxx'); +// if FModule <> nil then +// begin +// CodeObject := FModule.InterfaceSection.FindTypes.Find(Argument); +// CodeObject := FModule.FindType(Argument); + +// if not Assigned(CodeObject) then +// Error(Format('Identifier not found: %s', [Argument])) else +// if CodeObject is TInstantCodeEnum then +// begin + FMetadata.EnumName := Argument; +// FMetadata.EnumValues := (CodeObject as TInstantCodeEnum).FItems; +// end else +// Error(Format('Enumerated type expected: %s', [Argument])); +// end else +// Error(Format('Invalid identifier name: %s', [Argument])); + end + else + inherited; + end; +end; + +procedure TEnumTypeProcessor.InternalRead; +begin + inherited; + +end; + initialization CreateTypeProcessors; Modified: trunk/Source/Core/InstantMetadata.pas =================================================================== --- trunk/Source/Core/InstantMetadata.pas 2009-08-19 20:25:12 UTC (rev 852) +++ trunk/Source/Core/InstantMetadata.pas 2009-08-19 20:54:06 UTC (rev 853) @@ -474,6 +474,7 @@ FStorageKind: TInstantStorageKind; FExternalStorageName: string; FValidator: TInstantValidator; + FEnumName: string; function GetAttributeClass: TInstantAbstractAttributeClass; function GetAttributeClassName: string; function GetAttributeTypeName: string; @@ -550,6 +551,7 @@ property StorageName: string read FStorageName write FStorageName; property ValidCharsString: string read GetValidCharsString write SetValidCharsString; + property EnumName: string read FEnumName write FEnumName; end; TInstantAttributeMetadatas = class(TInstantMetadatas) @@ -579,8 +581,8 @@ AttributeClasses: array[TInstantAttributeType] of TInstantAttributeClass = ( nil, TInstantInteger, TInstantFloat, TInstantCurrency, TInstantBoolean, TInstantString, TInstantDateTime, TInstantBlob, TInstantMemo, - TInstantGraphic, TInstantPart, TInstantReference, TInstantParts, - TInstantReferences, TInstantDate, TInstantTime); + TInstantGraphic, TInstantPart, TInstantReference, TInstantParts, + TInstantReferences, TInstantDate, TInstantTime, TInstantEnum); { TInstantMetadata } @@ -1695,6 +1697,7 @@ Self.FStorageKind := FStorageKind; Self.FExternalStorageName := FExternalStorageName; Self.FValidCharsString := FValidCharsString; + Self.FEnumName := FEnumName; end; end; Modified: trunk/Source/Core/InstantPersistence.pas =================================================================== --- trunk/Source/Core/InstantPersistence.pas 2009-08-19 20:25:12 UTC (rev 852) +++ trunk/Source/Core/InstantPersistence.pas 2009-08-19 20:54:06 UTC (rev 853) @@ -743,6 +743,9 @@ property RefItems[Index: Integer]: TInstantObjectReference read GetRefItems; end; + TInstantEnum = class(TInstantInteger) + end; + TInstantObjectState = class(TPersistent) private FIsChanged: Boolean; @@ -1578,7 +1581,8 @@ const InstantDataTypeStrings: array[TInstantDataType] of string = - ('Integer', 'Float', 'Currency', 'Boolean', 'String', 'Memo', 'DateTime', 'Blob', 'Date', 'Time'); + ('Integer', 'Float', 'Currency', 'Boolean', 'String', 'Memo', 'DateTime', + 'Blob', 'Date', 'Time', 'Integer'); procedure AssignInstantDataTypeStrings(Strings: TStrings); @@ -1662,7 +1666,8 @@ dtBlob, //atParts dtBlob, //atReferences dtDate, //atDate - dtTime); //atTime + dtTime, //atTime + dtEnum); //atEnum DataTypesXML: array[TInstantAttributeType] of TInstantDataType = ( dtString, //atUnknown @@ -1680,7 +1685,8 @@ dtMemo, //atParts dtMemo, //atReferences dtDate, //atDate - dtTime); //atTime + dtTime, //atTime + dtEnum); //atEnum begin if BlobStreamFormat = sfBinary then Result := DataTypesBinary[AttributeType] Modified: trunk/Source/Core/InstantPresentation.pas =================================================================== --- trunk/Source/Core/InstantPresentation.pas 2009-08-19 20:25:12 UTC (rev 852) +++ trunk/Source/Core/InstantPresentation.pas 2009-08-19 20:54:06 UTC (rev 853) @@ -816,7 +816,7 @@ FieldTypes: array[TInstantAttributeType] of TFieldType = ( ftUnknown, ftInteger, ftFloat, ftBCD, ftBoolean, ftString, ftDateTime, ftBlob, ftMemo, ftBlob, ftInteger, ftInteger, ftDataSet, ftDataSet, - ftDate, ftTime); + ftDate, ftTime, ftInteger); begin Result := FieldTypes[AttributeType]; end; Modified: trunk/Source/Core/InstantTypes.pas =================================================================== --- trunk/Source/Core/InstantTypes.pas 2009-08-19 20:25:12 UTC (rev 852) +++ trunk/Source/Core/InstantTypes.pas 2009-08-19 20:54:06 UTC (rev 853) @@ -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, Brian Andersen * * ***** END LICENSE BLOCK ***** *) @@ -49,7 +49,7 @@ TInstantStorageKind = (skEmbedded, skExternal); TInstantAttributeType = (atUnknown, atInteger, atFloat, atCurrency, atBoolean, atString, atDateTime, atBlob, atMemo, atGraphic, - atPart, atReference, atParts, atReferences, atDate, atTime); + atPart, atReference, atParts, atReferences, atDate, atTime, atEnum); TInstantAttributeCategory = (acUnknown, acSimple, acElement, acContainer); TInstantGraphicFileFormat = (gffUnknown, gffBmp, gffTiff, gffJpeg, gffPng, @@ -58,7 +58,7 @@ TInstantPersistence = (peEmbedded, peStored); TInstantDataType = (dtInteger, dtFloat, dtCurrency, dtBoolean, dtString, - dtMemo, dtDateTime, dtBlob, dtDate, dtTime); + dtMemo, dtDateTime, dtBlob, dtDate, dtTime, dtEnum); TInstantDataTypes = set of TInstantDataType; TInstantFieldOption = (foRequired, foIndexed); TInstantFieldOptions = set of TInstantFieldOption; Modified: trunk/Source/Design/InstantAttributeEditor.dfm =================================================================== --- trunk/Source/Design/InstantAttributeEditor.dfm 2009-08-19 20:25:12 UTC (rev 852) +++ trunk/Source/Design/InstantAttributeEditor.dfm 2009-08-19 20:54:06 UTC (rev 853) @@ -1,9 +1,9 @@ inherited InstantAttributeEditorForm: TInstantAttributeEditorForm Left = 78 Top = 485 - Width = 249 - Height = 358 Caption = 'Attribute Editor' + ClientHeight = 371 + ClientWidth = 241 ParentFont = True OldCreateOrder = True OnCreate = FormCreate @@ -11,12 +11,12 @@ TextHeight = 13 inherited EditPanel: TPanel Width = 241 - Height = 293 + Height = 340 object PageControl: TPageControl Left = 4 Top = 4 Width = 233 - Height = 285 + Height = 332 ActivePage = DefinitionSheet Align = alClient TabOrder = 0 @@ -25,7 +25,7 @@ object NameLabel: TLabel Left = 8 Top = 8 - Width = 28 + Width = 27 Height = 13 Caption = '&Name' FocusControl = NameEdit @@ -41,14 +41,14 @@ object ObjectClassLabel: TLabel Left = 8 Top = 88 - Width = 59 + Width = 60 Height = 13 Caption = 'Object &Class' FocusControl = ObjectClassEdit end object StorageNameLabel: TLabel Left = 8 - Top = 128 + Top = 176 Width = 68 Height = 13 Caption = '&Storage Name' @@ -57,27 +57,35 @@ object SizeLabel: TLabel Left = 160 Top = 48 - Width = 20 + Width = 19 Height = 13 Caption = 'Si&ze' FocusControl = SizeEdit end object ExternalStorageNameLabel: TLabel Left = 8 - Top = 214 - Width = 109 + Top = 262 + Width = 111 Height = 13 Caption = '&External Storage Name' FocusControl = ExternalStorageNameEdit end object StorageKindLabel: TLabel Left = 8 - Top = 168 + Top = 216 Width = 61 Height = 13 Caption = 'Storage &Kind' FocusControl = StorageKindEdit end + object EnumeratedTypeLabel: TLabel + Left = 7 + Top = 132 + Width = 83 + Height = 13 + Caption = '&Enumerated type' + FocusControl = EnumeratedTypeEdit + end object NameEdit: TDBEdit Left = 7 Top = 24 @@ -117,7 +125,7 @@ end object StorageNameEdit: TDBEdit Left = 7 - Top = 144 + Top = 192 Width = 210 Height = 21 DataField = 'StorageName' @@ -136,7 +144,7 @@ end object ExternalStorageNameEdit: TDBEdit Left = 7 - Top = 231 + Top = 279 Width = 210 Height = 21 DataField = 'ExternalStorageName' @@ -146,7 +154,7 @@ end object StorageKindEdit: TDBComboBox Left = 7 - Top = 184 + Top = 232 Width = 210 Height = 21 Style = csDropDownList @@ -159,7 +167,7 @@ end object AutoExternalStorageNameCheckBox: TCheckBox Left = 172 - Top = 212 + Top = 260 Width = 45 Height = 17 Alignment = taLeftJustify @@ -167,6 +175,18 @@ TabOrder = 7 OnClick = AutoExternalStorageNameCheckBoxClick end + object EnumeratedTypeEdit: TDBComboBox + Left = 7 + Top = 149 + Width = 210 + Height = 21 + DataField = 'Metadata.EnumName' + DataSource = SubjectSource + ItemHeight = 13 + TabOrder = 8 + OnChange = EnumeratedTypeEditChange + OnEnter = EnumeratedTypeEditEnter + end end object AccessSheet: TTabSheet Caption = 'Access' @@ -174,7 +194,7 @@ object VisibilityLabel: TLabel Left = 8 Top = 8 - Width = 36 + Width = 37 Height = 13 Caption = '&Visibility' FocusControl = VisibilityEdit @@ -182,7 +202,7 @@ object SingularNameLabel: TLabel Left = 120 Top = 8 - Width = 69 + Width = 68 Height = 13 Caption = '&Singular Name' FocusControl = SingularNameEdit @@ -195,7 +215,7 @@ Style = csDropDownList DataField = 'Visibility' DataSource = SubjectSource - ItemHeight = 13 + ItemHeight = 0 TabOrder = 0 end object MethodsGroupBox: TGroupBox @@ -318,7 +338,7 @@ object EdtMaskLabel: TLabel Left = 8 Top = 8 - Width = 47 + Width = 45 Height = 13 Caption = 'Edit &Mask' FocusControl = EditMaskEdit @@ -334,7 +354,7 @@ object ValidCharsLabel: TLabel Left = 8 Top = 48 - Width = 77 + Width = 78 Height = 13 Caption = '&Valid Characters' FocusControl = ValidCharsEdit @@ -387,7 +407,7 @@ end end inherited BottomPanel: TPanel - Top = 293 + Top = 340 Width = 241 inherited ButtonPanel: TPanel Left = 81 Modified: trunk/Source/Design/InstantAttributeEditor.pas =================================================================== --- trunk/Source/Design/InstantAttributeEditor.pas 2009-08-19 20:25:12 UTC (rev 852) +++ trunk/Source/Design/InstantAttributeEditor.pas 2009-08-19 20:54:06 UTC (rev 853) @@ -24,7 +24,8 @@ * the Initial Developer. All Rights Reserved. * * Contributor(s): - * Carlo Barazzetta, Adrea Petrelli, Nando Dessena, Steven Mitchell, David Moorhouse + * Carlo Barazzetta, Adrea Petrelli, Nando Dessena, Steven Mitchell, + * David Moorhouse, Brian Andersen * * ***** END LICENSE BLOCK ***** *) @@ -116,6 +117,8 @@ StorageKindLabel: TLabel; AutoExternalStorageNameCheckBox: TCheckBox; OptionUseNullCheckBox: TCheckBox; + EnumeratedTypeLabel: TLabel; + EnumeratedTypeEdit: TDBComboBox; procedure NameEditKeyPress(Sender: TObject; var Key: Char); procedure FormCreate(Sender: TObject); procedure NameEditChange(Sender: TObject); @@ -132,6 +135,8 @@ procedure ExternalStorageNameEditChange(Sender: TObject); procedure AutoExternalStorageNameCheckBoxClick(Sender: TObject); procedure StorageNameEditChange(Sender: TObject); + procedure EnumeratedTypeEditChange(Sender: TObject); + procedure EnumeratedTypeEditEnter(Sender: TObject); private FBaseClassStorageName: string; FLimited: Boolean; @@ -148,8 +153,10 @@ protected procedure LoadClasses; procedure LoadData; override; - procedure LoadEnums(TypeInfo: PTypeInfo; Items: TStrings; - Values: Pointer); +// Do not delete +// procedure LoadEnums(TypeInfo: PTypeInfo; Items: TStrings; +// Values: Pointer); + procedure LoadEnum; procedure LoadTypes; procedure LoadVisibilities; procedure LoadStorageKind; @@ -268,9 +275,10 @@ LoadOptions; LoadMethods; end; + LoadEnum; end; -procedure TInstantAttributeEditorForm.LoadEnums(TypeInfo: PTypeInfo; +{procedure TInstantAttributeEditorForm.LoadEnums(TypeInfo: PTypeInfo; Items: TStrings; Values: Pointer); type PByteSet = ^TByteSet; @@ -302,7 +310,7 @@ finally Names.Free; end; -end; +end; } procedure TInstantAttributeEditorForm.LoadStorageKind; begin @@ -310,6 +318,31 @@ SubjectExposer.GetFieldStrings(StorageKindEdit.Field, StorageKindEdit.Items); end; +procedure TInstantAttributeEditorForm.LoadEnum; +var + I: Integer; + CodeType: TInstantCodeType; +begin + EnumeratedTypeEdit.Items.BeginUpdate; + try + EnumeratedTypeEdit.Clear; + if Assigned(FModel) then + begin + for I := 0 to Pred(FModel.TypeCount) do + begin + CodeType := FModel.Types[I]; + if CodeType is TInstantCodeEnum then + EnumeratedTypeEdit.Items.AddObject(CodeType.Name, CodeType); + end; + end; + + EnumeratedTypeEdit.ItemIndex := + EnumeratedTypeEdit.Items.IndexOf(SubjectExposer.FieldByName('Metadata.EnumName').AsString); + finally + EnumeratedTypeEdit.Items.EndUpdate; + end; +end; + procedure TInstantAttributeEditorForm.LoadTypes; procedure RestrictForComplexAttr; @@ -547,6 +580,7 @@ LoadTypes; LoadVisibilities; LoadStorageKind; + LoadEnum; UpdateControls; ComputeExternalStorageName; end; @@ -631,7 +665,7 @@ end; var - HasName, HasClass, IsComplex, IsContainer, CanBeExternal, + HasName, HasClass, HasEnum, IsComplex, IsContainer, IsEnum, CanBeExternal, CanHaveStorageName, IsMaskable, IsString, IsValid: Boolean; begin CanBeExternal := False; @@ -640,6 +674,7 @@ IsMaskable := False; IsContainer := False; IsString := False; + IsEnum := False; if Assigned(Subject) then begin @@ -654,12 +689,14 @@ IsContainer := Subject.IsContainer; CanHaveStorageName := Subject.CanHaveStorageName; IsString := Subject.AttributeType in [atString, atMemo]; + IsEnum := Subject.IsEnum; end; HasName := NameEdit.Text <> ''; HasClass := ObjectClassEdit.Text <> ''; + HasEnum := EnumeratedTypeEdit.Text <> ''; - IsValid := HasName and (not IsComplex or HasClass); + IsValid := HasName and ((not IsComplex or HasClass)) or ((IsEnum) and (HasEnum)); DisableSubControls(DefinitionSheet, Limited); DisableSubControls(AccessSheet, Limited); @@ -681,6 +718,8 @@ EnableCtrl(StorageKindEdit, CanBeExternal and IsObjectClassPersistent); EnableCtrl(StorageKindLabel, CanBeExternal and IsObjectClassPersistent); + EnableCtrl(EnumeratedTypeLabel, IsEnum); + EnableCtrl(EnumeratedTypeEdit, IsEnum); end; EnableCtrl(StorageNameLabel, CanHaveStorageName); EnableCtrl(StorageNameEdit, CanHaveStorageName); @@ -711,6 +750,18 @@ ComputeExternalStorageName; end; +procedure TInstantAttributeEditorForm.EnumeratedTypeEditChange(Sender: TObject); +begin + inherited; + UpdateControls; +end; + +procedure TInstantAttributeEditorForm.EnumeratedTypeEditEnter(Sender: TObject); +begin + inherited; + LoadEnum; +end; + procedure TInstantAttributeEditorForm.ExternalStorageNameEditChange(Sender: TObject); begin Modified: trunk/Source/Design/InstantClassEditor.dfm =================================================================== --- trunk/Source/Design/InstantClassEditor.dfm 2009-08-19 20:25:12 UTC (rev 852) +++ trunk/Source/Design/InstantClassEditor.dfm 2009-08-19 20:54:06 UTC (rev 853) @@ -139,6 +139,11 @@ Height = 170 end end + inherited AttributesMenu: TPopupMenu + inherited AttributeNewItem: TMenuItem + OnClick = nil + end + end end end end Modified: trunk/Source/Design/InstantClassEditor.pas =================================================================== --- trunk/Source/Design/InstantClassEditor.pas 2009-08-19 20:25:12 UTC (rev 852) +++ trunk/Source/Design/InstantClassEditor.pas 2009-08-19 20:54:06 UTC (rev 853) @@ -281,6 +281,7 @@ if Value <> FModel then begin FModel := Value; + InstantAttributeViewFrame.Model := Value; PopulateBaseClasses; PopulateUnits; end; Modified: trunk/Source/Design/InstantModelExplorer.pas =================================================================== --- trunk/Source/Design/InstantModelExplorer.pas 2009-08-19 20:25:12 UTC (rev 852) +++ trunk/Source/Design/InstantModelExplorer.pas 2009-08-19 20:54:06 UTC (rev 853) @@ -608,6 +608,7 @@ NewModel.AssignComponents(FModel); FModel.Free; FModel := NewModel; + InstantAttributeViewFrame.Model := FModel; except on E: Exception do begin |
From: <dav...@us...> - 2009-08-19 20:25:22
|
Revision: 852 http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=852&view=rev Author: davidvtaylor Date: 2009-08-19 20:25:12 +0000 (Wed, 19 Aug 2009) Log Message: ----------- Fix for update problem with the attribute view feature on Model Explorer - Added checks for null Subject to avoid AV when switching projects - Reworked and simplified attribute view refresh logic - Remove ExplictXXX properties for forms for older Delphi versions Modified Paths: -------------- trunk/Source/Design/InstantAttributeEditor.pas trunk/Source/Design/InstantAttributeView.pas trunk/Source/Design/InstantClassEditor.dfm trunk/Source/Design/InstantModelExplorer.dfm trunk/Source/Design/InstantModelExplorer.pas Modified: trunk/Source/Design/InstantAttributeEditor.pas =================================================================== --- trunk/Source/Design/InstantAttributeEditor.pas 2009-08-19 18:07:37 UTC (rev 851) +++ trunk/Source/Design/InstantAttributeEditor.pas 2009-08-19 20:25:12 UTC (rev 852) @@ -263,8 +263,11 @@ begin inherited; - LoadOptions; - LoadMethods; + if (assigned(Subject)) then + begin + LoadOptions; + LoadMethods; + end; end; procedure TInstantAttributeEditorForm.LoadEnums(TypeInfo: PTypeInfo; Modified: trunk/Source/Design/InstantAttributeView.pas =================================================================== --- trunk/Source/Design/InstantAttributeView.pas 2009-08-19 18:07:37 UTC (rev 851) +++ trunk/Source/Design/InstantAttributeView.pas 2009-08-19 20:25:12 UTC (rev 852) @@ -447,12 +447,14 @@ procedure TInstantAttributeViewFrame.PopulateInheritedAttributes; begin - LoadAttributeView(InheritedAttributesView, Subject.BaseClass, True); + if (assigned(Subject)) then + LoadAttributeView(InheritedAttributesView, Subject.BaseClass, True); end; procedure TInstantAttributeViewFrame.PopulateIntroducedAttributes; begin - LoadAttributeView(IntroducedAttributesView, Subject, False); + if (assigned(Subject)) then + LoadAttributeView(IntroducedAttributesView, Subject, False); end; procedure TInstantAttributeViewFrame.RestoreLayout; Modified: trunk/Source/Design/InstantClassEditor.dfm =================================================================== --- trunk/Source/Design/InstantClassEditor.dfm 2009-08-19 18:07:37 UTC (rev 851) +++ trunk/Source/Design/InstantClassEditor.dfm 2009-08-19 20:25:12 UTC (rev 852) @@ -6,15 +6,11 @@ ClientWidth = 400 OldCreateOrder = True OnCreate = FormCreate - ExplicitWidth = 408 - ExplicitHeight = 399 PixelsPerInch = 96 TextHeight = 13 inherited EditPanel: TPanel Width = 400 Height = 334 - ExplicitWidth = 400 - ExplicitHeight = 334 object PageControl: TPageControl Left = 4 Top = 4 @@ -131,21 +127,16 @@ Height = 290 Align = alClient TabOrder = 0 - ExplicitHeight = 290 inherited AttributesSplitter: TSplitter Top = 186 - ExplicitTop = 186 end inherited InheritedAttributesPanel: TPanel Top = 190 - ExplicitTop = 190 end inherited IntroducedAttributesPanel: TPanel Height = 186 - ExplicitHeight = 186 inherited IntroducedAttributesView: TListView Height = 170 - ExplicitHeight = 170 end end end @@ -155,16 +146,11 @@ inherited BottomPanel: TPanel Top = 334 Width = 400 - ExplicitTop = 334 - ExplicitWidth = 400 inherited ButtonPanel: TPanel Left = 240 - ExplicitLeft = 240 inherited OkButton: TButton Left = 1 Top = 6 - ExplicitLeft = 1 - ExplicitTop = 6 end end end Modified: trunk/Source/Design/InstantModelExplorer.dfm =================================================================== --- trunk/Source/Design/InstantModelExplorer.dfm 2009-08-19 18:07:37 UTC (rev 851) +++ trunk/Source/Design/InstantModelExplorer.dfm 2009-08-19 20:25:12 UTC (rev 852) @@ -127,44 +127,30 @@ Height = 218 Align = alClient TabOrder = 1 - ExplicitTop = 25 - ExplicitWidth = 410 - ExplicitHeight = 218 inherited AttributesSplitter: TSplitter Top = 114 Width = 410 - ExplicitTop = 114 - ExplicitWidth = 410 end inherited InheritedAttributesPanel: TPanel Top = 118 Width = 410 - ExplicitTop = 118 - ExplicitWidth = 410 inherited InheritedAttributesLabel: TLabel Width = 410 - ExplicitWidth = 410 end inherited InheritedAttributesView: TListView Width = 410 Font.Pitch = fpVariable - ExplicitWidth = 410 end end inherited IntroducedAttributesPanel: TPanel Width = 410 Height = 114 - ExplicitWidth = 410 - ExplicitHeight = 114 inherited IntroducedAttributesLabel: TLabel Width = 410 - ExplicitWidth = 410 end inherited IntroducedAttributesView: TListView Width = 410 Height = 98 - ExplicitWidth = 410 - ExplicitHeight = 98 end end inherited Actions: TActionList Modified: trunk/Source/Design/InstantModelExplorer.pas =================================================================== --- trunk/Source/Design/InstantModelExplorer.pas 2009-08-19 18:07:37 UTC (rev 851) +++ trunk/Source/Design/InstantModelExplorer.pas 2009-08-19 20:25:12 UTC (rev 852) @@ -168,7 +168,6 @@ FOnApplyClass: TInstantCodeClassApplyEvent; FOnGotoSource: TInstantGotoSourceEvent; FOnLoadModel: TInstantCodeModelEvent; - FViewUpdateDisableCount: Integer; function GetFocusedClass: TInstantCodeClass; function GetSelectedNode: TTreeNode; procedure SetError(E: Exception); @@ -185,14 +184,12 @@ function ClassFromNode(Node: TTreeNode): TInstantCodeClass; procedure DoApplyClass(AClass: TInstantCodeClass; ChangeInfo: TInstantCodeClassChangeInfo); - procedure DisableViewUpdate; - procedure EnableViewUpdate; - function ViewUpdateEnabled: boolean; function EditClass(AClass: TInstantCodeClass; New: Boolean): Boolean; procedure GotoNodeSource(Node: TTreeNode); procedure GotoSource(const FileName: string; Pos: TInstantCodePos); procedure LoadModel; procedure UpdateActions; override; + procedure RefreshAttributeView; property SelectedNode: TTreeNode read GetSelectedNode; public constructor Create(AOwner: TComponent); override; @@ -397,22 +394,6 @@ FOnApplyClass(Self, AClass, ChangeInfo); end; -procedure TInstantModelExplorerForm.DisableViewUpdate; - begin - inc(FViewUpdateDisableCount); - end; - -procedure TInstantModelExplorerForm.EnableViewUpdate; - begin - if (FViewUpdateDisableCount > 0) then - dec(FViewUpdateDisableCount); - end; - -function TInstantModelExplorerForm.ViewUpdateEnabled: boolean; - begin - Result := (FViewUpdateDisableCount = 0); - end; - function TInstantModelExplorerForm.EditClass(AClass: TInstantCodeClass; New: Boolean): Boolean; const @@ -640,8 +621,7 @@ Node: TTreeNode); begin FSelectedNode := nil; - if (ViewUpdateEnabled) then - ViewClassAttributes(FocusedClass); + RefreshAttributeView; end; procedure TInstantModelExplorerForm.ModelViewGetImageIndex(Sender: TObject; @@ -738,6 +718,7 @@ AttributePanel.Visible := Visible; AttributeSplitter.Visible := Visible; ViewAttributeButton.Down := Visible; + RefreshAttributeView; end; procedure TInstantModelExplorerForm.SetError(E: Exception); @@ -791,6 +772,12 @@ CollapseAllAction.Enabled := AtClass; end; +procedure TInstantModelExplorerForm.RefreshAttributeView; + begin + if (AttributePanel.Visible) then + ViewClassAttributes(FocusedClass); + end; + procedure TInstantModelExplorerForm.UpdateModel; function FindClassNode(Parent: TTreeNode; @@ -901,49 +888,44 @@ //FAttributeFrame.Clear; InstantAttributeViewFrame.Clear; - DisableViewUpdate; - + Level := 0; + FSelectedNode := nil; + ModelView.Items.BeginUpdate; try - Level := 0; - FSelectedNode := nil; - ModelView.Items.BeginUpdate; - try - if Assigned(FError) then - begin - ModelView.Items.Clear; - {$IFDEF MSWINDOWS} - ModelView.ShowRoot := False; - {$ENDIF} - ModelView.Items.AddObject(nil, FError.Text, FError) - end else - begin - Nodes := TList.Create; - try - {$IFDEF MSWINDOWS} - ModelView.ShowRoot := True; - {$ENDIF} - for I := 0 to Pred(Model.ClassCount) do - begin - AClass := Model.Classes[I]; - if (Style = msRelations) or not Assigned(AClass.BaseClass) then - Nodes.Add(AddClass(nil, AClass, '', Level)); - end; - ModelView.AlphaSort; - RemoveInvalidNodes(nil, Nodes); - FirstNode := ModelView.Items.GetFirstNode; - if Assigned(FirstNode) and (FirstNode.GetNextSibling = nil) then - FirstNode.Expand(False); - finally - Nodes.Free; + if Assigned(FError) then + begin + ModelView.Items.Clear; +{$IFDEF MSWINDOWS} + ModelView.ShowRoot := False; +{$ENDIF} + ModelView.Items.AddObject(nil, FError.Text, FError) + end else + begin + Nodes := TList.Create; + try +{$IFDEF MSWINDOWS} + ModelView.ShowRoot := True; +{$ENDIF} + for I := 0 to Pred(Model.ClassCount) do + begin + AClass := Model.Classes[I]; + if (Style = msRelations) or not Assigned(AClass.BaseClass) then + Nodes.Add(AddClass(nil, AClass, '', Level)); end; + ModelView.AlphaSort; + RemoveInvalidNodes(nil, Nodes); + FirstNode := ModelView.Items.GetFirstNode; + if Assigned(FirstNode) and (FirstNode.GetNextSibling = nil) then + FirstNode.Expand(False); + finally + Nodes.Free; end; - finally; - ModelView.Items.EndUpdate; - ModelView.Repaint; end; - finally - EnableViewUpdate; + finally; + ModelView.Items.EndUpdate; + ModelView.Repaint; end; + RefreshAttributeView; end; procedure TInstantModelExplorerForm.ViewInheritanceActionExecute( |
From: <wp...@us...> - 2009-08-19 18:07:45
|
Revision: 851 http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=851&view=rev Author: wp2udk Date: 2009-08-19 18:07:37 +0000 (Wed, 19 Aug 2009) Log Message: ----------- Enhancements to the ModelExplorer and the introduction of the TInstantAttributeViewFrame as published in the Newsgroup Repository 11-10-2007 (ddmmyyy) didn't allow the user to create new attributes and there was too much copy/paste in the code. The TInstantClassEditorForm and TInstantModelExplorerForm is rewritten to use the TInstantAttributeViewFrame. It now shared the exact same code. Modified Paths: -------------- trunk/Source/Design/InstantAttributeView.pas trunk/Source/Design/InstantClassEditor.dfm trunk/Source/Design/InstantClassEditor.pas trunk/Source/Design/InstantModelExplorer.dfm trunk/Source/Design/InstantModelExplorer.pas Modified: trunk/Source/Design/InstantAttributeView.pas =================================================================== --- trunk/Source/Design/InstantAttributeView.pas 2009-08-19 16:06:24 UTC (rev 850) +++ trunk/Source/Design/InstantAttributeView.pas 2009-08-19 18:07:37 UTC (rev 851) @@ -25,7 +25,7 @@ * * Contributor(s): * David Moorhouse, Carlo Barazzetta, Adrea Petrelli, Steven Mitchell, - * Nando Dessena, David Taylor + * Nando Dessena, David Taylor, Brian Andersen * * ***** END LICENSE BLOCK ***** *) @@ -88,6 +88,8 @@ FNewAttributes: TList; FModel: TInstantCodeModel; FNameAttribute: TInstantCodeAttribute; + FWasAccepted: Boolean; + FOldSubjectName: string; procedure DeleteAttribute(Attribute: TInstantCodeAttribute); procedure FitColumns(View: TListView); function GetNameAttribute: TInstantCodeAttribute; @@ -97,26 +99,30 @@ procedure SetSubject(const Value: TInstantCodeClass); function GetFocusedAttribute: TInstantCodeAttribute; protected + property FocusedAttribute: TInstantCodeAttribute read GetFocusedAttribute; + property NameAttribute: TInstantCodeAttribute read GetNameAttribute; function AddAttributeToView(View: TListView; Attribute: TInstantCodeAttribute): TListItem; function EditAttribute(Attribute: TInstantCodeAttribute; Exists: Boolean; const Title: string = ''): Boolean; - procedure PopulateInheritedAttributes; - procedure PopulateIntroducedAttributes; - property NameAttribute: TInstantCodeAttribute read GetNameAttribute; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; procedure Clear; + procedure PopulateInheritedAttributes; + procedure PopulateIntroducedAttributes; procedure RestoreAttributes; - procedure UpdateActions; + procedure UpdateActions; procedure RestoreLayout; procedure StoreLayout; + property BackupAttributes: TObjectList read FBackupAttributes; property ChangedAttributes: TStringList read FChangedAttributes; - property FocusedAttribute: TInstantCodeAttribute read GetFocusedAttribute; property Model: TInstantCodeModel read FModel write SetModel; property NewAttributes: TList read FNewAttributes; property Subject: TInstantCodeClass read FSubject write SetSubject; + + property WasAccepted: Boolean read FWasAccepted; + property OldSubjectName: string read FOldSubjectName; end; implementation @@ -169,12 +175,18 @@ var Attribute: TInstantCodeAttribute; begin + FWasAccepted := False; + FOldSubjectName := Subject.Name; + with IntroducedAttributesView do if Assigned(ItemFocused) then begin Attribute := ItemFocused.Data; if not Confirm(Format(SConfirmDeleteAttribute, [Attribute.Name])) then Exit; + + FWasAccepted := True; + DeleteAttribute(Attribute); ItemFocused.Delete; if Assigned(ItemFocused) then @@ -183,13 +195,15 @@ end; end; -procedure TInstantAttributeViewFrame.AttributeEditActionExecute( - Sender: TObject); +procedure TInstantAttributeViewFrame.AttributeEditActionExecute(Sender: TObject); var OldName: string; Attribute: TInstantCodeAttribute; Exists: Boolean; begin + FWasAccepted := False; + FOldSubjectName := Subject.Name; + Attribute := FocusedAttribute; if not Assigned(Attribute) then Exit; @@ -199,6 +213,8 @@ Attribute.DetectMethodTypes; if EditAttribute(Attribute, Exists) then begin + FWasAccepted := True; + if Exists and (FChangedAttributes.IndexOfObject(Attribute) = -1) then FChangedAttributes.AddObject(OldName, Attribute); PopulateIntroducedAttributes; @@ -210,10 +226,15 @@ Attribute: TInstantCodeAttribute; NewItem: TListItem; begin + FWasAccepted := False; + FOldSubjectName := Subject.Name; + Attribute := Subject.AddAttribute; if not EditAttribute(Attribute, False, 'New Attribute') then Attribute.Free else begin + FWasAccepted := True; + FNewAttributes.Add(Attribute); with IntroducedAttributesView do begin @@ -239,6 +260,8 @@ begin InheritedAttributesView.Clear; IntroducedAttributesView.Clear; + FChangedAttributes.Clear; + FNewAttributes.Clear; end; constructor TInstantAttributeViewFrame.Create(AOwner: TComponent); Modified: trunk/Source/Design/InstantClassEditor.dfm =================================================================== --- trunk/Source/Design/InstantClassEditor.dfm 2009-08-19 16:06:24 UTC (rev 850) +++ trunk/Source/Design/InstantClassEditor.dfm 2009-08-19 18:07:37 UTC (rev 851) @@ -1,21 +1,25 @@ inherited InstantClassEditorForm: TInstantClassEditorForm Left = 319 Top = 196 - Width = 408 - Height = 399 Caption = 'Class Editor' + ClientHeight = 365 + ClientWidth = 400 OldCreateOrder = True OnCreate = FormCreate + ExplicitWidth = 408 + ExplicitHeight = 399 PixelsPerInch = 96 TextHeight = 13 inherited EditPanel: TPanel Width = 400 - Height = 341 + Height = 334 + ExplicitWidth = 400 + ExplicitHeight = 334 object PageControl: TPageControl Left = 4 Top = 4 Width = 392 - Height = 333 + Height = 326 ActivePage = ClassSheet Align = alClient TabOrder = 0 @@ -120,108 +124,48 @@ BorderWidth = 4 Caption = 'Attributes' ImageIndex = 1 - object AttributesSplitter: TSplitter + inline InstantAttributeViewFrame: TInstantAttributeViewFrame Left = 0 - Top = 165 - Width = 376 - Height = 3 - Cursor = crVSplit - Align = alBottom - end - object InheritedAttributesPanel: TPanel - Left = 0 - Top = 168 - Width = 376 - Height = 129 - Align = alBottom - BevelOuter = bvNone - TabOrder = 1 - object InheritedAttributesLabel: TLabel - Left = 0 - Top = 0 - Width = 376 - Height = 16 - Align = alTop - AutoSize = False - Caption = 'Inherited' - end - object InheritedAttributesView: TListView - Left = 0 - Top = 16 - Width = 376 - Height = 113 - Align = alClient - Columns = < - item - Caption = 'Name' - Width = 124 - end - item - Caption = 'Type' - Width = 124 - end - item - Caption = 'Storage Name' - Width = 124 - end> - ReadOnly = True - TabOrder = 0 - ViewStyle = vsReport - OnEdited = IntroducedAttributesViewEdited - end - end - object IntroducedAttributesPanel: TPanel - Left = 0 Top = 0 Width = 376 - Height = 165 + Height = 290 Align = alClient - BevelOuter = bvNone TabOrder = 0 - object IntroducedAttributesLabel: TLabel - Left = 0 - Top = 0 - Width = 376 - Height = 16 - Align = alTop - AutoSize = False - Caption = 'Introduced' + ExplicitHeight = 290 + inherited AttributesSplitter: TSplitter + Top = 186 + ExplicitTop = 186 end - object IntroducedAttributesView: TListView - Left = 0 - Top = 16 - Width = 376 - Height = 149 - Align = alClient - Columns = < - item - Caption = 'Name' - Width = 124 - end - item - Caption = 'Type' - Width = 124 - end - item - Caption = 'Storage Name' - Width = 124 - end> - ReadOnly = True - PopupMenu = AttributesMenu - TabOrder = 0 - ViewStyle = vsReport - OnDblClick = IntroducedAttributesViewDblClick - OnEdited = IntroducedAttributesViewEdited + inherited InheritedAttributesPanel: TPanel + Top = 190 + ExplicitTop = 190 end + inherited IntroducedAttributesPanel: TPanel + Height = 186 + ExplicitHeight = 186 + inherited IntroducedAttributesView: TListView + Height = 170 + ExplicitHeight = 170 + end + end end end end end inherited BottomPanel: TPanel - Top = 341 + Top = 334 Width = 400 + ExplicitTop = 334 + ExplicitWidth = 400 inherited ButtonPanel: TPanel Left = 240 + ExplicitLeft = 240 + inherited OkButton: TButton + Left = 1 + Top = 6 + ExplicitLeft = 1 + ExplicitTop = 6 + end end end inherited SubjectExposer: TInstantExposer @@ -232,57 +176,4 @@ inherited SubjectSource: TDataSource Top = 268 end - object AttributeImages: TImageList - Left = 68 - Top = 268 - end - object StateImages: TImageList - Left = 100 - Top = 268 - end - object AttributesMenu: TPopupMenu - Images = ActionImages - OnPopup = AttributesMenuPopup - Left = 164 - Top = 268 - object AttributeNewItem: TMenuItem - Action = AttributeNewAction - ShortCut = 45 - end - object AttributeDeleteItem: TMenuItem - Action = AttributeDeleteAction - ShortCut = 46 - end - object AttributeEditItem: TMenuItem - Action = AttributeEditAction - ShortCut = 32781 - end - end - object Actions: TActionList - Images = ActionImages - Left = 196 - Top = 268 - object AttributeNewAction: TAction - Caption = '&New' - Hint = 'New Attribute' - ImageIndex = 0 - OnExecute = AttributeNewActionExecute - end - object AttributeDeleteAction: TAction - Caption = '&Delete' - Hint = 'Delete' - ImageIndex = 1 - OnExecute = AttributeDeleteActionExecute - end - object AttributeEditAction: TAction - Caption = '&Edit' - Hint = 'Edit' - ImageIndex = 2 - OnExecute = AttributeEditActionExecute - end - end - object ActionImages: TImageList - Left = 132 - Top = 268 - end end Modified: trunk/Source/Design/InstantClassEditor.pas =================================================================== --- trunk/Source/Design/InstantClassEditor.pas 2009-08-19 16:06:24 UTC (rev 850) +++ trunk/Source/Design/InstantClassEditor.pas 2009-08-19 18:07:37 UTC (rev 851) @@ -24,7 +24,8 @@ * the Initial Developer. All Rights Reserved. * * Contributor(s): - * Carlo Barazzetta, Adrea Petrelli, Steven Mitchell, Nando Dessena + * Carlo Barazzetta, Adrea Petrelli, Steven Mitchell, Nando Dessena, + * Brian Andersen * * ***** END LICENSE BLOCK ***** *) @@ -44,7 +45,7 @@ {$IFDEF MSWINDOWS} Windows, Messages, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, ExtCtrls, Mask, DBCtrls, - ImgList, ActnList, Menus; + ImgList, ActnList, Menus, InstantAttributeView; {$ENDIF} {$IFDEF LINUX} QActnList, QMenus, QTypes, QImgList, QComCtrls, QControls, QExtCtrls, @@ -53,17 +54,6 @@ type TInstantClassEditorForm = class(TInstantEditForm) - AttributeImages: TImageList; - StateImages: TImageList; - AttributesMenu: TPopupMenu; - Actions: TActionList; - ActionImages: TImageList; - AttributeNewAction: TAction; - AttributeDeleteAction: TAction; - AttributeNewItem: TMenuItem; - AttributeDeleteItem: TMenuItem; - AttributeEditAction: TAction; - AttributeEditItem: TMenuItem; PageControl: TPageControl; ClassSheet: TTabSheet; ClassNameLabel: TLabel; @@ -74,23 +64,11 @@ UnitEdit: TDBComboBox; StorageEdit: TDBEdit; AttributeSheet: TTabSheet; - AttributesSplitter: TSplitter; - InheritedAttributesPanel: TPanel; - InheritedAttributesLabel: TLabel; - InheritedAttributesView: TListView; - IntroducedAttributesPanel: TPanel; - IntroducedAttributesView: TListView; - IntroducedAttributesLabel: TLabel; StorageLabel: TLabel; PersistenceComboBox: TDBComboBox; PersistenceLabel: TLabel; - procedure AttributeNewActionExecute(Sender: TObject); - procedure AttributeDeleteActionExecute(Sender: TObject); - procedure AttributeEditActionExecute(Sender: TObject); + InstantAttributeViewFrame: TInstantAttributeViewFrame; procedure FormCreate(Sender: TObject); - procedure IntroducedAttributesViewDblClick(Sender: TObject); - procedure IntroducedAttributesViewEdited(Sender: TObject; Item: TListItem; - var S: String); procedure ClassNameEditChange(Sender: TObject); procedure SubjectExposerAfterPostField(Sender: TObject; Field: TField); procedure PersistenceComboBoxChange(Sender: TObject); @@ -98,47 +76,32 @@ var Value: Variant; Write: Boolean); procedure OkButtonClick(Sender: TObject); procedure CancelButtonClick(Sender: TObject); - procedure AttributesMenuPopup(Sender: TObject); procedure ClassSheetResize(Sender: TObject); private - FBackupAttributes: TObjectList; - FChangedAttributes: TStringList; - FNewAttributes: TList; FModel: TInstantCodeModel; - FNameAttribute: TInstantCodeAttribute; FTitle: string; FIsNew: Boolean; - procedure DeleteAttribute(Attribute: TInstantCodeAttribute); - procedure FitColumns(View: TListView); - function GetNameAttribute: TInstantCodeAttribute; function GetSubject: TInstantCodeClass; - procedure LoadAttributeView(View: TListView; AClass: TInstantCodeClass; - Recursive: Boolean); procedure SetModel(const Value: TInstantCodeModel); procedure SetSubject(const Value: TInstantCodeClass); - function GetFocusedAttribute: TInstantCodeAttribute; procedure SetIsNew(const Value: Boolean); + function GetChangedAttributes: TStringList; + function GetNewAttributes: TList; protected - function AddAttributeToView(View: TListView; - Attribute: TInstantCodeAttribute): TListItem; function EditAttribute(Attribute: TInstantCodeAttribute; Exists: Boolean; const Title: string = ''): Boolean; - procedure PopulateInheritedAttributes; - procedure PopulateIntroducedAttributes; procedure PopulateBaseClasses; procedure PopulateUnits; procedure UpdateActions; override; procedure UpdateCaption; procedure UpdateControls; - property NameAttribute: TInstantCodeAttribute read GetNameAttribute; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; - property ChangedAttributes: TStringList read FChangedAttributes; - property FocusedAttribute: TInstantCodeAttribute read GetFocusedAttribute; + property ChangedAttributes: TStringList read GetChangedAttributes; property IsNew: Boolean read FIsNew write SetIsNew; property Model: TInstantCodeModel read FModel write SetModel; - property NewAttributes: TList read FNewAttributes; + property NewAttributes: TList read GetNewAttributes; property Subject: TInstantCodeClass read GetSubject write SetSubject; end; @@ -155,112 +118,10 @@ { TInstantClassDesigner } -function TInstantClassEditorForm.AddAttributeToView( - View: TListView; Attribute: TInstantCodeAttribute): TListItem; -begin - Result := View.Items.Add; - with Result do - begin - with Attribute do - if (HostClass = Subject) or not Assigned(HostClass) then - Caption := Name else - Caption := HostClass.Name + '.' + Name; - Data := Attribute; - //Add Attribute Type - SubItems.Add(Attribute.AttributeTypeText); - //Add StorageName or ExternalStorageName - if Attribute.CanBeExternal and not Attribute.CanHaveStorageName then - SubItems.Add(Attribute.ExternalStorageName) - else - SubItems.Add(Attribute.StorageName); - case Attribute.AttributeType of - atReference: ImageIndex := 1; - atPart: ImageIndex := 2; - atReferences: ImageIndex := 3; - atParts: ImageIndex := 4; - else - ImageIndex := 0; - end; - if Attribute.HostClass <> Subject then - ImageIndex := ImageIndex + 5; - end; - FitColumns(View); -end; - -procedure TInstantClassEditorForm.AttributeDeleteActionExecute(Sender: TObject); -var - Attribute: TInstantCodeAttribute; -begin - with IntroducedAttributesView do - if Assigned(ItemFocused) then - begin - Attribute := ItemFocused.Data; - if not Confirm(Format(SConfirmDeleteAttribute, [Attribute.Name])) then - Exit; - DeleteAttribute(Attribute); - ItemFocused.Delete; - if Assigned(ItemFocused) then - ItemFocused.Selected := True; - FitColumns(IntroducedAttributesView); - end; -end; - -procedure TInstantClassEditorForm.AttributeEditActionExecute(Sender: TObject); -var - OldName: string; - Attribute: TInstantCodeAttribute; - Exists: Boolean; -begin - Attribute := FocusedAttribute; - if not Assigned(Attribute) then - Exit; - OldName := Attribute.Name; - Exists := FNewAttributes.IndexOf(Attribute) = -1; - if Exists then - Attribute.DetectMethodTypes; - if EditAttribute(Attribute, Exists) then - begin - if Exists and (FChangedAttributes.IndexOfObject(Attribute) = -1) then - FChangedAttributes.AddObject(OldName, Attribute); - PopulateIntroducedAttributes; - end; -end; - -procedure TInstantClassEditorForm.AttributeNewActionExecute( - Sender: TObject); -var - Attribute: TInstantCodeAttribute; - NewItem: TListItem; -begin - Attribute := Subject.AddAttribute; - if not EditAttribute(Attribute, False, 'New Attribute') then - Attribute.Free - else begin - FNewAttributes.Add(Attribute); - with IntroducedAttributesView do - begin - Items.BeginUpdate; - try - NewItem := AddAttributeToView(IntroducedAttributesView, Attribute); - NewItem.Focused := True; - Selected := NewItem; - finally - Items.EndUpdate; - end; - NewItem.MakeVisible{$IFDEF MSWINDOWS}(False){$ENDIF}; - end; - end; -end; - -procedure TInstantClassEditorForm.AttributesMenuPopup(Sender: TObject); -begin - UpdateActions; -end; - procedure TInstantClassEditorForm.CancelButtonClick(Sender: TObject); begin inherited; - Subject.AssignAttributes(FBackupAttributes); + Subject.AssignAttributes(InstantAttributeViewFrame.BackupAttributes); end; procedure TInstantClassEditorForm.ClassNameEditChange(Sender: TObject); @@ -274,30 +135,11 @@ constructor TInstantClassEditorForm.Create(AOwner: TComponent); begin inherited; - FBackupAttributes := TObjectList.Create; - FChangedAttributes := TStringList.Create; - FNewAttributes := TList.Create; + InstantAttributeViewFrame.Subject := Subject; end; -procedure TInstantClassEditorForm.DeleteAttribute( - Attribute: TInstantCodeAttribute); -var - Index: Integer; -begin - Index := FChangedAttributes.IndexOfObject(Attribute); - if Index <> -1 then - FChangedAttributes.Delete(Index); - FNewAttributes.Remove(Attribute); - Attribute.Delete; - Attribute.Free; -end; - destructor TInstantClassEditorForm.Destroy; begin - FNewAttributes.Free; - FChangedAttributes.Free; - FBackupAttributes.Free; - FNameAttribute.Free; inherited; end; @@ -331,125 +173,21 @@ end; end; -procedure TInstantClassEditorForm.FitColumns(View: TListView); -var - i : integer; +function TInstantClassEditorForm.GetChangedAttributes: TStringList; begin - //adjust Columns size to window width - for i := View.Columns.Count-1 downto 0 do - begin -{$IFDEF MSWINDOWS} - View.Columns[i].AutoSize := True; -{$ENDIF} -{$IFDEF LINUX} - View.Columns[i].Width := View.Width div View.Columns.Count; -{$ENDIF} - end; + Result := InstantAttributeViewFrame.ChangedAttributes; end; -function TInstantClassEditorForm.GetFocusedAttribute: TInstantCodeAttribute; +function TInstantClassEditorForm.GetNewAttributes: TList; begin - with IntroducedAttributesView do - if Assigned(ItemFocused) then - Result := ItemFocused.Data - else - Result := nil; + Result := InstantAttributeViewFrame.NewAttributes; end; -function TInstantClassEditorForm.GetNameAttribute: TInstantCodeAttribute; -begin - if not Assigned(FNameAttribute) and - Subject.DerivesFrom(TInstantObject.ClassName) then - begin - FNameAttribute := TInstantCodeAttribute.Create(nil); - FNameAttribute.Name := TInstantObject.ClassName + '.' + - InstantIdFieldName; - FNameAttribute.AttributeTypeName := 'String'; - end; - Result := FNameAttribute; -end; - function TInstantClassEditorForm.GetSubject: TInstantCodeClass; begin Result := inherited Subject as TInstantCodeClass; end; -procedure TInstantClassEditorForm.IntroducedAttributesViewDblClick( - Sender: TObject); -begin - AttributeEditAction.Execute; -end; - -procedure TInstantClassEditorForm.IntroducedAttributesViewEdited( - Sender: TObject; Item: TListItem; var S: String); -var - Attribute: TInstantCodeAttribute; -begin - Attribute := TInstantCodeAttribute(Item.Data); - if Assigned(Attribute) then - begin - Attribute.Name := S; - S := Attribute.Name; - end; -end; - -procedure TInstantClassEditorForm.LoadAttributeView(View: TListView; - AClass: TInstantCodeClass; Recursive: Boolean); -var - FocusedData: Pointer; - - procedure LoadClass(AClass: TInstantCodeClass); - var - I: Integer; - NewItem: TListItem; - FocusItem: TListItem; - begin - FocusItem := nil; - if Assigned(AClass) then - with AClass do - begin - for I := 0 to Pred(AttributeCount) do - begin - NewItem := AddAttributeToView(View, Attributes[I]); - if NewItem.Data = FocusedData then - FocusItem := NewItem; - end; - if Recursive then - LoadClass(BaseClass) - else begin - if not Assigned(FocusedData) and (View.Items.Count > 0) then - FocusItem := View.Items[0]; - if Assigned(FocusItem) then - begin - FocusItem.Focused := True; - View.Selected := FocusItem; - end; - end; - end; - end; - -begin - with View do - begin - if Assigned(ItemFocused) then - FocusedData := ItemFocused.Data else - FocusedData := nil; - with Items do - begin - BeginUpdate; - try - Clear; - if Recursive and Assigned(NameAttribute) then - AddAttributeToView(View, NameAttribute); - LoadClass(AClass); - finally - EndUpdate; - FitColumns(View); - end; - end; - end; -end; - procedure TInstantClassEditorForm.OkButtonClick(Sender: TObject); var I: Integer; @@ -511,16 +249,6 @@ end; end; -procedure TInstantClassEditorForm.PopulateInheritedAttributes; -begin - LoadAttributeView(InheritedAttributesView, Subject.BaseClass, True); -end; - -procedure TInstantClassEditorForm.PopulateIntroducedAttributes; -begin - LoadAttributeView(IntroducedAttributesView, Subject, False); -end; - procedure TInstantClassEditorForm.PopulateUnits; var I: Integer; @@ -563,12 +291,12 @@ if Value <> Subject then begin inherited Subject := Value; - Subject.CloneAttributes(FBackupAttributes); + InstantAttributeViewFrame.Subject := Subject; +// Subject.CloneAttributes(FBackupAttributes); + Subject.CloneAttributes(InstantAttributeViewFrame.BackupAttributes); with PersistenceComboBox do ItemIndex := SubjectExposer.GetFieldStrings(Field, Items); PopulateBaseClasses; - PopulateIntroducedAttributes; - PopulateInheritedAttributes; UpdateCaption; UpdateControls; end; @@ -579,8 +307,8 @@ begin if Field.FieldName = 'BaseClassName' then begin - FreeAndNil(FNameAttribute); - PopulateInheritedAttributes; +// FreeAndNil(FNameAttribute); + InstantAttributeViewFrame.PopulateInheritedAttributes; end; end; @@ -600,13 +328,8 @@ end; procedure TInstantClassEditorForm.UpdateActions; -var - Attribute: TInstantCodeAttribute; begin inherited; - Attribute := FocusedAttribute; - AttributeEditAction.Enabled := Assigned(Attribute); - AttributeDeleteAction.Enabled := Assigned(Attribute); end; procedure TInstantClassEditorForm.UpdateCaption; @@ -630,19 +353,6 @@ procedure TInstantClassEditorForm.FormCreate(Sender: TObject); begin - LoadMultipleImages(AttributeImages, 'IO_CLASSEDITORATTRIBUTEIMAGES', HInstance); - LoadMultipleImages(StateImages, 'IO_CLASSEDITORSTATEIMAGES', HInstance); - LoadMultipleImages(ActionImages, 'IO_CLASSEDITORACTIONIMAGES', HInstance); -{$IFDEF MSWINDOWS} - BorderStyle := bsSizeable; - IntroducedAttributesView.SmallImages := AttributeImages; - InheritedAttributesView.SmallImages := AttributeImages; -{$ENDIF} -{$IFDEF LINUX} - BorderStyle := fbsSizeable; - IntroducedAttributesView.Images := AttributeImages; - InheritedAttributesView.Images := AttributeImages; -{$ENDIF} FTitle := Caption; PageControl.ActivePage := ClassSheet; ActiveControl := ClassNameEdit; Modified: trunk/Source/Design/InstantModelExplorer.dfm =================================================================== --- trunk/Source/Design/InstantModelExplorer.dfm 2009-08-19 16:06:24 UTC (rev 850) +++ trunk/Source/Design/InstantModelExplorer.dfm 2009-08-19 18:07:37 UTC (rev 851) @@ -30,9 +30,9 @@ end object ModelPanel: TPanel Left = 0 - Top = 27 + Top = 29 Width = 410 - Height = 228 + Height = 226 Align = alClient BevelOuter = bvNone Constraints.MinHeight = 20 @@ -45,7 +45,6 @@ Height = 29 BorderWidth = 1 ButtonHeight = 23 - Flat = True Images = ActionImages ParentShowHint = False ShowHint = True @@ -121,6 +120,65 @@ ParentFont = False end end + inline InstantAttributeViewFrame: TInstantAttributeViewFrame + Left = 0 + Top = 25 + Width = 410 + Height = 218 + Align = alClient + TabOrder = 1 + ExplicitTop = 25 + ExplicitWidth = 410 + ExplicitHeight = 218 + inherited AttributesSplitter: TSplitter + Top = 114 + Width = 410 + ExplicitTop = 114 + ExplicitWidth = 410 + end + inherited InheritedAttributesPanel: TPanel + Top = 118 + Width = 410 + ExplicitTop = 118 + ExplicitWidth = 410 + inherited InheritedAttributesLabel: TLabel + Width = 410 + ExplicitWidth = 410 + end + inherited InheritedAttributesView: TListView + Width = 410 + Font.Pitch = fpVariable + ExplicitWidth = 410 + end + end + inherited IntroducedAttributesPanel: TPanel + Width = 410 + Height = 114 + ExplicitWidth = 410 + ExplicitHeight = 114 + inherited IntroducedAttributesLabel: TLabel + Width = 410 + ExplicitWidth = 410 + end + inherited IntroducedAttributesView: TListView + Width = 410 + Height = 98 + ExplicitWidth = 410 + ExplicitHeight = 98 + end + end + inherited Actions: TActionList + inherited AttributeNewAction: TAction + OnExecute = InstantAttributeViewFrameAttributeNewActionExecute + end + inherited AttributeDeleteAction: TAction + OnExecute = InstantAttributeViewFrameAttributeDeleteActionExecute + end + inherited AttributeEditAction: TAction + OnExecute = InstantAttributeViewFrameAttributeEditActionExecute + end + end + end end object ModelImages: TImageList Left = 104 Modified: trunk/Source/Design/InstantModelExplorer.pas =================================================================== --- trunk/Source/Design/InstantModelExplorer.pas 2009-08-19 16:06:24 UTC (rev 850) +++ trunk/Source/Design/InstantModelExplorer.pas 2009-08-19 18:07:37 UTC (rev 851) @@ -131,6 +131,7 @@ ViewAttributeButton: TToolButton; ViewAttributesAction: TAction; ViewAttributes: TMenuItem; + InstantAttributeViewFrame: TInstantAttributeViewFrame; procedure AboutActionExecute(Sender: TObject); procedure BuildDatabaseActionExecute(Sender: TObject); procedure CollapseAllActionExecute(Sender: TObject); @@ -151,11 +152,17 @@ procedure ViewRelationsActionExecute(Sender: TObject); procedure ViewSourceActionExecute(Sender: TObject); procedure ImportModelActionExecute(Sender: TObject); + procedure InstantAttributeViewFrameAttributeNewActionExecute( + Sender: TObject); + procedure InstantAttributeViewFrameAttributeDeleteActionExecute( + Sender: TObject); + procedure InstantAttributeViewFrameAttributeEditActionExecute( + Sender: TObject); private FError: TInstantModelError; FModel: TInstantCodeModel; FModelView: TModelTreeView; - FAttributeFrame: TInstantAttributeViewFrame; +// FAttributeFrame: TInstantAttributeViewFrame; FSelectedNode: TTreeNode; FStyle: TInstantModelStyle; FOnApplyClass: TInstantCodeClassApplyEvent; @@ -174,6 +181,7 @@ procedure ApplyClass(AClass: TInstantCodeClass; ChangeType: TInstantCodeChangeType; OldName: string = ''; ChangedAttributes: TStringList = nil; NewAttributes: TList = nil); + procedure ApplyClassFromView(AView: TInstantAttributeViewFrame); function ClassFromNode(Node: TTreeNode): TInstantCodeClass; procedure DoApplyClass(AClass: TInstantCodeClass; ChangeInfo: TInstantCodeClassChangeInfo); @@ -272,6 +280,15 @@ end; end; +procedure TInstantModelExplorerForm.ApplyClassFromView( + AView: TInstantAttributeViewFrame); +begin + if InstantAttributeViewFrame.WasAccepted then + ApplyClass(FocusedClass, ctEdit, InstantAttributeViewFrame.OldSubjectName, + InstantAttributeViewFrame.ChangedAttributes, + InstantAttributeViewFrame.NewAttributes); +end; + procedure TInstantModelExplorerForm.BuildDatabaseActionExecute( Sender: TObject); begin @@ -332,12 +349,12 @@ OnGetImageIndex := ModelViewGetImageIndex; end; - FAttributeFrame := TInstantAttributeViewFrame.Create(Self); - with FAttributeFrame do - begin - Parent := AttributePanel; - Align := alClient; - end; +// FAttributeFrame := TInstantAttributeViewFrame.Create(Self); +// with FAttributeFrame do +// begin +// Parent := AttributePanel; +// Align := alClient; +// end; FModel := TInstantCodeModel.Create; DesignModel := @FModel; @@ -402,20 +419,23 @@ ChangeTypes: array[Boolean] of TInstantCodeChangeType = (ctEdit, ctNew); var OldName: string; + EditorForm: TInstantClassEditorForm; begin OldName := AClass.Name; - with TInstantClassEditorForm.Create(nil) do + EditorForm := TInstantClassEditorForm.Create(nil); try - IsNew := New; - Model := Self.Model; - Subject := AClass; - Result := ShowModal = mrOk; + EditorForm.IsNew := New; + EditorForm.Model := Self.Model; + EditorForm.Subject := AClass; + Result := EditorForm.ShowModal = mrOk; if Result then ApplyClass(AClass, ChangeTypes[New], OldName, - FAttributeFrame.ChangedAttributes, - FAttributeFrame.NewAttributes); +// FAttributeFrame.ChangedAttributes, +// FAttributeFrame.NewAttributes); + EditorForm.ChangedAttributes, + EditorForm.NewAttributes); finally - Free; + EditorForm.Free; end; end; @@ -519,6 +539,31 @@ Refresh; end; +procedure TInstantModelExplorerForm.InstantAttributeViewFrameAttributeDeleteActionExecute( + Sender: TObject); +begin + InstantAttributeViewFrame.AttributeDeleteActionExecute(Sender); + ApplyClassFromView(InstantAttributeViewFrame); +end; + +procedure TInstantModelExplorerForm.InstantAttributeViewFrameAttributeEditActionExecute( + Sender: TObject); +begin + InstantAttributeViewFrame.AttributeEditActionExecute(Sender); + ApplyClassFromView(InstantAttributeViewFrame); +end; + +procedure TInstantModelExplorerForm.InstantAttributeViewFrameAttributeNewActionExecute( + Sender: TObject); +//var +// AClass: TInstantCodeClass; +// OldName: string; +begin +// OldName := AClass.Name; + InstantAttributeViewFrame.AttributeNewActionExecute(Sender); + ApplyClassFromView(InstantAttributeViewFrame); +end; + procedure TInstantModelExplorerForm.ExportModelActionExecute( Sender: TObject); begin @@ -853,7 +898,8 @@ I: Integer; Level: Integer; begin - FAttributeFrame.Clear; + //FAttributeFrame.Clear; + InstantAttributeViewFrame.Clear; DisableViewUpdate; @@ -927,7 +973,8 @@ procedure TInstantModelExplorerForm.ViewClassAttributes(AClass: TInstantCodeClass); begin - FAttributeFrame.Subject := AClass; +// FAttributeFrame.Subject := AClass; + InstantAttributeViewFrame.Subject := AClass; end; procedure TInstantModelExplorerForm.RestoreLayout; @@ -938,7 +985,8 @@ if OpenKey('Software\InstantObjects.org\Layout\ClassAttributes', False) then begin SetAttributePanelVisible(ReadBool('ShowAttributes')); AttributePanel.Height := ReadInteger('AttributePanelHeight'); - FAttributeFrame.InheritedAttributesPanel.Height := ReadInteger('InheritedAttributeHeight'); +// FAttributeFrame.InheritedAttributesPanel.Height := ReadInteger('InheritedAttributeHeight'); + InstantAttributeViewFrame.InheritedAttributesPanel.Height := ReadInteger('InheritedAttributeHeight'); end; finally Free; @@ -955,7 +1003,8 @@ if OpenKey('Software\InstantObjects.org\Layout\ClassAttributes', True) then begin WriteBool('ShowAttributes', ViewAttributeButton.Down); WriteInteger('AttributePanelHeight', AttributePanel.Height); - WriteInteger('InheritedAttributeHeight', FAttributeFrame.InheritedAttributesPanel.Height); +// WriteInteger('InheritedAttributeHeight', FAttributeFrame.InheritedAttributesPanel.Height); + WriteInteger('InheritedAttributeHeight', InstantAttributeViewFrame.InheritedAttributesPanel.Height); end; finally Free; |
From: <wp...@us...> - 2009-08-19 16:06:33
|
Revision: 850 http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=850&view=rev Author: wp2udk Date: 2009-08-19 16:06:24 +0000 (Wed, 19 Aug 2009) Log Message: ----------- Fix for Access Violation when trying to edit an attribute when not Published Section/Visibility is present in the class. Modified Paths: -------------- trunk/Source/Design/InstantAttributeEditor.pas Modified: trunk/Source/Design/InstantAttributeEditor.pas =================================================================== --- trunk/Source/Design/InstantAttributeEditor.pas 2009-08-19 06:04:32 UTC (rev 849) +++ trunk/Source/Design/InstantAttributeEditor.pas 2009-08-19 16:06:24 UTC (rev 850) @@ -343,6 +343,7 @@ var I: Integer; S: String; + CodeProperty: TInstantCodeProperty; begin VisibilityEdit.Items.BeginUpdate; try @@ -360,10 +361,15 @@ if Limited then begin - S := GetEnumName(TypeInfo(TInstantCodeVisibility), - Ord(Subject.FindValueProp.Visibility)); - VisibilityEdit.ItemIndex := - VisibilityEdit.Items.IndexOf(Copy(S, 3, length(S))); + CodeProperty := Subject.FindValueProp; + if CodeProperty <> nil then + begin + S := GetEnumName(TypeInfo(TInstantCodeVisibility), + Ord(CodeProperty.Visibility)); + VisibilityEdit.ItemIndex := + VisibilityEdit.Items.IndexOf(Copy(S, 3, length(S))); + end else + VisibilityEdit.ItemIndex := -1; end else if Assigned(VisibilityEdit.Field) then VisibilityEdit.ItemIndex := |
From: <dav...@us...> - 2009-08-19 06:04:38
|
Revision: 849 http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=849&view=rev Author: davidvtaylor Date: 2009-08-19 06:04:32 +0000 (Wed, 19 Aug 2009) Log Message: ----------- Fix problem with AnyDAC broker uses list under Delphi 7 Modified Paths: -------------- trunk/Source/Brokers/AnyDAC/InstantAnyDAC.pas Modified: trunk/Source/Brokers/AnyDAC/InstantAnyDAC.pas =================================================================== --- trunk/Source/Brokers/AnyDAC/InstantAnyDAC.pas 2009-08-19 05:57:21 UTC (rev 848) +++ trunk/Source/Brokers/AnyDAC/InstantAnyDAC.pas 2009-08-19 06:04:32 UTC (rev 849) @@ -50,8 +50,8 @@ uses Classes, Db, InstantPersistence, InstantCommand, InstantDBBuild, InstantBrokers, InstantMetadata, InstantTypes, uADCompClient, - uADStanOption, uADStanParam, uADStanIntf, uADStanConst, - {$IFDEF D10+}DBCommonTypes{$ENDIF}; + uADStanOption, uADStanParam, uADStanIntf, uADStanConst + {$IFDEF D10+}, DBCommonTypes{$ENDIF}; type TInstantAnyDACConnectionDef = class(TInstantRelationalConnectionDef) |
From: <dav...@us...> - 2009-08-19 05:57:32
|
Revision: 848 http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=848&view=rev Author: davidvtaylor Date: 2009-08-19 05:57:21 +0000 (Wed, 19 Aug 2009) Log Message: ----------- Remove junk someone accidentally committed Removed Paths: ------------- trunk/Source/Catalogs/MSSql/D2006/__history/ |
From: <dav...@us...> - 2009-08-19 05:55:58
|
Revision: 847 http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=847&view=rev Author: davidvtaylor Date: 2009-08-19 05:55:45 +0000 (Wed, 19 Aug 2009) Log Message: ----------- Fixes to restore compatibility with the Delphi 7 compiler - Remove unsupported DFM properties: Padding and ExplicitTop, ExplicitWidth etc. - Fix some minor Model Explorer screen layout issues - Add conditionals around "inline" directive (D2006+ only) - Add missing validation units to IOCore package - Fix incomplete changes to DBX3 broker (transaction logic was broken) Modified Paths: -------------- trunk/Source/Brokers/DBX/InstantDBX.pas trunk/Source/Core/D7/IOCore.dpk trunk/Source/Core/InstantClasses.pas trunk/Source/Core/InstantRtti.pas trunk/Source/Design/InstantModelExplorer.dfm trunk/Source/Design/InstantModelImport.dfm Modified: trunk/Source/Brokers/DBX/InstantDBX.pas =================================================================== --- trunk/Source/Brokers/DBX/InstantDBX.pas 2009-08-18 20:52:36 UTC (rev 846) +++ trunk/Source/Brokers/DBX/InstantDBX.pas 2009-08-19 05:55:45 UTC (rev 847) @@ -912,12 +912,11 @@ procedure TInstantDBX3Transaction.Start; begin - if FTransactionDesc.TransactionID = MAXLONG then + if FTransactionDesc.TransactionID = high(FTransactionDesc.TransactionID) then FTransactionDesc.TransactionID := 1 else FTransactionDesc.TransactionID := FTransactionDesc.TransactionID + 1; - FTransactionDesc.IsolationLevel := - TransIsolationLevelMap[Database.TransIsolation]; + FTransactionDesc.IsolationLevel := xilREADCOMMITTED; Connector.Connection.StartTransaction(FTransactionDesc); end; {$ENDIF} Modified: trunk/Source/Core/D7/IOCore.dpk =================================================================== --- trunk/Source/Core/D7/IOCore.dpk 2009-08-18 20:52:36 UTC (rev 846) +++ trunk/Source/Core/D7/IOCore.dpk 2009-08-19 05:55:45 UTC (rev 847) @@ -58,6 +58,8 @@ InstantDBBuilderFormUnit in '..\InstantDBBuilderFormUnit.pas' {InstantDBBuilderForm}, InstantTypes in '..\InstantTypes.pas', InstantBrokers in '..\InstantBrokers.pas', - InstantMetadata in '..\InstantMetadata.pas'; + InstantMetadata in '..\InstantMetadata.pas', + InstantValidation in '..\InstantValidation.pas', + InstantStandardValidators in '..\InstantStandardValidators.pas'; end. Modified: trunk/Source/Core/InstantClasses.pas =================================================================== --- trunk/Source/Core/InstantClasses.pas 2009-08-18 20:52:36 UTC (rev 846) +++ trunk/Source/Core/InstantClasses.pas 2009-08-19 05:55:45 UTC (rev 847) @@ -194,7 +194,7 @@ procedure WriteProperties(AObject: TPersistent); {$IFNDEF UNICODE} procedure WriteString(const Value: string); - procedure WriteUTF8Str(const Value: string); inline; + procedure WriteUTF8Str(const Value: string); {$IFDEF D10+}inline;{$ENDIF} {$ENDIF} procedure WriteValue(Value: TValueType); property Stream: TStream read FStream; Modified: trunk/Source/Core/InstantRtti.pas =================================================================== --- trunk/Source/Core/InstantRtti.pas 2009-08-18 20:52:36 UTC (rev 846) +++ trunk/Source/Core/InstantRtti.pas 2009-08-19 05:55:45 UTC (rev 847) @@ -78,7 +78,7 @@ procedure InstantSetProperty(AObject: TObject; PropPath: string; Value: Variant); function InstantIsDefaultPropertyValue(Instance: TObject; PropInfo: PPropInfo): Boolean; -function InstantGetPropName(PropInfo: PPropInfo): string; {$IFNDEF D12+}inline;{$ENDIF} +function InstantGetPropName(PropInfo: PPropInfo): string; {$IFDEF D10+}{$IFNDEF D12+}inline;{$ENDIF}{$ENDIF} implementation Modified: trunk/Source/Design/InstantModelExplorer.dfm =================================================================== --- trunk/Source/Design/InstantModelExplorer.dfm 2009-08-18 20:52:36 UTC (rev 846) +++ trunk/Source/Design/InstantModelExplorer.dfm 2009-08-19 05:55:45 UTC (rev 847) @@ -42,9 +42,10 @@ Left = 0 Top = 0 Width = 410 - Height = 27 + Height = 29 BorderWidth = 1 ButtonHeight = 23 + Flat = True Images = ActionImages ParentShowHint = False ShowHint = True @@ -95,15 +96,12 @@ Align = alBottom BevelOuter = bvNone Constraints.MinHeight = 45 - Padding.Left = 3 - Padding.Right = 3 - Padding.Bottom = 3 TabOrder = 2 Visible = False object AttributeCaptionPanel: TPanel - Left = 3 + Left = 0 Top = 0 - Width = 404 + Width = 410 Height = 25 Align = alTop BevelOuter = bvLowered Modified: trunk/Source/Design/InstantModelImport.dfm =================================================================== --- trunk/Source/Design/InstantModelImport.dfm 2009-08-18 20:52:36 UTC (rev 846) +++ trunk/Source/Design/InstantModelImport.dfm 2009-08-19 05:55:45 UTC (rev 847) @@ -1,9 +1,7 @@ inherited InstantModelImportForm: TInstantModelImportForm + Width = 424 + Height = 154 Caption = 'Import Model' - ClientHeight = 120 - ClientWidth = 416 - ExplicitWidth = 424 - ExplicitHeight = 154 PixelsPerInch = 96 TextHeight = 13 object Label1: TLabel [0] @@ -23,11 +21,8 @@ inherited ButtonPanel: TPanel Top = 79 Width = 416 - ExplicitTop = 79 - ExplicitWidth = 416 inherited ButtonBevel: TBevel Width = 416 - ExplicitWidth = 416 end object ImportButton: TButton Left = 246 |
From: <na...@us...> - 2009-08-18 20:52:43
|
Revision: 846 http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=846&view=rev Author: nandod Date: 2009-08-18 20:52:36 +0000 (Tue, 18 Aug 2009) Log Message: ----------- * DBX broker: added missing support for IsNull in boolean, currency, datetime attributes. * DBX broker: fixed param assignment for Oracle. Modified Paths: -------------- trunk/Source/Brokers/DBX/InstantDBX.pas trunk/Source/PackageGroups/D2009/CorePackages.groupproj Modified: trunk/Source/Brokers/DBX/InstantDBX.pas =================================================================== --- trunk/Source/Brokers/DBX/InstantDBX.pas 2009-08-18 08:09:33 UTC (rev 845) +++ trunk/Source/Brokers/DBX/InstantDBX.pas 2009-08-18 20:52:36 UTC (rev 846) @@ -192,6 +192,7 @@ end; TInstantDBXMSSQLQuery = class(TInstantSQLQuery) + class function TranslatorClass: TInstantRelationalTranslatorClass; override; end; { Oracle } @@ -448,16 +449,27 @@ begin case SourceParam.DataType of ftBoolean: - TargetParam.AsInteger := Integer(SourceParam.AsBoolean); + begin + if SourceParam.IsNull then + TargetParam.Clear + else + TargetParam.AsInteger := Integer(SourceParam.AsBoolean); + end; ftDateTime: begin TargetParam.DataType := ftTimeStamp; - TargetParam.Value := SourceParam.AsDateTime; + if SourceParam.IsNull then + TargetParam.Clear + else + TargetParam.Value := SourceParam.AsDateTime; end; ftCurrency: begin TargetParam.DataType := ftBCD; - TargetParam.Value := SourceParam.AsCurrency; + if SourceParam.IsNull then + TargetParam.Clear + else + TargetParam.Value := SourceParam.AsCurrency; end; else TargetParam.Assign(SourceParam); @@ -721,19 +733,26 @@ EmbraceIndex(Metadata.Name)]); end; +{ TInstantDBXMSSQLQuery } + +class function TInstantDBXMSSQLQuery.TranslatorClass: TInstantRelationalTranslatorClass; +begin + Result := TInstantDBXTranslator; +end; + { TInstantDBXOracleBroker } procedure TInstantDBXOracleBroker.AssignParam(SourceParam, TargetParam: TParam); begin case SourceParam.DataType of ftBoolean: - TargetParam.AsString := IntToStr(Integer(SourceParam.AsBoolean)); + TargetParam.AsInteger := Integer(SourceParam.AsBoolean); ftInteger: - TargetParam.AsString := IntToStr(SourceParam.AsInteger); + TargetParam.AsFloat := SourceParam.AsInteger; ftCurrency: - TargetParam.AsString := CurrToStr(SourceParam.AsCurrency); + TargetParam.AsCurrency := SourceParam.AsCurrency; ftFloat: - TargetParam.AsString := CurrToStr(SourceParam.AsFloat); + TargetParam.AsFloat := SourceParam.AsFloat; else inherited; end; Modified: trunk/Source/PackageGroups/D2009/CorePackages.groupproj =================================================================== --- trunk/Source/PackageGroups/D2009/CorePackages.groupproj 2009-08-18 08:09:33 UTC (rev 845) +++ trunk/Source/PackageGroups/D2009/CorePackages.groupproj 2009-08-18 20:52:36 UTC (rev 846) @@ -9,9 +9,21 @@ <Projects Include="..\..\Design\D2009\DclIOCore.dproj"> <Dependencies/> </Projects> + <Projects Include="..\..\Catalogs\IBFb\D2009\IOIBFbCatalog.dproj"> + <Dependencies/> + </Projects> + <Projects Include="..\..\Catalogs\MSSql\D2009\IOMSSqlCatalog.dproj"> + <Dependencies/> + </Projects> + <Projects Include="..\..\Catalogs\MySQL\D2009\IOMySQLCatalog.dproj"> + <Dependencies/> + </Projects> <Projects Include="..\..\Brokers\BDE\D2009\IOBDE.dproj"> <Dependencies/> </Projects> + <Projects Include="..\..\Brokers\IBX\D2009\IOIBX.dproj"> + <Dependencies/> + </Projects> <Projects Include="..\..\Brokers\BDE\D2009\DclIOBDE.dproj"> <Dependencies/> </Projects> @@ -21,9 +33,15 @@ <Projects Include="..\..\Brokers\XML\D2009\DclIOXML.dproj"> <Dependencies/> </Projects> - <Projects Include="..\..\..\Tests\TestIO_D2009.dproj"> + <Projects Include="..\..\Brokers\DBX\D2009\IODBX.dproj"> <Dependencies/> </Projects> + <Projects Include="..\..\Brokers\DBX\D2009\DclIODBX.dproj"> + <Dependencies/> + </Projects> + <Projects Include="..\..\Brokers\IBX\D2009\DclIOIBX.dproj"> + <Dependencies/> + </Projects> </ItemGroup> <ProjectExtensions> <Borland.Personality>Default.Personality.12</Borland.Personality> @@ -50,6 +68,33 @@ <Target Name="DclIOCore:Make"> <MSBuild Targets="Make" Projects="..\..\Design\D2009\DclIOCore.dproj"/> </Target> + <Target Name="IOIBFbCatalog"> + <MSBuild Projects="..\..\Catalogs\IBFb\D2009\IOIBFbCatalog.dproj"/> + </Target> + <Target Name="IOIBFbCatalog:Clean"> + <MSBuild Targets="Clean" Projects="..\..\Catalogs\IBFb\D2009\IOIBFbCatalog.dproj"/> + </Target> + <Target Name="IOIBFbCatalog:Make"> + <MSBuild Targets="Make" Projects="..\..\Catalogs\IBFb\D2009\IOIBFbCatalog.dproj"/> + </Target> + <Target Name="IOMSSqlCatalog"> + <MSBuild Projects="..\..\Catalogs\MSSql\D2009\IOMSSqlCatalog.dproj"/> + </Target> + <Target Name="IOMSSqlCatalog:Clean"> + <MSBuild Targets="Clean" Projects="..\..\Catalogs\MSSql\D2009\IOMSSqlCatalog.dproj"/> + </Target> + <Target Name="IOMSSqlCatalog:Make"> + <MSBuild Targets="Make" Projects="..\..\Catalogs\MSSql\D2009\IOMSSqlCatalog.dproj"/> + </Target> + <Target Name="IOMySQLCatalog"> + <MSBuild Projects="..\..\Catalogs\MySQL\D2009\IOMySQLCatalog.dproj"/> + </Target> + <Target Name="IOMySQLCatalog:Clean"> + <MSBuild Targets="Clean" Projects="..\..\Catalogs\MySQL\D2009\IOMySQLCatalog.dproj"/> + </Target> + <Target Name="IOMySQLCatalog:Make"> + <MSBuild Targets="Make" Projects="..\..\Catalogs\MySQL\D2009\IOMySQLCatalog.dproj"/> + </Target> <Target Name="IOBDE"> <MSBuild Projects="..\..\Brokers\BDE\D2009\IOBDE.dproj"/> </Target> @@ -59,6 +104,15 @@ <Target Name="IOBDE:Make"> <MSBuild Targets="Make" Projects="..\..\Brokers\BDE\D2009\IOBDE.dproj"/> </Target> + <Target Name="IOIBX"> + <MSBuild Projects="..\..\Brokers\IBX\D2009\IOIBX.dproj"/> + </Target> + <Target Name="IOIBX:Clean"> + <MSBuild Targets="Clean" Projects="..\..\Brokers\IBX\D2009\IOIBX.dproj"/> + </Target> + <Target Name="IOIBX:Make"> + <MSBuild Targets="Make" Projects="..\..\Brokers\IBX\D2009\IOIBX.dproj"/> + </Target> <Target Name="DclIOBDE"> <MSBuild Projects="..\..\Brokers\BDE\D2009\DclIOBDE.dproj"/> </Target> @@ -86,23 +140,41 @@ <Target Name="DclIOXML:Make"> <MSBuild Targets="Make" Projects="..\..\Brokers\XML\D2009\DclIOXML.dproj"/> </Target> - <Target Name="TestIO_D2009"> - <MSBuild Projects="..\..\..\Tests\TestIO_D2009.dproj"/> + <Target Name="IODBX"> + <MSBuild Projects="..\..\Brokers\DBX\D2009\IODBX.dproj"/> </Target> - <Target Name="TestIO_D2009:Clean"> - <MSBuild Targets="Clean" Projects="..\..\..\Tests\TestIO_D2009.dproj"/> + <Target Name="IODBX:Clean"> + <MSBuild Targets="Clean" Projects="..\..\Brokers\DBX\D2009\IODBX.dproj"/> </Target> - <Target Name="TestIO_D2009:Make"> - <MSBuild Targets="Make" Projects="..\..\..\Tests\TestIO_D2009.dproj"/> + <Target Name="IODBX:Make"> + <MSBuild Targets="Make" Projects="..\..\Brokers\DBX\D2009\IODBX.dproj"/> </Target> + <Target Name="DclIODBX"> + <MSBuild Projects="..\..\Brokers\DBX\D2009\DclIODBX.dproj"/> + </Target> + <Target Name="DclIODBX:Clean"> + <MSBuild Targets="Clean" Projects="..\..\Brokers\DBX\D2009\DclIODBX.dproj"/> + </Target> + <Target Name="DclIODBX:Make"> + <MSBuild Targets="Make" Projects="..\..\Brokers\DBX\D2009\DclIODBX.dproj"/> + </Target> + <Target Name="DclIOIBX"> + <MSBuild Projects="..\..\Brokers\IBX\D2009\DclIOIBX.dproj"/> + </Target> + <Target Name="DclIOIBX:Clean"> + <MSBuild Targets="Clean" Projects="..\..\Brokers\IBX\D2009\DclIOIBX.dproj"/> + </Target> + <Target Name="DclIOIBX:Make"> + <MSBuild Targets="Make" Projects="..\..\Brokers\IBX\D2009\DclIOIBX.dproj"/> + </Target> <Target Name="Build"> - <CallTarget Targets="IOCore;DclIOCore;IOBDE;DclIOBDE;IOXML;DclIOXML;TestIO_D2009"/> + <CallTarget Targets="IOCore;DclIOCore;IOIBFbCatalog;IOMSSqlCatalog;IOMySQLCatalog;IOBDE;IOIBX;DclIOBDE;IOXML;DclIOXML;IODBX;DclIODBX;DclIOIBX"/> </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;IOIBFbCatalog:Clean;IOMSSqlCatalog:Clean;IOMySQLCatalog:Clean;IOBDE:Clean;IOIBX:Clean;DclIOBDE:Clean;IOXML:Clean;DclIOXML:Clean;IODBX:Clean;DclIODBX:Clean;DclIOIBX: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;IOIBFbCatalog:Make;IOMSSqlCatalog:Make;IOMySQLCatalog:Make;IOBDE:Make;IOIBX:Make;DclIOBDE:Make;IOXML:Make;DclIOXML:Make;IODBX:Make;DclIODBX:Make;DclIOIBX:Make"/> </Target> <Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/> </Project> |
From: <dav...@us...> - 2009-08-18 08:09:44
|
Revision: 845 http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=845&view=rev Author: davidvtaylor Date: 2009-08-18 08:09:33 +0000 (Tue, 18 Aug 2009) Log Message: ----------- AnyDAC broker enhancements - Add support for UseNull feature - Finalize Firebird database creation logic (tested embedded DB only) - Add support for setting PageSize for Firebird database creation - Changed default Firebird CharacterSet from ISO8859_1 to UTF8 Modified Paths: -------------- trunk/Source/Brokers/AnyDAC/InstantAnyDAC.pas Modified: trunk/Source/Brokers/AnyDAC/InstantAnyDAC.pas =================================================================== --- trunk/Source/Brokers/AnyDAC/InstantAnyDAC.pas 2009-08-18 08:03:27 UTC (rev 844) +++ trunk/Source/Brokers/AnyDAC/InstantAnyDAC.pas 2009-08-18 08:09:33 UTC (rev 845) @@ -35,7 +35,7 @@ {$I '..\..\InstantDefines.inc'} {$ENDIF} -// Supported databases (only MSSQL has been tested as of 3/21/2009) +// Supported databases (only MSSQL and Firebird have been tested as of 8/18/2009) {$DEFINE SYBASE_SUPPORT} {$DEFINE MSSQL_SUPPORT} @@ -50,8 +50,8 @@ uses Classes, Db, InstantPersistence, InstantCommand, InstantDBBuild, InstantBrokers, InstantMetadata, InstantTypes, uADCompClient, - uADStanOption, uADStanParam, uADStanIntf, uADStanConst - {$IFDEF D10+}, DBCommonTypes{$ENDIF}; + uADStanOption, uADStanParam, uADStanIntf, uADStanConst, + {$IFDEF D10+}DBCommonTypes{$ENDIF}; type TInstantAnyDACConnectionDef = class(TInstantRelationalConnectionDef) @@ -307,6 +307,9 @@ InstantConsts, InstantClasses, InstantAnyDACConnectionDefEdit, InstantAnyDACCatalog, InstantUtils; +resourcestring + SInvalidDatabasePageSize = 'Invalid database PageSize value: "%s"'; + {$IFDEF SQLITE_SUPPORT} const STmpTableSuffix = '_IOTmp_'; @@ -698,6 +701,12 @@ else TargetParam.Assign(SourceParam); end; + + if (SourceParam.IsNull) then + begin + TargetParam.Clear; + TargetParam.Bound := true; + end; end; function TInstantAnyDACBroker.CreateCatalog(const AScheme: TInstantScheme): TInstantCatalog; @@ -936,8 +945,11 @@ var OldProperties : string; CharacterSet : string; + PageSizeStr : string; + PageSize : integer; +const + DEFAULT_DB_PAGESIZE = 8192; begin - // TODO Quick first pass at using built-in AnyDAC database creation logic (not tested) // do not call inherited with Connector do begin @@ -945,13 +957,29 @@ try CharacterSet := trim(Connection.Params.Values['CharacterSet']); + PageSizeStr := trim(Connection.Params.Values['PageSize']); if (CharacterSet = '') then - CharacterSet := 'ISO8859_1'; + CharacterSet := 'UTF8'; + if (PageSizeStr <> '') then + begin + PageSize := StrToIntDef(PageSizeStr,-1); + if (PageSize <> 1024) and // Deprecated for FB 2.1+ + (PageSize <> 2048) and // Deprecated for FB 2.1+ + (PageSize <> 4096) and + (PageSize <> 8192) and + (PageSize <> 16384) then // Available FB 2.0 and later + raise EInstantError.CreateFmt(SInvalidDatabasePageSize, [PageSizeStr]); + end else + begin + PageSize := DEFAULT_DB_PAGESIZE; + end; + Connection.Params.Values['CharacterSet'] := CharacterSet; Connection.Params.Values['CreateDatabase'] := 'Yes'; - Connection.Params.Values['PageSize'] := '4096'; + Connection.Params.Values['SQLDialect'] := '3'; + Connection.Params.Values['PageSize'] := IntToStr(PageSize); Connect; Disconnect; finally |
From: <dav...@us...> - 2009-08-18 08:03:38
|
Revision: 844 http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=844&view=rev Author: davidvtaylor Date: 2009-08-18 08:03:27 +0000 (Tue, 18 Aug 2009) Log Message: ----------- Fix for bug in new UseNull attribute option. UseNull setting was not being saved to the Metadata Modified Paths: -------------- trunk/Source/Core/InstantMetadata.pas Modified: trunk/Source/Core/InstantMetadata.pas =================================================================== --- trunk/Source/Core/InstantMetadata.pas 2009-08-18 05:27:40 UTC (rev 843) +++ trunk/Source/Core/InstantMetadata.pas 2009-08-18 08:03:27 UTC (rev 844) @@ -1688,6 +1688,7 @@ Self.FEditMask := FEditMask; Self.FIsIndexed := FIsIndexed; Self.FIsRequired := FIsRequired; + Self.FUseNull := FUseNull; Self.FObjectClassName := FObjectClassName; Self.FSize := FSize; Self.FStorageName := FStorageName; |