|
From: <na...@us...> - 2013-03-06 18:20:25
|
Revision: 965
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=965&view=rev
Author: nandod
Date: 2013-03-06 18:20:16 +0000 (Wed, 06 Mar 2013)
Log Message:
-----------
* Fixed DXE3 bug (see TestFieldSetValue).
Modified Paths:
--------------
trunk/Source/Core/InstantPresentation.pas
trunk/Tests/TestIO.dpr
trunk/Tests/TestIO.dproj
trunk/Tests/TestIO.mdr
trunk/Tests/TestIO.mdrt
trunk/Tests/TestIO.mdx
trunk/Tests/TestIO.mdxt
trunk/Tests/TestIO_DXE3.dproj
trunk/Tests/TestIO_DXE3.mdr
trunk/Tests/TestInstantPresentation.pas
Property Changed:
----------------
trunk/Tests/XMLDB/
Modified: trunk/Source/Core/InstantPresentation.pas
===================================================================
--- trunk/Source/Core/InstantPresentation.pas 2012-12-05 03:36:25 UTC (rev 964)
+++ trunk/Source/Core/InstantPresentation.pas 2013-03-06 18:20:16 UTC (rev 965)
@@ -474,7 +474,12 @@
procedure SaveField(Field: TField); virtual;
procedure SaveFieldValue(Field: TField; Buffer: Pointer; AObject: TObject);
procedure SetActive(Value: Boolean); override;
- procedure SetFieldData(Field: TField; Buffer: Pointer); override;
+{$IFDEF D12+}
+ procedure SetFieldData(Field: TField; Buffer: TValueBuffer); overload; override;
+{$ENDIF}
+{$IFNDEF NEXTGEN}
+ procedure SetFieldData(Field: TField; Buffer: Pointer); overload; override; {$IFDEF D12+}deprecated 'Use overloaded method instead';{$ENDIF}
+{$ENDIF}
procedure SetFiltered(Value: Boolean); override;
procedure SetRecNo(Value: Integer); override;
procedure Undo; virtual;
@@ -4221,6 +4226,7 @@
end;
end;
+{$IFNDEF NEXTGEN}
procedure TInstantCustomExposer.SetFieldData(Field: TField; Buffer: Pointer);
begin
if Assigned(Buffer) then
@@ -4239,7 +4245,30 @@
end;
end;
end;
+{$ENDIF}
+{$IFDEF D12+}
+procedure TInstantCustomExposer.SetFieldData(Field: TField;
+ Buffer: TValueBuffer);
+begin
+ if Assigned(Buffer) then
+ Move(Buffer[0], CurrentBuffer[GetFieldOffset(Field)], FieldDataSize(Field))
+ else
+ FillChar(CurrentBuffer[GetFieldOffset(Field)], FieldDataSize(Field), 0);
+ if not (State in [dsCalcFields, dsInternalCalc, dsFilter, dsNewValue]) and
+ not FInSetFieldData then
+ begin
+ FInSetFieldData := True;
+ try
+ PostField(Field);
+ DataEvent(deFieldChange, Longint(Field));
+ finally
+ FInSetFieldData := False;
+ end;
+ end;
+end;
+{$ENDIF}
+
procedure TInstantCustomExposer.SetFieldOptions(Value: TInstantFieldOptions);
begin
if Value <> FFieldOptions then
Modified: trunk/Tests/TestIO.dpr
===================================================================
--- trunk/Tests/TestIO.dpr 2012-12-05 03:36:25 UTC (rev 964)
+++ trunk/Tests/TestIO.dpr 2013-03-06 18:20:16 UTC (rev 965)
@@ -59,7 +59,8 @@
TestInstantObjectReference in 'TestInstantObjectReference.pas',
MinimalModel in 'MinimalModel.pas',
TestXMLBroker in 'TestXMLBroker.pas',
- TestInstantCode in 'TestInstantCode.pas';
+ TestInstantCode in 'TestInstantCode.pas',
+ TestInstantPresentation in 'TestInstantPresentation.pas';
{$R *.res}
{$R *.mdr} {TestModel}
Modified: trunk/Tests/TestIO.dproj
===================================================================
--- trunk/Tests/TestIO.dproj 2012-12-05 03:36:25 UTC (rev 964)
+++ trunk/Tests/TestIO.dproj 2013-03-06 18:20:16 UTC (rev 965)
@@ -37,8 +37,7 @@
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>VCLApplication</Borland.ProjectType>
<BorlandProject>
-<BorlandProject><Delphi.Personality><Compiler><Compiler Name="UsePackages">False</Compiler><Compiler Name="Packages">vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;adortl;vclactnband;vclshlctrls;CS30Logging70;Rz30Ctls70;Rz30DBCtls70;ip4000v7;Rave60VCL;Rave60CLX;madBasic_;madDisAsm_;CLXIB;ibxpress;VCLIB;IOCore;IOIBX</Compiler></Compiler><Parameters><Parameters Name="DebugSourceDirs">..\Source\Core</Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Language><Language Name="RootDir">C:\Program Files\Borland\Delphi7\Bin\</Language></Language><VersionInfo><VersionInfo Name="IncludeVerInfo">False</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3081</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">TestIO.dpr</Source></Source></Delphi.Personality> <ModelSupport>False</ModelSupport>
-</BorlandProject></BorlandProject>
+<BorlandProject><Delphi.Personality><Compiler><Compiler Name="UsePackages">False</Compiler><Compiler Name="Packages">vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;adortl;vclactnband;vclshlctrls;CS30Logging70;Rz30Ctls70;Rz30DBCtls70;ip4000v7;Rave60VCL;Rave60CLX;madBasic_;madDisAsm_;CLXIB;ibxpress;VCLIB;IOCore;IOIBX</Compiler></Compiler><Parameters><Parameters Name="DebugSourceDirs">..\Source\Core</Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Language><Language Name="RootDir">C:\Program Files\Borland\Delphi7\Bin\</Language></Language><VersionInfo><VersionInfo Name="IncludeVerInfo">False</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3081</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">TestIO.dpr</Source></Source></Delphi.Personality><ModelSupport>False</ModelSupport></BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
@@ -73,6 +72,7 @@
<DCCReference Include="TestInstantObjectStore.pas" />
<DCCReference Include="TestInstantPart.pas" />
<DCCReference Include="TestInstantParts.pas" />
+ <DCCReference Include="TestInstantPresentation.pas" />
<DCCReference Include="TestInstantReference.pas" />
<DCCReference Include="TestInstantReferences.pas" />
<DCCReference Include="TestInstantRtti.pas" />
Modified: trunk/Tests/TestIO.mdr
===================================================================
(Binary files differ)
Modified: trunk/Tests/TestIO.mdrt
===================================================================
(Binary files differ)
Modified: trunk/Tests/TestIO.mdx
===================================================================
--- trunk/Tests/TestIO.mdx 2012-12-05 03:36:25 UTC (rev 964)
+++ trunk/Tests/TestIO.mdx 2013-03-06 18:20:16 UTC (rev 965)
@@ -9,6 +9,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>TRUE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -16,6 +17,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TCountry</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -23,6 +25,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>4</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -30,12 +33,14 @@
<AttributeType>atMemo</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>Zip</Name>
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>10</Size>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -51,6 +56,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -66,6 +72,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>20</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -73,6 +80,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -81,6 +89,7 @@
<EditMask>(000) 000-0000;0;_</EditMask>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>20</Size>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -96,6 +105,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>100</Size>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -112,6 +122,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -127,6 +138,7 @@
<AttributeType>atPart</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TAddress</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -134,6 +146,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TCategory</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -141,6 +154,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>TRUE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -148,6 +162,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>TRUE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>50</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -155,6 +170,7 @@
<AttributeType>atParts</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TPhone</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -164,6 +180,7 @@
<StorageKind>skExternal</StorageKind>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TProject</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -172,6 +189,7 @@
<StorageKind>skExternal</StorageKind>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TExternalAddress</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -181,6 +199,7 @@
<StorageKind>skExternal</StorageKind>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TExternalPhone</ObjectClassName>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -204,12 +223,14 @@
<AttributeType>atDateTime</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>Emails</Name>
<AttributeType>atParts</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TEmail</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -217,6 +238,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TCompany</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -224,37 +246,43 @@
<AttributeType>atBlob</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>Salary</Name>
<AttributeType>atCurrency</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
- <ValidCharsString>,.0..9\x82\xAC\xE2</ValidCharsString>
+ <IsUnique>FALSE</IsUnique>
+ <ValidCharsString>,.0..9€</ValidCharsString>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>Employed</Name>
<AttributeType>atBoolean</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>AL_hours</Name>
<AttributeType>atFloat</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>EmploymentDate</Name>
<AttributeType>atDate</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>BirthTime</Name>
<AttributeType>atTime</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
</AttributeMetadatas>
@@ -270,6 +298,7 @@
<AttributeType>atReferences</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TPerson</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -277,12 +306,14 @@
<AttributeType>atInteger</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>Subsidiaries</Name>
<AttributeType>atReferences</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TCompany</ObjectClassName>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -299,6 +330,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -308,6 +340,7 @@
<StorageKind>skExternal</StorageKind>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TProject</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -317,6 +350,7 @@
<StorageKind>skExternal</StorageKind>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TExternalAddress</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -324,6 +358,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TContact</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -333,6 +368,7 @@
<StorageKind>skExternal</StorageKind>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TContact</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -340,6 +376,7 @@
<AttributeType>atPart</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TProjectItems</ObjectClassName>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -356,6 +393,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -363,6 +401,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TCategory</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -370,6 +409,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TPerson</ObjectClassName>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -386,6 +426,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>20</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -394,6 +435,7 @@
<EditMask>(000) 000-0000;0;_</EditMask>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>20</Size>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -409,6 +451,7 @@
<AttributeType>atPart</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TProject</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -416,6 +459,7 @@
<AttributeType>atReferences</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TProjectBox</ObjectClassName>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -431,6 +475,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>50</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -438,6 +483,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TCountry</ObjectClassName>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -453,6 +499,7 @@
<AttributeType>atParts</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TProjectItem</ObjectClassName>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
Modified: trunk/Tests/TestIO.mdxt
===================================================================
--- trunk/Tests/TestIO.mdxt 2012-12-05 03:36:25 UTC (rev 964)
+++ trunk/Tests/TestIO.mdxt 2013-03-06 18:20:16 UTC (rev 965)
@@ -9,6 +9,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>TRUE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -16,6 +17,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TCountry</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -23,6 +25,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>4</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -30,12 +33,14 @@
<AttributeType>atMemo</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>Zip</Name>
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>10</Size>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -51,6 +56,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -66,6 +72,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>20</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -73,6 +80,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -81,6 +89,7 @@
<EditMask>(000) 000-0000;0;_</EditMask>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>20</Size>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -96,6 +105,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>100</Size>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -111,6 +121,7 @@
<AttributeType>atPart</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TAddress</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -118,6 +129,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TCategory</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -125,6 +137,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>TRUE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -132,6 +145,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>TRUE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>50</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -139,6 +153,7 @@
<AttributeType>atParts</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TPhone</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -148,6 +163,7 @@
<StorageKind>skExternal</StorageKind>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TProject</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -156,6 +172,7 @@
<StorageKind>skExternal</StorageKind>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TExternalAddress</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -165,6 +182,7 @@
<StorageKind>skExternal</StorageKind>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TExternalPhone</ObjectClassName>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -188,12 +206,14 @@
<AttributeType>atDateTime</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>Emails</Name>
<AttributeType>atParts</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TEmail</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -201,6 +221,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TCompany</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -208,37 +229,43 @@
<AttributeType>atBlob</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>Salary</Name>
<AttributeType>atCurrency</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
- <ValidCharsString>,.0..9\x82\xAC\xE2</ValidCharsString>
+ <IsUnique>FALSE</IsUnique>
+ <ValidCharsString>,.0..9€</ValidCharsString>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>Employed</Name>
<AttributeType>atBoolean</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>AL_hours</Name>
<AttributeType>atFloat</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>EmploymentDate</Name>
<AttributeType>atDate</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>BirthTime</Name>
<AttributeType>atTime</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
</AttributeMetadatas>
@@ -254,6 +281,7 @@
<AttributeType>atReferences</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TPerson</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -261,12 +289,14 @@
<AttributeType>atInteger</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
<Name>Subsidiaries</Name>
<AttributeType>atReferences</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TCompany</ObjectClassName>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -283,6 +313,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -292,6 +323,7 @@
<StorageKind>skExternal</StorageKind>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TProject</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -301,6 +333,7 @@
<StorageKind>skExternal</StorageKind>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TExternalAddress</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -308,6 +341,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TContact</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -317,6 +351,7 @@
<StorageKind>skExternal</StorageKind>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TContact</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -324,6 +359,7 @@
<AttributeType>atPart</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TProjectItems</ObjectClassName>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -340,6 +376,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>30</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -347,6 +384,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TCategory</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -354,6 +392,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TPerson</ObjectClassName>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -370,6 +409,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>20</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -378,6 +418,7 @@
<EditMask>(000) 000-0000;0;_</EditMask>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>20</Size>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -393,6 +434,7 @@
<AttributeType>atPart</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TProject</ObjectClassName>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -400,6 +442,7 @@
<AttributeType>atReferences</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TProjectBox</ObjectClassName>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -415,6 +458,7 @@
<AttributeType>atString</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<Size>50</Size>
</TInstantAttributeMetadata>
<TInstantAttributeMetadata>
@@ -422,6 +466,7 @@
<AttributeType>atReference</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TCountry</ObjectClassName>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
@@ -437,6 +482,7 @@
<AttributeType>atParts</AttributeType>
<IsIndexed>FALSE</IsIndexed>
<IsRequired>FALSE</IsRequired>
+ <IsUnique>FALSE</IsUnique>
<ObjectClassName>TProjectItem</ObjectClassName>
</TInstantAttributeMetadata>
</TInstantAttributeMetadatas>
Modified: trunk/Tests/TestIO_DXE3.dproj
===================================================================
--- trunk/Tests/TestIO_DXE3.dproj 2012-12-05 03:36:25 UTC (rev 964)
+++ trunk/Tests/TestIO_DXE3.dproj 2013-03-06 18:20:16 UTC (rev 965)
@@ -5,7 +5,7 @@
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>TestIO_DXE2.exe</DCC_DependencyCheckOutputName>
- <ProjectVersion>14.3</ProjectVersion>
+ <ProjectVersion>14.4</ProjectVersion>
<Config Condition="'$(Config)'==''">Debug</Config>
<Base>True</Base>
<AppType>Application</AppType>
@@ -114,6 +114,7 @@
<DCCReference Include="MinimalModel.pas"/>
<DCCReference Include="TestXMLBroker.pas"/>
<DCCReference Include="TestInstantCode.pas"/>
+ <DCCReference Include="TestInstantPresentation.pas"/>
<BuildConfiguration Include="Debug">
<Key>Cfg_2</Key>
<CfgParent>Base</CfgParent>
Modified: trunk/Tests/TestIO_DXE3.mdr
===================================================================
(Binary files differ)
Modified: trunk/Tests/TestInstantPresentation.pas
===================================================================
--- trunk/Tests/TestInstantPresentation.pas 2012-12-05 03:36:25 UTC (rev 964)
+++ trunk/Tests/TestInstantPresentation.pas 2013-03-06 18:20:16 UTC (rev 965)
@@ -53,6 +53,8 @@
procedure TearDown; override;
published
procedure TestFieldGetValue;
+ procedure TestFieldSetValue;
+ procedure TestEditPost;
end;
implementation
@@ -93,6 +95,23 @@
AssertEquals('John Doe', FInstantExposer.FieldByName('Name').AsString);
end;
+procedure TestTInstantExposer.TestFieldSetValue;
+begin
+ FInstantExposer.FieldByName('Name').AsString := 'Jane Doe';
+ AssertEquals('Jane Doe', FInstantExposer.FieldByName('Name').AsString);
+end;
+
+procedure TestTInstantExposer.TestEditPost;
+begin
+ FInstantExposer.Edit;
+ FInstantExposer.FieldByName('Name').AsString := 'Jane Doe';
+ AssertEquals('Jane Doe', FInstantExposer.FieldByName('Name').AsString);
+ AssertEquals('Jane Doe', FPerson.Name);
+ FInstantExposer.Post;
+ AssertEquals('Jane Doe', FInstantExposer.FieldByName('Name').AsString);
+ AssertEquals('Jane Doe', FPerson.Name);
+end;
+
initialization
// Register any test cases with the test runner
{$IFNDEF CURR_TESTS}
Property changes on: trunk/Tests/XMLDB
___________________________________________________________________
Added: svn:ignore
+ Contact
|