|
From: <na...@us...> - 2009-07-07 11:00:05
|
Revision: 802
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=802&view=rev
Author: nandod
Date: 2009-07-07 10:59:47 +0000 (Tue, 07 Jul 2009)
Log Message:
-----------
* A first set of changes for D2009 compatibility: Core, Design, BDE, XML. Still WIP.
Modified Paths:
--------------
trunk/Source/Core/InstantBrokers.pas
trunk/Source/Core/InstantClasses.pas
trunk/Source/Core/InstantCode.pas
trunk/Source/Core/InstantCommand.pas
trunk/Source/Core/InstantExplorer.pas
trunk/Source/Core/InstantMetadata.pas
trunk/Source/Core/InstantPersistence.pas
trunk/Source/Core/InstantPresentation.pas
trunk/Source/Core/InstantRtti.pas
trunk/Source/Core/InstantTextFiler.pas
trunk/Source/Core/InstantUtils.pas
trunk/Source/Design/InstantAttributeEditor.dfm
trunk/Source/Design/InstantAttributeEditor.pas
trunk/Source/Design/InstantModelExpert.pas
trunk/Source/Design/InstantOTA.pas
trunk/Source/InstantDefines.inc
trunk/Tests/InstantMock.pas
trunk/Tests/TestIO.dpr
trunk/Tests/TestIO.mdr
trunk/Tests/TestIO.mdrt
trunk/Tests/TestIO.mdx
trunk/Tests/TestIO.mdxt
trunk/Tests/TestInstantClasses.pas
trunk/Tests/TestInstantRtti.pas
trunk/Tests/TestModel.pas
trunk/Tests/ubmock/src/testutils.pas
Added Paths:
-----------
trunk/Demos/Intro/Intro_D2007.dproj
trunk/Demos/Intro/Intro_D2007.mdr
trunk/Demos/Intro/Intro_D2009.dproj
trunk/Source/Brokers/XML/D2009/
trunk/Source/Brokers/XML/D2009/DclIOXML.dpk
trunk/Source/Brokers/XML/D2009/DclIOXML.dproj
trunk/Source/Brokers/XML/D2009/DclIOXML.res
trunk/Source/Brokers/XML/D2009/IOXML.dpk
trunk/Source/Brokers/XML/D2009/IOXML.dproj
trunk/Source/Brokers/XML/D2009/IOXML.res
trunk/Source/PackageGroups/D2009/
trunk/Source/PackageGroups/D2009/CorePackages.groupproj
trunk/Tests/DUnit/
trunk/Tests/DUnit/src/
trunk/Tests/DUnit/src/TestFramework.pas
trunk/Tests/TestIO_D2007.dproj
trunk/Tests/TestIO_D2007.mdr
trunk/Tests/TestIO_D2009.dproj
trunk/Tests/TestIO_D2009.mdr
Added: trunk/Demos/Intro/Intro_D2007.dproj
===================================================================
--- trunk/Demos/Intro/Intro_D2007.dproj (rev 0)
+++ trunk/Demos/Intro/Intro_D2007.dproj 2009-07-07 10:59:47 UTC (rev 802)
@@ -0,0 +1,103 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{5e7fed32-48a7-4d66-a1ed-fbf2fb9c43c1}</ProjectGuid>
+ <MainSource>Intro.dpr</MainSource>
+ <Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <DCC_DependencyCheckOutputName>Intro.exe</DCC_DependencyCheckOutputName>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <Version>7.0</Version>
+ <DCC_WriteableConstants>True</DCC_WriteableConstants>
+ <DCC_Optimize>False</DCC_Optimize>
+ <DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
+ <DCC_DebugInfoInExe>True</DCC_DebugInfoInExe>
+ <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\BDE</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\BDE</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\BDE</DCC_ObjPath>
+ <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\BDE</DCC_IncludePath>
+ <DCC_UNSAFE_TYPE>True</DCC_UNSAFE_TYPE>
+ <DCC_UNSAFE_CODE>True</DCC_UNSAFE_CODE>
+ <DCC_UNSAFE_CAST>True</DCC_UNSAFE_CAST>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <Version>7.0</Version>
+ <DCC_WriteableConstants>True</DCC_WriteableConstants>
+ <DCC_Optimize>False</DCC_Optimize>
+ <DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
+ <DCC_DebugInfoInExe>True</DCC_DebugInfoInExe>
+ <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\BDE</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\BDE</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\BDE</DCC_ObjPath>
+ <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\BDE</DCC_IncludePath>
+ <DCC_Define>DEBUG</DCC_Define>
+ <DCC_UNSAFE_TYPE>True</DCC_UNSAFE_TYPE>
+ <DCC_UNSAFE_CODE>True</DCC_UNSAFE_CODE>
+ <DCC_UNSAFE_CAST>True</DCC_UNSAFE_CAST>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality</Borland.Personality>
+ <Borland.ProjectType>VCLApplication</Borland.ProjectType>
+ <BorlandProject>
+<BorlandProject xmlns=""> <Delphi.Personality> <Parameters>
+ <Parameters Name="UseLauncher">False</Parameters>
+ <Parameters Name="LoadAllSymbols">True</Parameters>
+ <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
+ </Parameters>
+ <Language>
+ <Language Name="ProjectLang">$00000406</Language>
+ </Language>
+ <VersionInfo>
+ <VersionInfo Name="IncludeVerInfo">False</VersionInfo>
+ <VersionInfo Name="AutoIncBuild">False</VersionInfo>
+ <VersionInfo Name="MajorVer">1</VersionInfo>
+ <VersionInfo Name="MinorVer">0</VersionInfo>
+ <VersionInfo Name="Release">0</VersionInfo>
+ <VersionInfo Name="Build">0</VersionInfo>
+ <VersionInfo Name="Debug">False</VersionInfo>
+ <VersionInfo Name="PreRelease">False</VersionInfo>
+ <VersionInfo Name="Special">False</VersionInfo>
+ <VersionInfo Name="Private">False</VersionInfo>
+ <VersionInfo Name="DLL">False</VersionInfo>
+ <VersionInfo Name="Locale">1030</VersionInfo>
+ <VersionInfo Name="CodePage">1252</VersionInfo>
+ </VersionInfo>
+ <VersionInfoKeys>
+ <VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
+ <VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
+ <VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="InternalName"></VersionInfoKeys>
+ <VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
+ <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
+ <VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
+ <VersionInfoKeys Name="ProductName"></VersionInfoKeys>
+ <VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="Comments"></VersionInfoKeys>
+ </VersionInfoKeys>
+ <Source>
+ <Source Name="MainSource">Intro.dpr</Source>
+ </Source>
+ </Delphi.Personality> </BorlandProject></BorlandProject>
+ </ProjectExtensions>
+ <ItemGroup />
+ <ItemGroup>
+ <DelphiCompile Include="Intro.dpr">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="CompanyEdit.pas">
+ <Form>CompanyEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="ContactEdit.pas">
+ <Form>ContactEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="Main.pas">
+ <Form>MainForm</Form>
+ </DCCReference>
+ <DCCReference Include="Model.pas" />
+ <DCCReference Include="PersonEdit.pas">
+ <Form>PersonEditForm</Form>
+ </DCCReference>
+ </ItemGroup>
+ <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
+</Project>
\ No newline at end of file
Property changes on: trunk/Demos/Intro/Intro_D2007.dproj
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Demos/Intro/Intro_D2007.mdr
===================================================================
(Binary files differ)
Property changes on: trunk/Demos/Intro/Intro_D2007.mdr
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/Demos/Intro/Intro_D2009.dproj
===================================================================
--- trunk/Demos/Intro/Intro_D2009.dproj (rev 0)
+++ trunk/Demos/Intro/Intro_D2009.dproj 2009-07-07 10:59:47 UTC (rev 802)
@@ -0,0 +1,141 @@
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{5e7fed32-48a7-4d66-a1ed-fbf2fb9c43c1}</ProjectGuid>
+ <MainSource>Intro.dpr</MainSource>
+ <Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <DCC_DependencyCheckOutputName>Intro.exe</DCC_DependencyCheckOutputName>
+ <ProjectVersion>12.0</ProjectVersion>
+ <Config Condition="'$(Config)'==''">Release</Config>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
+ <Cfg_1>true</Cfg_1>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
+ <Cfg_2>true</Cfg_2>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Base)'!=''">
+ <DCC_UsePackage>vclx;vcl;dbrtl;Rave76VCL;bdertl;rtl;vclactnband;vcldb;vcldbx;dsnap;dsnapcon;TeeUI;TeeDB;Tee;adortl;vclib;ibxpress;IndyCore;IndySystem;IndyProtocols;xmlrtl;inet;intrawebdb_100_120;Intraweb_100_120;VclSmp;vclie;websnap;webdsnap;inetdbbde;inetdbxpress;soaprtl;vclribbon;dbexpress;DbxCommonDriver;DataSnapIndy10ServerTransport;DataSnapProviderClient;DataSnapServer;DbxClientDriver;DBXInterBaseDriver;DBXMySQLDriver;dbxcds;DBXSybaseASEDriver;DBXSybaseASADriver;DBXOracleDriver;DBXMSSQLDriver;DBXInformixDriver;DBXDb2Driver;IWEliteSuite_100_Delphi2009;InstantBDExpress;IOCore;IOBDE</DCC_UsePackage>
+ <DCC_DependencyCheckOutputName>Intro.exe</DCC_DependencyCheckOutputName>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_1)'!=''">
+ <Version>7.0</Version>
+ <DCC_WriteableConstants>True</DCC_WriteableConstants>
+ <DCC_Optimize>False</DCC_Optimize>
+ <DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
+ <DCC_DebugInfoInExe>True</DCC_DebugInfoInExe>
+ <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\BDE;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\BDE;$(DCC_ResourcePath)</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\BDE;$(DCC_ObjPath)</DCC_ObjPath>
+ <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\BDE;$(DCC_IncludePath)</DCC_IncludePath>
+ <DCC_UNSAFE_TYPE>True</DCC_UNSAFE_TYPE>
+ <DCC_UNSAFE_CODE>True</DCC_UNSAFE_CODE>
+ <DCC_UNSAFE_CAST>True</DCC_UNSAFE_CAST>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_2)'!=''">
+ <DCC_DebugDCUs>true</DCC_DebugDCUs>
+ <Version>7.0</Version>
+ <DCC_WriteableConstants>True</DCC_WriteableConstants>
+ <DCC_Optimize>False</DCC_Optimize>
+ <DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
+ <DCC_DebugInfoInExe>True</DCC_DebugInfoInExe>
+ <DCC_UnitSearchPath>..\..\Source\Core;..\..\Source\Brokers\BDE;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
+ <DCC_ResourcePath>..\..\Source\Core;..\..\Source\Brokers\BDE;$(DCC_ResourcePath)</DCC_ResourcePath>
+ <DCC_ObjPath>..\..\Source\Core;..\..\Source\Brokers\BDE;$(DCC_ObjPath)</DCC_ObjPath>
+ <DCC_IncludePath>..\..\Source\Core;..\..\Source\Brokers\BDE;$(DCC_IncludePath)</DCC_IncludePath>
+ <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
+ <DCC_UNSAFE_TYPE>True</DCC_UNSAFE_TYPE>
+ <DCC_UNSAFE_CODE>True</DCC_UNSAFE_CODE>
+ <DCC_UNSAFE_CAST>True</DCC_UNSAFE_CAST>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality.12</Borland.Personality>
+ <Borland.ProjectType>VCLApplication</Borland.ProjectType>
+ <BorlandProject>
+ <Delphi.Personality>
+ <Parameters>
+ <Parameters Name="UseLauncher">False</Parameters>
+ <Parameters Name="LoadAllSymbols">True</Parameters>
+ <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
+ </Parameters>
+ <Language>
+ <Language Name="ProjectLang">$00000406</Language>
+ </Language>
+ <VersionInfo>
+ <VersionInfo Name="IncludeVerInfo">False</VersionInfo>
+ <VersionInfo Name="AutoIncBuild">False</VersionInfo>
+ <VersionInfo Name="MajorVer">1</VersionInfo>
+ <VersionInfo Name="MinorVer">0</VersionInfo>
+ <VersionInfo Name="Release">0</VersionInfo>
+ <VersionInfo Name="Build">0</VersionInfo>
+ <VersionInfo Name="Debug">False</VersionInfo>
+ <VersionInfo Name="PreRelease">False</VersionInfo>
+ <VersionInfo Name="Special">False</VersionInfo>
+ <VersionInfo Name="Private">False</VersionInfo>
+ <VersionInfo Name="DLL">False</VersionInfo>
+ <VersionInfo Name="Locale">1030</VersionInfo>
+ <VersionInfo Name="CodePage">1252</VersionInfo>
+ </VersionInfo>
+ <VersionInfoKeys>
+ <VersionInfoKeys Name="CompanyName"/>
+ <VersionInfoKeys Name="FileDescription"/>
+ <VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="InternalName"/>
+ <VersionInfoKeys Name="LegalCopyright"/>
+ <VersionInfoKeys Name="LegalTrademarks"/>
+ <VersionInfoKeys Name="OriginalFilename"/>
+ <VersionInfoKeys Name="ProductName"/>
+ <VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="Comments"/>
+ </VersionInfoKeys>
+ <Source>
+ <Source Name="MainSource">Intro.dpr</Source>
+ </Source>
+ <Excluded_Packages>
+ <Excluded_Packages Name="$(BDS)\bin\dcloffice2k120.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
+ <Excluded_Packages Name="$(BDS)\bin\dclofficexp120.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
+ </Excluded_Packages>
+ </Delphi.Personality>
+ </BorlandProject>
+ <ProjectFileVersion>12</ProjectFileVersion>
+ </ProjectExtensions>
+ <ItemGroup>
+ <DelphiCompile Include="Intro.dpr">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="Model.pas"/>
+ <DCCReference Include="Main.pas">
+ <Form>MainForm</Form>
+ </DCCReference>
+ <DCCReference Include="ContactEdit.pas">
+ <Form>ContactEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="PersonEdit.pas">
+ <Form>PersonEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="CompanyEdit.pas">
+ <Form>CompanyEditForm</Form>
+ </DCCReference>
+ <BuildConfiguration Include="Base">
+ <Key>Base</Key>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Debug">
+ <Key>Cfg_2</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Release">
+ <Key>Cfg_1</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ </ItemGroup>
+ <ItemGroup/>
+ <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
+ </Project>
Property changes on: trunk/Demos/Intro/Intro_D2009.dproj
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Property changes on: trunk/Source/Brokers/XML/D2009
___________________________________________________________________
Added: svn:ignore
+ *.dcu
__history
*.local
Added: trunk/Source/Brokers/XML/D2009/DclIOXML.dpk
===================================================================
--- trunk/Source/Brokers/XML/D2009/DclIOXML.dpk (rev 0)
+++ trunk/Source/Brokers/XML/D2009/DclIOXML.dpk 2009-07-07 10:59:47 UTC (rev 802)
@@ -0,0 +1,40 @@
+package DclIOXML;
+
+{$R *.res}
+{$R '..\InstantXML.dcr'}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS ON}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'InstantObjects XML Design-Time Support (Delphi 2009)'}
+{$LIBSUFFIX '_D12'}
+{$DESIGNONLY}
+{$IMPLICITBUILD OFF}
+
+requires
+ vcl,
+ rtl,
+ vclx,
+ IOXML;
+
+contains
+ InstantXMLReg in '..\InstantXMLReg.pas';
+
+end.
Property changes on: trunk/Source/Brokers/XML/D2009/DclIOXML.dpk
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Source/Brokers/XML/D2009/DclIOXML.dproj
===================================================================
--- trunk/Source/Brokers/XML/D2009/DclIOXML.dproj (rev 0)
+++ trunk/Source/Brokers/XML/D2009/DclIOXML.dproj 2009-07-07 10:59:47 UTC (rev 802)
@@ -0,0 +1,121 @@
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{82c41017-7d52-4f3f-92f1-c69cd9f9b523}</ProjectGuid>
+ <MainSource>DclIOXML.dpk</MainSource>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <DCC_DependencyCheckOutputName>C:\Users\nandod\Documents\RAD Studio\5.0\Bpl\DclIOXML_D11.bpl</DCC_DependencyCheckOutputName>
+ <ProjectVersion>12.0</ProjectVersion>
+ <Config Condition="'$(Config)'==''">Debug</Config>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
+ <Cfg_1>true</Cfg_1>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
+ <Cfg_2>true</Cfg_2>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Base)'!=''">
+ <DCC_ImageBase>00400000</DCC_ImageBase>
+ <DesignOnlyPackage>true</DesignOnlyPackage>
+ <DCC_DependencyCheckOutputName>C:\Users\Public\Documents\RAD Studio\6.0\Bpl\DclIOXML_D12.bpl</DCC_DependencyCheckOutputName>
+ <DCC_TypedAtParameter>true</DCC_TypedAtParameter>
+ <DCC_Description>InstantObjects XML Design-Time Support (Delphi 2009)</DCC_Description>
+ <DCC_OutputNeverBuildDcps>true</DCC_OutputNeverBuildDcps>
+ <GenDll>true</GenDll>
+ <GenPackage>true</GenPackage>
+ <DllSuffix>_D12</DllSuffix>
+ <DCC_SymbolReferenceInfo>1</DCC_SymbolReferenceInfo>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_1)'!=''">
+ <Version>7.0</Version>
+ <DCC_DebugInformation>False</DCC_DebugInformation>
+ <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
+ <DCC_TypedAtParameter>True</DCC_TypedAtParameter>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_2)'!=''">
+ <Version>7.0</Version>
+ <DCC_TypedAtParameter>True</DCC_TypedAtParameter>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality.12</Borland.Personality>
+ <Borland.ProjectType>Package</Borland.ProjectType>
+ <BorlandProject>
+ <Delphi.Personality>
+ <Compiler>
+ <Compiler Name="UsePackages">False</Compiler>
+ <Compiler Name="Packages"/>
+ </Compiler>
+ <Parameters>
+ <Parameters Name="UseLauncher">False</Parameters>
+ <Parameters Name="LoadAllSymbols">True</Parameters>
+ <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
+ </Parameters>
+ <VersionInfo>
+ <VersionInfo Name="IncludeVerInfo">True</VersionInfo>
+ <VersionInfo Name="AutoIncBuild">False</VersionInfo>
+ <VersionInfo Name="MajorVer">2</VersionInfo>
+ <VersionInfo Name="MinorVer">1</VersionInfo>
+ <VersionInfo Name="Release">0</VersionInfo>
+ <VersionInfo Name="Build">0</VersionInfo>
+ <VersionInfo Name="Debug">False</VersionInfo>
+ <VersionInfo Name="PreRelease">False</VersionInfo>
+ <VersionInfo Name="Special">False</VersionInfo>
+ <VersionInfo Name="Private">False</VersionInfo>
+ <VersionInfo Name="DLL">False</VersionInfo>
+ <VersionInfo Name="Locale">1040</VersionInfo>
+ <VersionInfo Name="CodePage">1252</VersionInfo>
+ </VersionInfo>
+ <VersionInfoKeys>
+ <VersionInfoKeys Name="CompanyName">www.instantobjects.org</VersionInfoKeys>
+ <VersionInfoKeys Name="FileDescription">InstantObjects</VersionInfoKeys>
+ <VersionInfoKeys Name="FileVersion">2.1.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="InternalName"/>
+ <VersionInfoKeys Name="LegalCopyright"/>
+ <VersionInfoKeys Name="LegalTrademarks"/>
+ <VersionInfoKeys Name="OriginalFilename"/>
+ <VersionInfoKeys Name="ProductName">InstantObjects</VersionInfoKeys>
+ <VersionInfoKeys Name="ProductVersion">2.1.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="Comments"/>
+ </VersionInfoKeys>
+ <Source>
+ <Source Name="MainSource">DclIOXML.dpk</Source>
+ </Source>
+ </Delphi.Personality>
+ </BorlandProject>
+ <ProjectFileVersion>12</ProjectFileVersion>
+ </ProjectExtensions>
+ <ItemGroup>
+ <DelphiCompile Include="DclIOXML.dpk">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="..\InstantXML.dcr"/>
+ <DCCReference Include="vcl.dcp"/>
+ <DCCReference Include="rtl.dcp"/>
+ <DCCReference Include="vclx.dcp"/>
+ <DCCReference Include="IOXML.dcp"/>
+ <DCCReference Include="..\InstantXMLReg.pas"/>
+ <DCCReference Include="..\InstantXML.dcr"/>
+ <BuildConfiguration Include="Base">
+ <Key>Base</Key>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Debug">
+ <Key>Cfg_2</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Release">
+ <Key>Cfg_1</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ </ItemGroup>
+ <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
+ </Project>
Property changes on: trunk/Source/Brokers/XML/D2009/DclIOXML.dproj
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Source/Brokers/XML/D2009/DclIOXML.res
===================================================================
(Binary files differ)
Property changes on: trunk/Source/Brokers/XML/D2009/DclIOXML.res
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/Source/Brokers/XML/D2009/IOXML.dpk
===================================================================
--- trunk/Source/Brokers/XML/D2009/IOXML.dpk (rev 0)
+++ trunk/Source/Brokers/XML/D2009/IOXML.dpk 2009-07-07 10:59:47 UTC (rev 802)
@@ -0,0 +1,41 @@
+package IOXML;
+
+{$R *.res}
+{$ALIGN 8}
+{$ASSERTIONS ON}
+{$BOOLEVAL OFF}
+{$DEBUGINFO ON}
+{$EXTENDEDSYNTAX ON}
+{$IMPORTEDDATA ON}
+{$IOCHECKS ON}
+{$LOCALSYMBOLS ON}
+{$LONGSTRINGS ON}
+{$OPENSTRINGS ON}
+{$OPTIMIZATION ON}
+{$OVERFLOWCHECKS OFF}
+{$RANGECHECKS OFF}
+{$REFERENCEINFO ON}
+{$SAFEDIVIDE OFF}
+{$STACKFRAMES OFF}
+{$TYPEDADDRESS ON}
+{$VARSTRINGCHECKS ON}
+{$WRITEABLECONST OFF}
+{$MINENUMSIZE 1}
+{$IMAGEBASE $400000}
+{$DESCRIPTION 'InstantObjects XML Run-Time Support (Delphi 2009)'}
+{$LIBSUFFIX '_D12'}
+{$RUNONLY}
+{$IMPLICITBUILD OFF}
+
+requires
+ vcl,
+ rtl,
+ vclx,
+ IOCore;
+
+contains
+ InstantXMLCatalog in '..\InstantXMLCatalog.pas',
+ InstantXMLConnectionDefEdit in '..\InstantXMLConnectionDefEdit.pas' {InstantXMLConnectionDefEditForm},
+ InstantXML in '..\InstantXML.pas';
+
+end.
Property changes on: trunk/Source/Brokers/XML/D2009/IOXML.dpk
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Source/Brokers/XML/D2009/IOXML.dproj
===================================================================
--- trunk/Source/Brokers/XML/D2009/IOXML.dproj (rev 0)
+++ trunk/Source/Brokers/XML/D2009/IOXML.dproj 2009-07-07 10:59:47 UTC (rev 802)
@@ -0,0 +1,125 @@
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{d2f12d26-2127-4834-8d0e-e4c9bfabb985}</ProjectGuid>
+ <MainSource>IOXML.dpk</MainSource>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
+ <DCC_DependencyCheckOutputName>C:\Documents and Settings\nandod\Documenti\RAD Studio\Projects\Bpl\IOXML_D11.bpl</DCC_DependencyCheckOutputName>
+ <ProjectVersion>12.0</ProjectVersion>
+ <Config Condition="'$(Config)'==''">Debug</Config>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
+ <Cfg_1>true</Cfg_1>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
+ <Cfg_2>true</Cfg_2>
+ <CfgParent>Base</CfgParent>
+ <Base>true</Base>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Base)'!=''">
+ <DCC_DependencyCheckOutputName>C:\Users\Public\Documents\RAD Studio\6.0\Bpl\IOXML_D12.bpl</DCC_DependencyCheckOutputName>
+ <DCC_ImageBase>00400000</DCC_ImageBase>
+ <RuntimeOnlyPackage>true</RuntimeOnlyPackage>
+ <DCC_TypedAtParameter>true</DCC_TypedAtParameter>
+ <DCC_Description>InstantObjects XML Run-Time Support (Delphi 2009)</DCC_Description>
+ <DesignOnlyPackage>false</DesignOnlyPackage>
+ <DCC_OutputNeverBuildDcps>true</DCC_OutputNeverBuildDcps>
+ <GenDll>true</GenDll>
+ <GenPackage>true</GenPackage>
+ <DllSuffix>_D12</DllSuffix>
+ <DCC_SymbolReferenceInfo>1</DCC_SymbolReferenceInfo>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_1)'!=''">
+ <Version>7.0</Version>
+ <DCC_DebugInformation>False</DCC_DebugInformation>
+ <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
+ <DCC_TypedAtParameter>True</DCC_TypedAtParameter>
+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+ <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Cfg_2)'!=''">
+ <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
+ <Version>7.0</Version>
+ <DCC_TypedAtParameter>True</DCC_TypedAtParameter>
+ </PropertyGroup>
+ <ItemGroup>
+ <DelphiCompile Include="IOXML.dpk">
+ <MainSource>MainSource</MainSource>
+ </DelphiCompile>
+ <DCCReference Include="vcl.dcp"/>
+ <DCCReference Include="rtl.dcp"/>
+ <DCCReference Include="vclx.dcp"/>
+ <DCCReference Include="IOCore.dcp"/>
+ <DCCReference Include="..\InstantXMLCatalog.pas"/>
+ <DCCReference Include="..\InstantXMLConnectionDefEdit.pas">
+ <Form>InstantXMLConnectionDefEditForm</Form>
+ </DCCReference>
+ <DCCReference Include="..\InstantXML.pas"/>
+ <BuildConfiguration Include="Base">
+ <Key>Base</Key>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Debug">
+ <Key>Cfg_2</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ <BuildConfiguration Include="Release">
+ <Key>Cfg_1</Key>
+ <CfgParent>Base</CfgParent>
+ </BuildConfiguration>
+ </ItemGroup>
+ <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
+ <ProjectExtensions>
+ <Borland.Personality>Delphi.Personality.12</Borland.Personality>
+ <Borland.ProjectType>Package</Borland.ProjectType>
+ <BorlandProject>
+ <Delphi.Personality>
+ <Compiler>
+ <Compiler Name="UsePackages">False</Compiler>
+ <Compiler Name="Packages"/>
+ </Compiler>
+ <Parameters>
+ <Parameters Name="UseLauncher">False</Parameters>
+ <Parameters Name="LoadAllSymbols">True</Parameters>
+ <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
+ </Parameters>
+ <VersionInfo>
+ <VersionInfo Name="IncludeVerInfo">True</VersionInfo>
+ <VersionInfo Name="AutoIncBuild">False</VersionInfo>
+ <VersionInfo Name="MajorVer">2</VersionInfo>
+ <VersionInfo Name="MinorVer">1</VersionInfo>
+ <VersionInfo Name="Release">0</VersionInfo>
+ <VersionInfo Name="Build">0</VersionInfo>
+ <VersionInfo Name="Debug">False</VersionInfo>
+ <VersionInfo Name="PreRelease">False</VersionInfo>
+ <VersionInfo Name="Special">False</VersionInfo>
+ <VersionInfo Name="Private">False</VersionInfo>
+ <VersionInfo Name="DLL">False</VersionInfo>
+ <VersionInfo Name="Locale">1040</VersionInfo>
+ <VersionInfo Name="CodePage">1252</VersionInfo>
+ </VersionInfo>
+ <VersionInfoKeys>
+ <VersionInfoKeys Name="CompanyName">www.instantobjects.org</VersionInfoKeys>
+ <VersionInfoKeys Name="FileDescription">InstantObjects</VersionInfoKeys>
+ <VersionInfoKeys Name="FileVersion">2.1.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="InternalName"/>
+ <VersionInfoKeys Name="LegalCopyright"/>
+ <VersionInfoKeys Name="LegalTrademarks"/>
+ <VersionInfoKeys Name="OriginalFilename"/>
+ <VersionInfoKeys Name="ProductName">InstantObjects</VersionInfoKeys>
+ <VersionInfoKeys Name="ProductVersion">2.1.0.0</VersionInfoKeys>
+ <VersionInfoKeys Name="Comments"/>
+ </VersionInfoKeys>
+ <Source>
+ <Source Name="MainSource">IOXML.dpk</Source>
+ </Source>
+ </Delphi.Personality>
+ </BorlandProject>
+ <ProjectFileVersion>12</ProjectFileVersion>
+ </ProjectExtensions>
+ </Project>
Property changes on: trunk/Source/Brokers/XML/D2009/IOXML.dproj
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/Source/Brokers/XML/D2009/IOXML.res
===================================================================
(Binary files differ)
Property changes on: trunk/Source/Brokers/XML/D2009/IOXML.res
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/Source/Core/InstantBrokers.pas
===================================================================
--- trunk/Source/Core/InstantBrokers.pas 2009-04-07 10:07:35 UTC (rev 801)
+++ trunk/Source/Core/InstantBrokers.pas 2009-07-07 10:59:47 UTC (rev 802)
@@ -2329,7 +2329,7 @@
procedure TInstantNavigationalResolver.ReadPart(Attribute: TInstantPart);
var
Field: TField;
- Stream: TInstantStringStream;
+ Stream: TStringStream;
PartClassName: string;
ObjID: string;
begin
@@ -2356,7 +2356,7 @@
Field := FieldByName(Metadata.FieldName);
if not FieldHasObjects(Field) then
Exit;
- Stream := TInstantStringStream.Create(Field.AsString);
+ Stream := TStringStream.Create(Field.AsString);
try
LoadObjectFromStream(Stream);
finally
@@ -2369,7 +2369,7 @@
procedure TInstantNavigationalResolver.ReadParts(Attribute: TInstantParts);
var
Field: TField;
- Stream: TInstantStringStream;
+ Stream: TStringStream;
LinkDatasetResolver: TInstantNavigationalLinkResolver;
begin
with Attribute do
@@ -2386,7 +2386,7 @@
Field := FieldByName(Metadata.FieldName);
if not FieldHasObjects(Field) then
Exit;
- Stream := TInstantStringStream.Create(Field.AsString);
+ Stream := TStringStream.Create(Field.AsString);
try
LoadObjectsFromStream(Stream);
finally
@@ -2413,7 +2413,7 @@
Attribute: TInstantReferences);
var
Field: TField;
- Stream: TInstantStringStream;
+ Stream: TStringStream;
LinkDatasetResolver: TInstantNavigationalLinkResolver;
begin
with Attribute do
@@ -2430,7 +2430,7 @@
Field := FieldByName(Metadata.FieldName);
if not FieldHasObjects(Field) then
Exit;
- Stream := TInstantStringStream.Create(Field.AsString);
+ Stream := TStringStream.Create(Field.AsString);
try
LoadReferencesFromStream(Stream);
finally
@@ -2611,7 +2611,7 @@
procedure TInstantNavigationalResolver.WritePart(Attribute: TInstantPart);
var
Field: TField;
- Stream: TInstantStringStream;
+ Stream: TStringStream;
begin
with Attribute do
begin
@@ -2628,7 +2628,7 @@
else
begin
Field := FieldByName(Metadata.FieldName);
- Stream := TInstantStringStream.Create('');
+ Stream := TStringStream.Create('');
try
SaveObjectToStream(Stream);
Field.AsString := Stream.DataString;
@@ -2642,7 +2642,7 @@
procedure TInstantNavigationalResolver.WriteParts(Attribute: TInstantParts);
var
Field: TField;
- Stream: TInstantStringStream;
+ Stream: TStringStream;
LinkDatasetResolver: TInstantNavigationalLinkResolver;
begin
with Attribute do
@@ -2663,7 +2663,7 @@
else
begin
Field := FieldByName(Metadata.FieldName);
- Stream := TInstantStringStream.Create('');
+ Stream := TStringStream.Create('');
try
SaveObjectsToStream(Stream);
Field.AsString := Stream.DataString;
@@ -2689,7 +2689,7 @@
Attribute: TInstantReferences);
var
Field: TField;
- Stream: TInstantStringStream;
+ Stream: TStringStream;
LinkDatasetResolver: TInstantNavigationalLinkResolver;
begin
with Attribute do
@@ -2709,7 +2709,7 @@
else
begin
Field := FieldByName(Metadata.FieldName);
- Stream := TInstantStringStream.Create('');
+ Stream := TStringStream.Create('');
try
SaveReferencesToStream(Stream);
Field.AsString := Stream.DataString;
@@ -2751,7 +2751,7 @@
begin
Param := AddParam(Params, AFieldName, ftBlob);
if Value <> '' then
- Param.AsBlob := Value
+ Param.AsMemo := Value
end;
procedure AddMemoParam(const AFieldName, Value: string);
@@ -2771,7 +2771,7 @@
if Attribute.IsNull then
LParam.Clear
else
- LParam.AsBlob := (Attribute as TInstantBlob).Value;
+ LParam.AsMemo := (Attribute as TInstantBlob).Value;
end;
procedure AddBooleanAttributeParam;
@@ -2864,7 +2864,7 @@
procedure AddPartAttributeParam;
var
- Stream: TInstantStringStream;
+ Stream: TStringStream;
Part: TInstantPart;
begin
if Attribute.Metadata.StorageKind = skExternal then
@@ -2876,7 +2876,7 @@
end
else
begin
- Stream := TInstantStringStream.Create('');
+ Stream := TStringStream.Create('');
try
(Attribute as TInstantPart).SaveObjectToStream(Stream);
if Broker.Connector.BlobStreamFormat = sfBinary then
@@ -2891,9 +2891,9 @@
procedure AddPartsAttributeParam;
var
- Stream: TInstantStringStream;
+ Stream: TStringStream;
begin
- Stream := TInstantStringStream.Create('');
+ Stream := TStringStream.Create('');
try
(Attribute as TInstantParts).SaveObjectsToStream(Stream);
if Broker.Connector.BlobStreamFormat = sfBinary then
@@ -2917,9 +2917,9 @@
procedure AddReferencesAttributeParam;
var
- Stream: TInstantStringStream;
+ Stream: TStringStream;
begin
- Stream := TInstantStringStream.Create('');
+ Stream := TStringStream.Create('');
try
(Attribute as TInstantReferences).SaveReferencesToStream(Stream);
if Broker.Connector.BlobStreamFormat = sfBinary then
@@ -3557,7 +3557,7 @@
procedure ReadPartAttribute;
var
- Stream: TInstantStringStream;
+ Stream: TStringStream;
LPartClassName: string;
LPartId: string;
begin
@@ -3583,7 +3583,7 @@
end
else
begin
- Stream := TInstantStringStream.Create(ReadBlobField(DataSet,
+ Stream := TStringStream.Create(ReadBlobField(DataSet,
AFieldName));
try
if Stream.Size = 0 then
@@ -3598,7 +3598,7 @@
procedure ReadPartsAttribute;
var
- Stream: TInstantStringStream;
+ Stream: TStringStream;
LinkResolver: TInstantSQLLinkResolver;
begin
if AttributeMetadata.StorageKind = skExternal then
@@ -3618,7 +3618,7 @@
end
else
begin
- Stream := TInstantStringStream.Create(ReadBlobField(DataSet, AFieldName));
+ Stream := TStringStream.Create(ReadBlobField(DataSet, AFieldName));
try
if Stream.Size = 0 then
(Attribute as TInstantParts).Reset
@@ -3639,7 +3639,7 @@
procedure ReadReferencesAttribute;
var
- Stream: TInstantStringStream;
+ Stream: TStringStream;
LinkResolver: TInstantSQLLinkResolver;
begin
if AttributeMetadata.StorageKind = skExternal then
@@ -3659,7 +3659,7 @@
end
else
begin
- Stream := TInstantStringStream.Create(ReadBlobField(DataSet, AFieldName));
+ Stream := TStringStream.Create(ReadBlobField(DataSet, AFieldName));
try
if Stream.Size = 0 then
(Attribute as TInstantReferences).Reset
Modified: trunk/Source/Core/InstantClasses.pas
===================================================================
--- trunk/Source/Core/InstantClasses.pas 2009-04-07 10:07:35 UTC (rev 801)
+++ trunk/Source/Core/InstantClasses.pas 2009-07-07 10:59:47 UTC (rev 802)
@@ -193,7 +193,8 @@
procedure WriteCharSet(CharSet: TChars);
procedure WriteObject(AObject: TPersistent); virtual;
procedure WriteProperties(AObject: TPersistent);
- procedure WriteString(const Value: string);
+ // Might be needed for versions of Delphi <7?
+ //procedure WriteString(const Value: string);
procedure WriteValue(Value: TValueType);
property Stream: TStream read FStream;
end;
@@ -240,13 +241,20 @@
constructor Create(const FileName: string; Mode: Word);
end;
+ {$IFDEF UNICODE}
+ TInstantStringStream = class(TStringStream)
+ public
+ constructor Create(AString: string);
+ end;
+ {$ELSE}
TInstantStringStream = class(TInstantStream)
private
- function GetDataString: string;
+ function GetDataString: AnsiString;
public
constructor Create(AString: string);
- property DataString: string read GetDataString;
+ property DataString: AnsiString read GetDataString;
end;
+ {$ENDIF}
TInstantXMLProducer = class(TObject)
private
@@ -260,6 +268,7 @@
function GetWriter: TAbstractWriter;
procedure SetPosition(Value: Integer);
procedure WriteString(const S: string);
+ procedure WriteWideString(const S: WideString);
protected
property TagStack: TStringList read GetTagStack;
property Writer: TAbstractWriter read GetWriter;
@@ -286,12 +295,12 @@
function GetPosition: Integer;
function GetReader: TAbstractReader;
function GetToken: TInstantXMLToken;
- function ReadEscapedChar: Char;
+ function ReadEscapedChar: AnsiChar;
procedure SetPosition(const Value: Integer);
protected
procedure CheckToken(AToken: TInstantXMLToken);
- function PeekChar: Char;
- function ReadChar: Char;
+ function PeekChar: AnsiChar;
+ function ReadChar: AnsiChar;
procedure SkipBlanks;
property Reader: TAbstractReader read GetReader;
public
@@ -769,13 +778,10 @@
var
ObjectEnd: string;
begin
- with Converter do
- begin
- ObjectEnd := InstantBuildEndTag(ObjectClassName);
- while not SameText(Processor.PeekTag, ObjectEnd) do
- Convert;
- Writer.WriteListEnd;
- end;
+ ObjectEnd := InstantBuildEndTag(Converter.ObjectClassName);
+ while not SameText(Converter.Processor.PeekTag, ObjectEnd) do
+ Converter.Convert;
+ Converter.Writer.WriteListEnd;
end;
class procedure TInstantCollection.ConvertToText(Converter: TInstantBinaryToTextConverter);
@@ -1052,6 +1058,7 @@
WriteListEnd;
end;
+(* Might be needed for versions of Delphi <7?
procedure TInstantWriter.WriteString(const Value: string);
var
L: Integer;
@@ -1068,6 +1075,7 @@
end;
Write(Pointer(Value)^, L);
end;
+*)
procedure TInstantWriter.WriteValue(Value: TValueType);
begin
@@ -1272,13 +1280,18 @@
constructor TInstantStringStream.Create(AString: string);
begin
+ {$IFDEF UNICODE}
+ inherited Create(AString, TEncoding.Unicode);
+ {$ELSE}
inherited Create(TMemoryStream.Create, True);
if Length(AString) > 0 then
Write(AString[1], Length(AString));
Position := 0;
+ {$ENDIF}
end;
-function TInstantStringStream.GetDataString: string;
+{$IFNDEF UNICODE}
+function TInstantStringStream.GetDataString: AnsiString;
var
Pos: Integer;
begin
@@ -1292,9 +1305,11 @@
finally
Position := Pos;
end;
- end else
+ end
+ else
Result := '';
end;
+{$ENDIF}
{ TInstantXMLProducer }
@@ -1405,10 +1420,21 @@
end;
procedure TInstantXMLProducer.WriteString(const S: string);
+var
+ U: UTF8String;
begin
- Writer.Write(S[1], Length(S));
+ U := UTF8String(S);
+ Writer.Write(U[1], Length(U));
end;
+procedure TInstantXMLProducer.WriteWideString(const S: WideString);
+var
+ U : UTF8String;
+begin
+ U := UTF8Encode(S);
+ Writer.Write(U[1], Length(U));
+end;
+
{ TInstantXMLProcessor }
procedure TInstantXMLProcessor.CheckToken(AToken: TInstantXMLToken);
@@ -1455,7 +1481,7 @@
Result := xtData;
end;
-function TInstantXMLProcessor.PeekChar: Char;
+function TInstantXMLProcessor.PeekChar: AnsiChar;
var
Pos: Integer;
begin
@@ -1491,9 +1517,9 @@
end;
end;
-function TInstantXMLProcessor.ReadChar: Char;
+function TInstantXMLProcessor.ReadChar: AnsiChar;
begin
- Reader.Read(Result, SizeOf(Char));
+ Reader.Read(Result, SizeOf(AnsiChar));
end;
function TInstantXMLProcessor.ReadData: string;
@@ -1507,11 +1533,11 @@
procedure TInstantXMLProcessor.ReadData(Stream: TStream);
var
- C: Char;
+ C: AnsiChar;
CharSize: Integer;
begin
CheckToken(xtData);
- CharSize := SizeOf(Char);
+ CharSize := SizeOf(AnsiChar);
while not (PeekChar = InstantTagStart) do
begin
C := ReadEscapedChar;
@@ -1519,7 +1545,7 @@
end;
end;
-function TInstantXMLProcessor.ReadEscapedChar: Char;
+function TInstantXMLProcessor.ReadEscapedChar: AnsiChar;
procedure UnEscape;
var
@@ -1533,7 +1559,7 @@
Result := ReadChar;
end;
if S[1] = '#' then
- Result := Char(StrToInt(Copy(S, 2, Length(S) - 1)))
+ Result := AnsiChar(StrToInt(Copy(S, 2, Length(S) - 1)))
else if S = 'quot' then
Result := #34
else if S = 'amp' then
@@ -1554,7 +1580,7 @@
function TInstantXMLProcessor.ReadTag: string;
var
- C: Char;
+ C: AnsiChar;
Pos: Integer;
begin
Pos := Position;
@@ -1722,6 +1748,8 @@
Producer.WriteData(InstantDateTimeToStr(Reader.ReadDate));
vaString, vaLString:
Producer.WriteEscapedData(Reader.ReadString);
+ vaUTF8String:
+ Producer.WriteWideString(Reader.ReadWideString);
vaSet:
begin
Reader.ReadValue;
@@ -1817,7 +1845,7 @@
procedure ConvertProperty(PropInfo: PPropInfo);
var
I: Integer;
- PropName, ValueStr: string;
+ PropName, ValueStr: String;
S: TStringList;
begin
PropName := Processor.ReadTagName;
@@ -1841,6 +1869,10 @@
{$ENDIF}
tkString, tkLString, tkChar:
Writer.WriteString(ValueStr);
+ {$IFDEF D12+}
+ tkUString:
+ Writer.WriteString(ValueStr);
+ {$ENDIF}
tkEnumeration:
Writer.WriteIdent(ValueStr);
tkSet:
Modified: trunk/Source/Core/InstantCode.pas
===================================================================
--- trunk/Source/Core/InstantCode.pas 2009-04-07 10:07:35 UTC (rev 801)
+++ trunk/Source/Core/InstantCode.pas 2009-07-07 10:59:47 UTC (rev 802)
@@ -1341,8 +1341,8 @@
FOrigin: TInstantCodePos;
procedure SetOrigin(Value: TInstantCodePos);
protected
- function GetStreamPos: Integer; override;
- procedure SetStreamPos(Value: Integer); override;
+ function GetStreamPos: Int64; override;
+ procedure SetStreamPos(Value: Int64); override;
public
procedure Indent;
procedure Unindent;
@@ -5620,7 +5620,7 @@
begin
if I > 0 then
Writer.Write(', ');
- Items[0].Write(Writer);
+ Items[I].Write(Writer);
end;
Writer.WriteLn(';');
finally
@@ -6456,7 +6456,7 @@
{ TInstantCodeWriter }
-function TInstantCodeWriter.GetStreamPos: Integer;
+function TInstantCodeWriter.GetStreamPos: Int64;
begin
Result := inherited GetStreamPos + Origin.Offset;
end;
@@ -6472,7 +6472,7 @@
Position := FOrigin;
end;
-procedure TInstantCodeWriter.SetStreamPos(Value: Integer);
+procedure TInstantCodeWriter.SetStreamPos(Value: Int64);
begin
inherited SetStreamPos(Value - Origin.Offset);
end;
Modified: trunk/Source/Core/InstantCommand.pas
===================================================================
--- trunk/Source/Core/InstantCommand.pas 2009-04-07 10:07:35 UTC (rev 801)
+++ trunk/Source/Core/InstantCommand.pas 2009-07-07 10:59:47 UTC (rev 802)
@@ -716,10 +716,10 @@
function TInstantIQLObject.GetText: string;
var
- Stream: TStringStream;
+ Stream: TInstantStringStream;
Writer: TInstantIQLWriter;
begin
- Stream := TStringStream.Create('');
+ Stream := TInstantStringStream.Create('');
try
Writer := TInstantIQLWriter.Create(Stream);
try
@@ -1702,10 +1702,10 @@
procedure TInstantIQLTranslator.Translate;
var
- Stream: TStringStream;
+ Stream: TInstantStringStream;
Writer: TInstantIQLStatementWriter;
begin
- Stream := TStringStream.Create('');
+ Stream := TInstantStringStream.Create('');
try
Writer := TInstantIQLStatementWriter.Create(Self, Stream);
try
Modified: trunk/Source/Core/InstantExplorer.pas
===================================================================
--- trunk/Source/Core/InstantExplorer.pas 2009-04-07 10:07:35 UTC (rev 801)
+++ trunk/Source/Core/InstantExplorer.pas 2009-07-07 10:59:47 UTC (rev 802)
@@ -627,7 +627,6 @@
Result := TPanel.Create(AOwner);
Result.BevelInner := bvNone;
Result.BevelOuter := bvNone;
- Result.Parent := Self;
end;
procedure TInstantExplorer.CreateSplitter;
Modified: trunk/Source/Core/InstantMetadata.pas
===================================================================
--- trunk/Source/Core/InstantMetadata.pas 2009-04-07 10:07:35 UTC (rev 801)
+++ trunk/Source/Core/InstantMetadata.pas 2009-07-07 10:59:47 UTC (rev 802)
@@ -1800,10 +1800,7 @@
function TInstantAttributeMetadata.GetValidChars: TChars;
begin
- if FValidChars = [] then
- Result := [#0..#255]
- else
- Result := FValidChars;
+ Result := FValidChars;
end;
function TInstantAttributeMetadata.GetValidCharsString: string;
Modified: trunk/Source/Core/InstantPersistence.pas
===================================================================
--- trunk/Source/Core/InstantPersistence.pas 2009-04-07 10:07:35 UTC (rev 801)
+++ trunk/Source/Core/InstantPersistence.pas 2009-07-07 10:59:47 UTC (rev 802)
@@ -1621,8 +1621,8 @@
I: Integer;
begin
Result := True;
- for I := 0 to Pred(BufferLength) do
- if not (Buffer[I] in ValidChars + [#8, #10, #13]) then
+ for I := 0 to Pred(BufferLength div SizeOf(Char)) do
+ if (ValidChars <> []) and not (Buffer[I] in ValidChars + [#8, #10, #13]) then
begin
Result := False;
InvalidChar := Buffer[I];
@@ -1955,7 +1955,7 @@
SizeOfGraphicHeader = 8;
MinimumBytesToRead = 10;
var
- P: array [0..MinimumBytesToRead - 1] of Char;
+ P: array [0..MinimumBytesToRead - 1] of Byte;
StreamLength: Longint;
BytesRetrieved: Integer;
begin
@@ -1964,44 +1964,44 @@
Exit;
StreamLength := AStream.Size;
AStream.Position := 0;
- FillChar(P, SizeOf(P), #0);
+ FillChar(P, SizeOf(P), 0);
BytesRetrieved := AStream.Read(P[0], SizeOf(P));
AStream.Position := 0;
if BytesRetrieved < MinimumBytesToRead then
Exit;
// bitmap format
- if (P[0] = #66) and (P[1] = #77) then
+ if (P[0] = 66) and (P[1] = 77) then
Result := gffBmp
// tiff format
- else if ((P[0] = #73) and (P[1] = #73) and (P[2] = #42) and (P[3] = #0))
- or ((P[0] = #77) and (P[1] = #77) and (P[2] = #42) and (P[3] = #0)) then
+ else if ((P[0] = 73) and (P[1] = 73) and (P[2] = 42) and (P[3] = 0))
+ or ((P[0] = 77) and (P[1] = 77) and (P[2] = 42) and (P[3] = 0)) then
Result := gffTiff
// jpg format
- else if (P[6] = #74) and (P[7] = #70) and (P[8] = #73) and (P[9] = #70)
- or (P[6] = #69) and (P[7] = #120) and (P[8] = #105) and (P[9] = #102) then
+ else if (P[6] = 74) and (P[7] = 70) and (P[8] = 73) and (P[9] = 70)
+ or (P[6] = 69) and (P[7] = 120) and (P[8] = 105) and (P[9] = 102) then
Result := gffJpeg
// png format
- else if (P[0] = #137 ) and (P[1] = #80) and (P[2] = #78) and (P[3] = #71)
- and (P[4] = #13) and (P[5] = #10) and (P[6] = #26) and (P[7] = #10) then
+ else if (P[0] = 137 ) and (P[1] = 80) and (P[2] = 78) and (P[3] = 71)
+ and (P[4] = 13) and (P[5] = 10) and (P[6] = 26) and (P[7] = 10) then
Result := gffPng
// dcx format
- else if (P[0] = #177) and (P[1] = #104) and (P[2] = #222) and (P[3] = #58) then
+ else if (P[0] = 177) and (P[1] = 104) and (P[2] = 222) and (P[3] = 58) then
Result := gffDcx
// pcx format
- else if p[0] = #10 then
+ else if p[0] = 10 then
Result := gffPcx
// emf format
- else if ((P[0] = #215) and (P[1] = #205) and (P[2] = #198) and (P[3] = #154))
- or ((P[0] = #1) and (P[1] = #0) and (P[2] = #0) and (P[3] = #0)) then
+ else if ((P[0] = 215) and (P[1] = 205) and (P[2] = 198) and (P[3] = 154))
+ or ((P[0] = 1) and (P[1] = 0) and (P[2] = 0) and (P[3] = 0)) then
Result := gffEmf
// gif format
- else if (P[0] = #$47) and (P[1] = #$49) and (P[2] = #$46) then
+ else if (P[0] = $47) and (P[1] = $49) and (P[2] = $46) then
Result := gffGif
// Ico format
- else if (P[0] = #00) and (P[1] = #00) and (P[2] = #01) and (P[3] = #00) then
+ else if (P[0] = 00) and (P[1] = 00) and (P[2] = 01) and (P[3] = 00) then
Result := gffIco
// bitmap format with TGraphicHeader header
- else if (P[0] = #01) and (P[1] = #00) and (P[2] = #00) and (P[3] = #01)
+ else if (P[0] = 01) and (P[1] = 00) and (P[2] = 00) and (P[3] = 01)
and (PLongint(@p[4])^ = StreamLength - SizeOfGraphicHeader) then
begin
Result := gffBmp;
@@ -3489,7 +3489,7 @@
begin
if Size > 0 then
begin
- SetLength(Result, Size);
+ SetLength(Result, Size div SizeOf(Char));
Read(Result[1], 0, Size);
end else
Result := '';
@@ -3501,7 +3501,7 @@
if (Metadata.Defaultvalue <> '') then
begin
try
- Write(Metadata.DefaultValue[1], 0, Length(Metadata.DefaultValue));
+ Write(Metadata.DefaultValue[1], 0, Length(Metadata.DefaultValue) * SizeOf(Char));
except
on E: Exception do
raise ConversionError(E);
@@ -3571,9 +3571,10 @@
var
L: Integer;
begin
- L := Length(AValue);
+ L := Length(AValue) * SizeOf(Char);
if L > 0 then
begin
+ Stream.Clear;
WriteBuffer(AValue[1], 0, L);
Stream.Size := L;
end else
Modified: trunk/Source/Core/InstantPresentation.pas
===================================================================
--- trunk/Source/Core/InstantPresentation.pas 2009-04-07 10:07:35 UTC (rev 801)
+++ trunk/Source/Core/InstantPresentation.pas 2009-07-07 10:59:47 UTC (rev 802)
@@ -288,7 +288,11 @@
FContentBuffer: TInstantContentBuffer;
FContentChanged: Boolean;
FFieldOptions: TInstantFieldOptions;
+ {$IFDEF D12+}
+ FFilterBuffer: TRecordBuffer;
+ {$ELSE}
FFilterBuffer: PChar;
+ {$ENDIF}
FInSetFieldData: Boolean;
FIsOpen: Boolean;
FLimited: Boolean;
@@ -319,13 +323,10 @@
FOnAddClassFieldDef: TInstantAddClassFieldDefEvent;
procedure AccessorChanged(Sender: TObject; ChangeType: TInstantChangeType);
procedure CheckClass(AObject: TObject);
- procedure ClearData(Buffer: PChar);
- procedure ClearRecord(Buffer: PChar);
function DataFieldsSize: Integer;
function GetAutoApplyChanges: Boolean;
function GetCanDispose: Boolean;
function GetContentBuffer: TInstantContentBuffer;
- function GetCurrentBuffer: PChar;
function GetDesignClass: TInstantCodeClass;
function GetHasCurrentBuffer: Boolean;
function GetHasSubject: Boolean;
@@ -338,7 +339,6 @@
function GetObjectClassName: string;
function GetObjectCount: Integer;
function GetObjects(Index: Integer): TObject;
- function GetRecInfo(Buffer: PChar): PRecInfo;
function GetRecordBuffer: TInstantRecordBuffer;
function GetSorted: Boolean;
function GetTotalCount: Integer;
@@ -352,7 +352,19 @@
procedure InitFields;
function IsSelfField(Field: TField): Boolean;
procedure ObjectChanged(AObject: TInstantObject);
+ {$IFDEF D12+}
+ procedure ClearData(Buffer: TRecordBuffer);
+ procedure ClearRecord(Buffer: TRecordBuffer);
+ function GetCurrentBuffer: TRecordBuffer;
+ function GetRecInfo(Buffer: TRecordBuffer): PRecInfo;
+ procedure PutObject(Buffer: TRecordBuffer; AObject: TObject; Append: Boolean);
+ {$ELSE}
+ procedure ClearData(Buffer: PChar);
+ procedure ClearRecord(Buffer: PChar);
+ function GetCurrentBuffer: PChar;
+ function GetRecInfo(Buffer: PChar): PRecInfo;
procedure PutObject(Buffer: PChar; AObject: TObject; Append: Boolean);
+ {$ENDIF}
procedure SetContainerName(const Value: string);
procedure SetFieldOptions(Value: TInstantFieldOptions);
procedure SetLimited(Value: Boolean);
@@ -368,10 +380,14 @@
{ IProviderSupport }
procedure PSGetAttributes(List: TList); override;
{$IFDEF D10+}
+ {$IFNDEF D12+}
function PSGetTableNameW: WideString; override;
{$ELSE}
function PSGetTableName: string; override;
{$ENDIF}
+ {$ELSE}
+ function PSGetTableName: string; override;
+ {$ENDIF}
procedure PSReset; override;
protected
procedure AddClassFieldDefs(const FieldName: string; AClass: TClass); overload;
@@ -379,13 +395,49 @@
function AddFieldDef(const Prefix: string; PropInfo: PPropInfo): TFieldDef; overload;
function AddFieldDef(const FieldName: string; FieldType: TFieldType;
FieldSize: Integer; FieldAttribs: TFieldAttributes): TFieldDef; overload;
+ {$IFDEF D12+}
+ function AddNewObject(Buffer: TRecordBuffer; Append: Boolean): TObject;
+ function AllocRecordBuffer: TRecordBuffer; override;
+ procedure ClearCalcFields(Buffer: TRecordBuffer); override;
+ procedure FreeRecordBuffer(var Buffer: TRecordBuffer); override;
+ procedure GetBookmarkData(Buffer: TRecordBuffer; Data: Pointer); override;
+ function GetBookmarkFlag(Buffer: TRecordBuffer): TBookmarkFlag; override;
+ function GetRecord(Buffer: TRecordBuffer; GetMode: TGetMode;
+ DoCheck: Boolean): TGetResult; override;
+ procedure InitRecord(Buffer: TRecordBuffer); override;
+ procedure InternalInitRecord(Buffer: TRecordBuffer); override;
+ procedure InternalSetToRecord(Buffer: TRecordBuffer); override;
+ procedure SetBookmarkData(Buffer: TRecordBuffer; Data: Pointer); override;
+ procedure SetBookmarkFlag(Buffer: TRecordBuffer; Value: TBookmarkFlag); override;
+ procedure CopyObjectToBuffer(AObject: TObject; Buffer: TRecordBuffer);
+ function FindObjectBuffer(AObject: TObject): TRecordBuffer;
+ procedure LoadRecord(RecNo: Integer; Buffer: TRecordBuffer);
+ function InternalGetRecord(Buffer: TRecordBuffer; GetMode: TGetMode;
+ DoCheck: Boolean): TGetResult; virtual;
+ procedure CopyBufferToObject(Buffer: TRecordBuffer; AObject: TObject);
+ {$ELSE}
function AddNewObject(Buffer: PChar; Append: Boolean): TObject;
function AllocRecordBuffer: PChar; override;
+ procedure ClearCalcFields(Buffer: PChar); override;
+ procedure FreeRecordBuffer(var Buffer: PChar); override;
+ procedure GetBookmarkData(Buffer: PChar; Data: Pointer); override;
+ function GetBookmarkFlag(Buffer: PChar): TBookmarkFlag; override;
+ function GetRecord(Buffer: PChar; GetMode: TGetMode;
+ DoCheck: Boolean): TGetResult; override;
+ procedure InitRecord(Buffer: PChar); override;
+ procedure InternalInitRecord(Buffer: PChar); override;
+ procedure InternalSetToRecord(Buffer: PChar); override;
+ procedure SetBookmarkData(Buffer: PChar; Data: Pointer); override;
+ procedure SetBookmarkFlag(Buffer: PChar; Value: TBookmarkFlag); override;
+ procedure CopyObjectToBuffer(AObject: TObject; Buffer: PChar);
+ function FindObjectBuffer(AObject: TObject): PChar;
+ procedure LoadRecord(RecNo: Integer; Buffer: PChar);
+ function InternalGetRecord(Buffer: PChar; GetMode: TGetMode;
+ DoCheck: Boolean): TGetResult; virtual;
+ procedure CopyBufferToObject(Buffer: PChar; AObject: TObject);
+ {$ENDIF}
procedure AutoDispose(AObject: TObject);
procedure AutoStore(AObject: TObject);
- procedure ClearCalcFields(Buffer: PChar); override;
- procedure CopyBufferToObject(Buffer: PChar; AObject: TObject);
- procedure CopyObjectToBuffer(AObject: TObject; Buffer: PChar);
function CreateAccessor: TInstantAccessor; virtual;
procedure CreateFields; override;
function CreateNestedDataSet(DataSetField: TDataSetField): TDataSet; override;
@@ -399,17 +451,11 @@
procedure DoIncludeField(FieldName: string; var Include: Boolean); virtual;
procedure DoTranslate(Field: TField; var Value: Variant; Write: Boolean);
function FindAttributeMetadata(const Path: string): TInstantAttributeMetadata;
- function FindObjectBuffer(AObject: TObject): PChar;
- procedure FreeRecordBuffer(var Buffer: PChar); override;
function GetAccessor: TInstantAccessor; virtual;
- procedure GetBookmarkData(Buffer: PChar; Data: Pointer); override;
- function GetBookmarkFlag(Buffer: PChar): TBookmarkFlag; override;
function GetCanModify: Boolean; override;
function GetCurrentObject: TObject; virtual;
function GetFieldOffset(const Field: TField): Integer;
function GetRecNo: Integer; override;
- function GetRecord(Buffer: PChar; GetMode: TGetMode;
- DoCheck: Boolean): TGetResult; override;
function GetRecordCount: Longint; override;
function GetRecordSize: Word; override;
function GetSubject: TObject; virtual; abstract;
@@ -421,19 +467,15 @@
procedure InitAccessor(AAccessor: TInstantAccessor);
procedure InitField(Field: TField); virtual;
procedure InitFieldDef(FieldDef: TFieldDef); virtual;
- procedure InitRecord(Buffer: PChar); override;
function InternalAddObject(AObject: TObject): Integer;
procedure InternalAddRecord(Buffer: Pointer; Append: Boolean); override;
procedure InternalCancel; override;
procedure InternalClose; override;
procedure InternalDelete; override;
procedure InternalFirst; override;
- function InternalGetRecord(Buffer: PChar; GetMode: TGetMode;
- DoCheck: Boolean): TGetResult; virtual;
procedure InternalGotoBookmark(Bookmark: Pointer); override;
procedure InternalHandleException; override;
procedure InternalInitFieldDefs; override;
- procedure InternalInitRecord(Buffer: PChar); override;
procedure InternalInsert; override;
function InternalInsertObject(ARecNo: Integer; AObject: TObject): Integer; virtual;
procedure InternalLast; override;
@@ -443,14 +485,12 @@
procedure InternalReleaseObject(AObject: TObject); virtual;
function InternalRemoveObject(AObject: TObject): Integer; virtual;
procedure InternalReset; virtual;
- procedure InternalSetToRecord(Buffer: PChar); override;
function IsCalcField(Field: TField): Boolean;
function IsCursorOpen: Boolean; override;
function IsNested: Boolean;
procedure LoadField(Obj: TObject; Field: TField); virtual;
procedure LoadFieldParams(AObject: TObject; Field: TField); virtual;
procedure LoadFieldValue(Field: TField; Buffer: Pointer; AObject: TObject);
- procedure LoadRecord(RecNo: Integer; Buffer: PChar);
function LocateObject(const KeyFields: string; const KeyValues: Variant;
Options: TInstantCompareOptions): Boolean; overload;
function LocateObject(AObject: TObject): Boolean; overload;
@@ -460,8 +500,6 @@
procedure SaveField(Field: TField); virtual;
procedure SaveFieldValue(Field: TField; Buffer: Pointer; AObject: TObject);
procedure SetActive(Value: Boolean); override;
- procedure SetBookmarkData(Buffer: PChar; Data: Pointer); override;
- procedure SetBookmarkFlag(Buffer: PChar; Value: TBookmarkFlag); override;
procedure SetFieldData(Field...
[truncated message content] |