{"id":28140305,"url":"https://github.com/etheadev/instantobjects","last_synced_at":"2026-01-27T00:37:45.571Z","repository":{"id":54470607,"uuid":"158711610","full_name":"EtheaDev/InstantObjects","owner":"EtheaDev","description":"Pupular OOP-OPF Library for Delphi (from D10.1 to latest version)","archived":false,"fork":false,"pushed_at":"2025-08-20T06:55:37.000Z","size":30489,"stargazers_count":104,"open_issues_count":0,"forks_count":27,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-08-20T08:40:58.657Z","etag":null,"topics":["delphi","delphi-ide","mozilla","object-oriented-programming","oop","opf","persistence","persistence-framework","vcl-components"],"latest_commit_sha":null,"homepage":"https://ethea.it/docs/instantobjects/","language":"Pascal","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EtheaDev.png","metadata":{"files":{"readme":"README.htm","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"Docs/SupportingDelphi.jpg","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-11-22T14:33:47.000Z","updated_at":"2025-08-20T06:54:24.000Z","dependencies_parsed_at":"2022-08-13T16:40:52.028Z","dependency_job_id":"c5bca25b-1144-4f1a-b7d7-5d8468837132","html_url":"https://github.com/EtheaDev/InstantObjects","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/EtheaDev/InstantObjects","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EtheaDev%2FInstantObjects","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EtheaDev%2FInstantObjects/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EtheaDev%2FInstantObjects/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EtheaDev%2FInstantObjects/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EtheaDev","download_url":"https://codeload.github.com/EtheaDev/InstantObjects/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EtheaDev%2FInstantObjects/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28793928,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T21:49:50.245Z","status":"ssl_error","status_checked_at":"2026-01-26T21:48:29.455Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["delphi","delphi-ide","mozilla","object-oriented-programming","oop","opf","persistence","persistence-framework","vcl-components"],"created_at":"2025-05-14T18:11:18.099Z","updated_at":"2026-01-27T00:37:45.564Z","avatar_url":"https://github.com/EtheaDev.png","language":"Pascal","readme":"\u003cstyle type=\"text/css\"\u003e\ncode{\n  font-family: \"Consolas\", monospace;\n}\npre{\n  border: 1px solid #ddd;\n  border-left: 3px solid #f36d33;\n  overflow: auto;\n  padding: 1em 1.5em;\n  display: block;\n}\nBlockquote{\n  border-left: 3px solid #d0d0d0;\n  padding-left: 0.5em;\n  margin-left:1em;\n}\nBlockquote p{\n  margin: 0;\n}\ntable{\n  border:1px solid;\n  border-collapse:collapse;\n}\nth{  padding:5px;\n  border:1px solid;\n}\ntd{\n  padding:5px;\n  border:1px solid;\n}\n\u003c/style\u003e\n\u003ch1\u003e\u003cstrong\u003eInstantObjects 4.3.1 for Delphi\u003c/strong\u003e \u003ca href=\"https://www.mozilla.org/en-US/MPL/2.0/\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-Mozilla%202.0-yellowgreen.svg\" alt=\"License\"/\u003e\u003c/a\u003e\u003c/h1\u003e\n\u003cp\u003e\u003cimg src=\"https://github.com/EtheaDev/InstantObjects/wiki/instantobjects_logo.gif\" alt=\"InstantObject Logo\"/\u003e\u003c/p\u003e\n\u003cp\u003eWelcome to InstantObjects, the integrated framework for developing object-oriented business solutions in Delphi (from Delphi 10.1 to latest version)\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"/docs/SupportingDelphi.jpg\" alt=\"Support Delphi\"/\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.embarcadero.com/\"\u003ewww.embarcadero.com\u003c/a\u003e - \u003ca href=\"https://learndelphi.org/\"\u003elearndelphi.org\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat is InstantObjects\u003c/h2\u003e\n\u003cp\u003eInstantObjects is a RAD technology that enables creation of applications based on persistent business objects. It simplifies the process of realizing ideas into products; shortens time-to-market, and helps keep business focus.\u003c/p\u003e\n\u003cp\u003eEven though it is still a bolted-on technology, InstantObjects integrates with the Delphi IDE and Object Pascal in a simple, flexible and intuitive manner. There are no sophisticated environments that have to be comprehended before application development can begin.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eInstantObjects offers:\u003c/strong\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eModel realization in the Delphi IDE via integrated two-way tools (from editor to code)\u003c/li\u003e\n\u003cli\u003eObject persistence in the most common relational databases or flat XML-based files (also with FireDAC Broker)\u003c/li\u003e\n\u003cli\u003eObject presentation via standard data-aware controls.\u003c/li\u003e\n\u003cli\u003eSerialization/Deserialization of object using \u003ca href=\"https://github.com/paolo-rossi/delphi-neon\"\u003edelphi-neon\u003c/a\u003e library\u003c/li\u003e\n\u003cli\u003eREST Server \u0026ldquo;ready-to-use\u0026rdquo; using MARS or WiRL REST Libraries.\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2\u003eNew Setup for automatic installation of components\u003c/h2\u003e\n\u003cp\u003eFrom 4.2.2 version a new \u0026ldquo;Installer\u0026rdquo; read-to-use is located in the Release area: \u003ca href=\"https://github.com/EtheaDev/SVGIconImageList/releases/latest/download/SVGIconImageList_Setup.exe\"\u003eDownload the Installer\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe Installer automatically detect your Delphi versions, install sources, build and install packages and add source paths.\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"./Help/Setup.png\" alt=\"Setup\"/\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eFollow the complete manual present in this \u003ca href=\"https://ethea.it/docs/instantobjects/\"\u003esite\u003c/a\u003e and look at the PrimerCross demo to find out how to build applications with an Object Persistence Layer very flexible.\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://raw.githubusercontent.com/wiki/EtheaDev/InstantObjects/PrimerDemo.gif\" alt=\"Primer demo\"/\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eProject Status\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThe project is still managed by \u003ca href=\"https://www.ethea.it\"\u003eEthea S.r.l.\u003c/a\u003e, an italian company that uses InstantObjects for \u003ca href=\"https://ethea.it/prodotti/instantsolutions/\"\u003eInstantSolution Framework\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can find more information about this Open-Source project in the wiki section.\u003c/p\u003e\n\u003cp\u003eInstantObjects source files are released under the Mozilla Public License Version 2.0. You may obtain a copy of the License at\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.mozilla.org/en-US/MPL/2.0/\"\u003ewww.mozilla.org/en-US/MPL/2.0/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull DUnitX Tests\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eInstantObjects contains over 400 Unit Tests written for DUnitX and ubMock framework.\u003c/p\u003e\n\u003cp\u003eFrom 3.0 version is also compatible with TestInsight test framework.\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"/Tests/TestInsightRunning.png\" alt=\"TestInsight Running\"/\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eRelease Notes\u003c/strong\u003e\u003c/p\u003e\n\u003ch2\u003eVERSION HISTORY\u003c/h2\u003e\n\u003cp\u003eVersion 4.3.1 (2025-08-19)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Delphi 13 Florence\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.3.0 (2025-06-23)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support form WiRL REST Server\u003c/li\u003e\n\u003cli\u003eAdded Source\\WiRLServer units\u003c/li\u003e\n\u003cli\u003eAdded Demos\\PrimerWiRLServer\u003c/li\u003e\n\u003cli\u003eUpdate License to MPL 2.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.2.3 (2025-04-10)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Delphi 12.3 - 64bit IDE\u003c/li\u003e\n\u003cli\u003eFixed comparison of Objects using LargeIntFields\u003c/li\u003e\n\u003cli\u003eFixed compilation with Neon Library\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.2.2 (2025-01-01)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNew \u003ca href=\"https://www.ethea.it/docs/instantobjects/\"\u003eProject Site\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNew Setup for automatic Installation of Components\u003c/li\u003e\n\u003cli\u003eFixed some Tests for 64Bit platform\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.2.1 (2024-09-16)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Delphi 12.2\u003c/li\u003e\n\u003cli\u003eChanged all uses with Namespace\u003c/li\u003e\n\u003cli\u003eFixed Demos for 64 Bit\u003c/li\u003e\n\u003cli\u003eAdded possibility to not trim strings (using IO_DISABLE_STRING_TRIM)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.2.0 (2024-08-05)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for 64Bit Windows Platform\u003c/li\u003e\n\u003cli\u003eAdded define USE_LARGEINT_FIELD_FOR_REF to create LargeIntField at Design-Time\u003c/li\u003e\n\u003cli\u003eRemoved old defines for older Delphi Versions\u003c/li\u003e\n\u003cli\u003eRestored support for Delphi 10.1, 10.2, 10.3, 10.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.1.0 (2023-10-22)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Delphi 12\u003c/li\u003e\n\u003cli\u003eRenamed packages (for Delphi 11 and Delphi 12)\u003c/li\u003e\n\u003cli\u003eSupport for older Delphi Versions before Delphi 11 discontinued\u003c/li\u003e\n\u003cli\u003eUse Unidirectional cursors for optimize performances\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 4.0.0 (2023-07-20)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCompleted support for etherogeneus Databases (using IsDescription, IsPrimaryKey, ForeignKeys)\u003c/li\u003e\n\u003cli\u003eRefactoring Packages names:\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRunTime\u003c/strong\u003e: (IOCore_4, IOIBFbCatalog_4, IOMSSqlCatalog_4, IOMySQLCatalog_4, IOADO_4, IODBX_4, IOIBX_4, IOXML_4, IOFireDAC_4, IOJSON_4)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDesignTime\u003c/strong\u003e: (dclIOCore_4, dclIOIBFbCatalog_4, dcldclIOMSSqlCatalog_4, dclIOMySQLCatalog_4, dclIOADO_4, dclIODBX_4, dclIOIBX_4, dclIOXML_4, dclIOFireDAC_4, dclIOJSON_4)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 3.1.0 (2023-06-26)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eAdded support for JSON Serialization via delphi-neon, requires: \u003ca href=\"https://github.com/paolo-rossi/delphi-neon\"\u003egithub.com/paolo-rossi/delphi-neon\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded TInstantJSONConnector,  TJSONFilesAccessor components\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded TInstantJSONBroker, TInstantJSONResolver, TInstantJSONTranslator, TInstantJSONQuery classes\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 3.0.0 (2021-08-27)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eAdded support for Delphi 11 Alexandria\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eUpdated Test Framework to DUnitX / TestInsight (only for D10.2, D10.3, D10.4, D11.0)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 2.10.0 (2021-03-29)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eFixed InstantDBX for compilation with IO_CONSOLE directive\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed FireDAC Broker for EncryptedPassword\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded OnIdChanged for TInstantObject class\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded Isolation property to FireDAC Broker\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 2.9.0 (2021-01-24)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eAdded support delphi-NEON library\nfor serialization/deserialization of objects\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded support for MARS Rest server library\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eRefactoring FireDAC connector/broker\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eChanged font for editor to Segoe UI\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded OnAssignParamValue event for Brokers\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 2.8.0 (2020-08-25)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eAdded support for Delphi 10.4 Sydney\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eMinor bug-fixing\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eEditor font updated\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 2.7.0 (2018-12-06)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eAdded support for Delphi 10.3 Rio\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eCleaned old LINUX/KYLIX support\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 2.6.0 (2017-04-04)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Delphi 10.2 Tokyo\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 2.5.0 (2016-05-31)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Delphi 10.1 Berlin\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 2.4.0 (2015-09-01)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Delphi 10 Seattle\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 2.3.0 (2015-04-08)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eAdded support for Delphi XE8\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded support for Delphi XE7\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 2.2.0 (2014-05-12)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eFull UNICODE support: based on UseUnicode flag of InstantConnection:\nExposers uses TWideStringField or TWideMemoField mapping string attributes\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eVirtual Containers (for SQL brokers):\nMaster-Detail relationship using a contaier without storage\u003cbr /\u003e\n(read VirtualContainers.txt for more informations)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded Broker for Embarcadero FireDac\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded support for Delphi XE5 and XE6\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eUpdated UnitTesting for Exposers and Unicode Support\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 2.1.0 (2007-02-26)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eSupport for SQL Server 2005; catalog support for SQL Server 7;\nbetter support for SQL Server in general.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eSupport for ModelMaker 6.20 to 9; better ModelMaker support\nin general in ObjectFoundry.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eSupport for InstantDate and InstantTime for date-only and\ntime-only attribute types.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eInstant Model Explorer enhancements:\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eClass B has a base class A and subclasses C, D, etc.\nmaking a three tier class hierarchy. If Class B is deleted\nclasses C, D, etc. will become subclasses of class A.\nPreviously they would become subclasses of TInstantObject.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eNew class B in model unit X has a base class A in model unit Y.\nWhen adding new class B, unit Y will be automatically\nadded to the Interface uses clause of unit X.\u003cbr /\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eWhenever a unit is added to the uses clause of an interface\nsection, that unit is removed from the implementation\nsection uses clause if present. Whenever a unit is added to the\nimplementation section uses clause, check the interface section\nuses clause and if the unit is there then don't add anything.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eInstant model Explorer now uses the newer ToolsAPI on Delphi 7+.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eImproved object circular reference detection.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded ability to disable circular reference checking\nby undefining IO_CIRCULAR_REFERENCE_CHECK.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eEnhanced SQL statement logging: now logs all statements,\nincluding select statements.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eBDE broker: fixed incomplete implementation of IdDataType\nand IdSize.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eADO broker: fixed incomplete implementation of IdDataType\nand IdSize.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eXML broker: now only creates one file for each object,\nin the concrete class' folder.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eXML broker: removed support for versioning and\nutf-8 \u0026ldquo;BOT\u0026rdquo; encoding.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eXML broker: fixed failure on query refresh.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eXML broker restructured for easier customization.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eRefactored InstantPersistence.pas into:\nInstantPersistence.pas - Remains the main 'IO interface' unit.\nInstantBrokers.pas - Contains the descendant brokers, connectors classes.\nInstantMetadata.pas - Contains the metadata, scheme, etc. classes.\nInstantTypes - Contains some type declarations.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eUbmock and fpcunit integrated into the source tree\nfor easier test development.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eHelp file has been greatly improved.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded explanatory document for IO to InterBase\nand Firebird data type mappings.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eVarious fixes and enhancements (see tracker).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 2.0.1 (2006-08-07)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAll 2.0 RC changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 1.9.3 (2006-05-07)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eHelp file has been improved.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eBug fix for # 1496971 Bug In Model Explorer Setting Index and\nRequired properties.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eBug fix for # 1475841. \u0026ldquo;TInstantContainer.Sort error if empty\u0026rdquo;.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eBug fix for # 1475982. Rebuilding a Firebird database creates\ndisabled PKs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eChanged the visibility of the\nTInstantReferences.ObjectReferenceList property from private to\nprotected.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eBug fix for # 1479652. \u0026ldquo;Problem with PrimeCross demo and\nInstantReference.Reset\u0026rdquo;.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eChanged TInstantSQLBroker.AcquireDataSet method to virtual.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded a protected, virtual method UndoRecordBuffer to\nTInstantCustomExposer to enable customization of its Undo\nmethod.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eBug fix for # 1466586. Minor Error in Attribute Editor.\nForce the main definition tabsheet to be active before trying\nto focus the attribute Name or Size edit controls.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFix for bug # 1467511. When adding a new attribute in\nModelMaker, in the attribute editor there aren't field types\nother than \u0026ldquo;part\u0026rdquo; and \u0026ldquo;parts\u0026rdquo; available.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eUpdated unit tests. Added TestInstantObjectReference.pas unit\nto the Tests folder. This new unit contains tests for the\nTInstantObjectReference class.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eInstantPart and InstantReference tests updated.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eBug Fix for # 1464661. TInstantReference.Assign causes AV. Check\nfor nil needed before trying to clone a TInstantReference\nattribute object.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 1.9.3 (2006-03-31)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eThe IDE menu item \u0026ldquo;Build Database\u0026hellip;\u0026rdquo; has been changed\nto \u0026ldquo;Build InstantObjects Database\u0026hellip;\u0026ldquo;.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eThe BDS IDEs do not have a \u0026ldquo;Database\u0026rdquo; Main menu item, so\nthe \u0026ldquo;\u0026amp;Build InstantObjects Database\u0026hellip;\u0026rdquo; menu item is\ninserted in the Main View menu item under the \u0026ldquo;Data Explorer\u0026rdquo;\nitem if it exists. Otherwise it is appended.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug # 1410657, where TInstantSelector.GetIsChanged\nfetches all non-retrieved objects looking for changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug #1416083 (Storage Name ignored for external\nPart attributes).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eIBX: Internal transaction now AutoCommits.\nFix for bug 1402383 \u0026ldquo;Hanging Transactions\u0026rdquo;.\nWarning: the bug is not fixed if you use Delphi 5.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFix for Bug 1423157. Parts Attribute Insert causes Error.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed Bug 1385748 \u0026ldquo;Nested calls to Store cause Stack Overflow\u0026rdquo;.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded new public property RefItems to TInstantReferences.\nThis is an indexed property that returns the\nTInstantObjectReference from the internal list, allowing you\nto get a list of referenced object IDs without retrieving them.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFR # 1424512 - Added fields to enter user name, password,\nsql role and character set name to IBX's ConnectionDef form.\nInternalCreateDatabase uses current character set to create\nphysical database.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded fields for user name, password, sql role, character\nset and db library name for UIB broker. FR # 1424520.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed leakage using TInstantObject instance via interface\npointer. Bug # 1424540.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003ePrimerCross: added ability to refresh grid contents\nthrough the F5 key.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTest: minor changes to Model.pas to allow required circular\nreference test structures.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded test procedures to TestInstantReferences.pas to\nfacilitate memory leak testing for object structures\nwith circular references.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded another test procedure to TestInstantReferences.pas\nto facilitate memory leak testing for object structures\nwith circular references:\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"\"\u003eA -\u0026gt; B -\u0026gt; C -\u0026gt; A\n   |\n   + -\u0026gt; D -\u0026gt; E\nthen delete E.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTest case to demostrate the infinite loop in\nFreeCircularReferences.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eMany fixes and enhancements in demos and tests.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed leakage using TInstantObject instance via interface pointer.\nBug # 1424540.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug # 1410138 where in some situations a Selector raises\nan exception because database component name wasn't uploaded\nfrom stream.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed leakages with part and parts attributes in circular\nreference check effort.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eUnsupported column types found in the database no longer stop\nthe build/evolution process.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFix for bug #1426929. For an application compiled in D2006,\nadding entries into a new record in a DbGrid with an attached\nSelector results in an application crash (stack overflow)\nwhen trying to tab from the second column.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eInstantExplorer memory leak resolved (bug n. 1423344).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFix for bug #1423177 - Memory leak handling exceptions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFix for Bug 1375131: Evolving database with part attributes\ncauses \u0026ldquo;Class Not Registered\u0026rdquo; error when object is retrieved.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eChanged how packages include resource files: we're back to the\nstandard approach of one res file per package.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eImplemented overloaded version of TInstantParts.DestroyObject\nand TInstantReferences.DestroyObject that receives a\nTInstantObject parameter.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed an unwished disconnection inside FreeCircularReference\nmethod.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixes for ZeosDBO broker and catalog:\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eChanged SQLGenerator's drop index for MySQL database,\nthat doesn't support DROP INDEX statement. Bug # 1434240;\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eBuilt own SQLDelimiter method, because ZeosDBO's method\nis available only when database (or at least the driver)\nis connected;\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eChanged GetDBMSName method to return property value for\ndisconnected databases;\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eChanged physical IB/FB creation to support codepage\nparameter (Character Set);\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed evolve error. Bug # 1429529;\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003ePerformed work arounds for MySQL driver (Bug # 1434244) that:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003edoesn't name Primary Key;\u003c/li\u003e\n\u003cli\u003ereturn wrong value for Unique fields (true/false).\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed AV (bug # 1434585) and leakage (bug # 1434710) inside\nTInstantNavigationalQuery.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed a leakage with some kinds of circular references.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug # 1430106.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eNew Remember/Revert mechanism; fixed bugs:\n1232576 Deleting from Selectors without eoAutoApply;\n1410736 Revert method is overriding References attributes;\n1430109 InternalRemoveObject of Exposers doesn't refresh grid;\n1430117 Add/InsertObject (Exposers) with inconsistent behavior;\n1430119 Leakage inserting record;\n1430127 Leakage with InternalCancel and DeferInsert checked;\n1436858 Exposer.AutoDispose disposing referenced object.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed Info.Conflict assignment into\nTInstantSQLResolver.ExecuteStatement method.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed exception into D5 and IBX.\nInternalCommit and InternalRollback methods.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug #1430106 - TInstantBlobAttribute.Assign doesn't work\nproperly because LoadDataFromStream doesn't clear stream.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug #1410143 - When an EditForm of a Person with image\nthat was just edited is opened, Primer raises an exception\nwith message \u0026ldquo;Unsupported graphic stream format\u0026rdquo;, \u0026ldquo;Metafile\nis not valid\u0026rdquo; or \u0026ldquo;Stream read error\u0026rdquo;.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFix for bug 1437815 - Exposer.RemoveObject messes up TDataSet\ndata.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug # 1438840 Exposers with DeferInsert doesn't own object\nbefore store.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eImplemented Revert buffer for objects removed through\nRemoveObject method.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eImplemented bmp with TGraphicHeader recognition\n(bug # 1439017).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug # 1439025 Apply/RestoreState decrementing StateLevel.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug # 1436858 Exposer.AutoDispose disposing referenced\nobject.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFR# 1440209 - Pass the object instance to OnGenerateId.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed Bug # 1439851 - Required fields not checked in Exposers.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed Bug # 1439234 - Params not working with MS Access.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug # 1439091 - Exposer.AddObject duplicating object\n(sorted lists).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eImplemented Exposer's eoNotDisposeReferences option.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed stack overflow due to recursive calls to\nIsInsideCircularReference function;\nImprovements into circular reference check.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eUpdate of tests suite to be compatible with D5.\nNeed ubMock project files modified for compatibility with\nD5 to compile and run the tests in D5.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed Index out of Bounds error into FreeCircularReference.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bugs [SF #1447789] in InstantRtti.pas related to\ncompilation and handling of Boolean type in private unit\nfunction AccessProperty.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eBug fix [SF #1447794] for ObjectFoundry.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug [1446833] - Currency fields receives odd values.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eUpdate to NexusDB Broker. The modifications mainly apply\nto the connection dialog of the Remote server version.\nModifications to the Embedded version were due to\nresource string renaming and some extra connection\ndialog\nbutton hints. Main changes:\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eThe default Servername 'NexusDB@localhost' has been removed.\nThe default is now an empty string.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eThere is no longer an initial delay when launching the\nconnection\ndialog as there is no checking of available\nNexusDB servers until requested via the 'Load Servers' button.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eThe 'Load Servers' speed button has been enlarged and has a\ncaption to make its function more obvious.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eThere is more user feedback in the entry combo boxes to\nindicate current status. Popup hints are also available on\nthe speed buttons.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eA bug fix for enablement of the OK button when using alias\nas path entries.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eImplemented TInstantCustomExposer.Remove method.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eImplemented eoAutoRemember option.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug # 1461222 - \u0026ldquo;ORA-01722: invalid number\u0026rdquo; with\nDBX broker.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eMany small bug fixes and improvements.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 1.9.2 (2006-01)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eFixed possible AV in TInstantBrokerCatalog.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eMany fixes to the circular references management code.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eZeosDBO: added IB/Fb/MySQL database creation support.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eUIB: fixed AV that was raised trying to disconnect\nUIBDatabase while it's being destroyed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eDelphi 2005/6: added InstantObjects entry for the\nstart up splash screens using the handled sphere icon.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eModelMaker: added a version resource to show in\nModelMaker's Tools/Expert Manager dialog.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug #1403489. Fix for the problem that in some\nsituations, where there aren't circular references,\nan object is incorrectly detached from a References\nattribute.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFix for EOleException in ModelMaker when cancelling\nthe dialog during the addition of a new IOAttribute.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eVarious internal refactorings and optimizations.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eRemoval of several memory leaks and sources of AVs.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 1.9.1 (2005-11)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eAdded support for Delphi 2006/Win32 (experimental).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eHelp file updated (Work In Progress).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded new BPGs for easier installation (Work In\nProgress).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded support for UIB in Delphi 2005.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded MSSqlCatalog in Delphi 2005.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed infinite loop on application shutdown with\nTInstantDBBuilder.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixes for compatibility with Delphi 5 Professional.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eSeveral other bug fixes and small improvements.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eA growing suite of unit tests. Now over 300.\n(see the Tests folder).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed a bug, which would cause memory leakage if the\npublic method TInstantReferences.LoadObjectsFromStream\nwas used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003ePrimer demo applications updated to reduce object memory\nleakage.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded ReferencedBy counting and processing to resolve\nmemory leaks caused by the reference counting semantics\nof InstantObjects in circular references.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded enhanced Remember/Revert functionality for\nTInstantCustomExposer. Also includes Remember/Revert\nfunctionality for IO Memo attributes (assumes text only data).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded ZeosDBO (ZeosLib project, see http://zeosforum.net.ms/)\nbroker.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eChanges for Kylix 3: Removed emf support under Linux and\nadded catalogs. Removed unecessary files for PrimerK3.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eThe storage name of a references attribute is now stored\ninto metadata, so when you reopen the class editor you\nhaven't lost this information.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eInternalRefreshObjects for TInstantNavigationalQuery and\nTInstantSQLQuery now uses a BusyObjects list with ownership\nreference added to InstantObjects. This ensures that the\nInstantObjects in the list are not destroyed prematurely\ncausing AVs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eObject ownership behaviour of TInstantNavigationalResolver\nwas made consistent with TInstantSQLResolver. Adding or\ninserting objects to an InstantSelector now behaves\nconsistently for Navigational and SQL based brokers.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFix bug in TInstantSQLResolver.ExecuteStatement that only\nindicated Info.Success as true if executed query returned\none row.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFix bug in TInstantNavigationalQuery.SetRowNumber so that\nloop iteration does not try to go past Dataset.Eof.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantQuery.GetConnector now uses the global function\nInstantCheckConnector that will try to assign the\nDefaultConnector if one has not already been assigned.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eEmbedded and External Parts now behave similarly with respect\nto their contained InstantObjects (ie RefCounts and\nownership).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eEnhanced TInstantCodeAttribute.GetSingularName function.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantObject.RestoreState now checks that the object is\nin the ObjectStore cache before trying to remove it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eRemoved TInstantNavigationalQuery.TranslateCommand method\n(duplicated code).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eNow using old DB builder for catalog-less brokers, and new one\nfor the others.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eConnection events don't work when database is not connected\nthrough TInstantConnector decendant. They have been removed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFix for bug # 1285523: Parts of Parts Are Lost when\nUpdateExternalPartsMap. When Model include a parts of parts\nschema, sometimes when store first level part the second\nlevel parts are lost in DataBase.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAllow for catalogs that don't support reading all metadata\n(like an XML catalog).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 2.0 Alpha 1 (1.9.0.1) (2005-07)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eAdded UIB (Unified InterBase, see http://www.progdigy.com/modules.php?name=UIB)\nbroker.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded support for Delphi 2005 (D9), Win32 personality only.\nBrokers supported: ADO, BDE, DBX, IBX, NexusDbSQL, XML.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eRemoved UsePreparedQuery support; switch to the new StatementCache.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eNew TInstantConnector.OnGenerateId event, used to supply a custom\nId generation strategy. Use it together with IdDataType/IdSize.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eIdDataType and IdSize: see IdDataType_and_IdDataSize.txt.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eMany fixes and improvenet to the new external storage mapping strategy.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eStatementCache: see Statement_Cache.txt.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eNew performance tests (Retrieve and Statement Cache) in Primer.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eA growing suite of unit tests (see the Tests folder).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantPump: see InstantPump.txt.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eDatabase structure evolution:\nsee [RFC]_IO-001_Database_Structure_Evolution.txt\nuntil more complete docs are available.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eMany bug fixes and small improvements. Please see our trackers:\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003ehttp://sourceforge.net/tracker/?group_id=94747\u0026amp;atid=608935\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003ehttp://sourceforge.net/tracker/?group_id=94747\u0026amp;atid=608938\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 1.6.7 (2004-11-17) UNOFFICIAL\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eAdded support for IOMETADATA Keyword in metadata class definition and\nupgrade of ObjectFoundry for ModelMaker 7 \u0026amp; 8 support.\nPlease refer to IOMETADATA_Keyword.txt for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eExternalPart, ExternalParts and ExternalReferences support.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded InstantNexusSQL Broker\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eChanges to IBX Broker:\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eoption to disable the use of delimited identifiers in dialect 3 databases\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eimplemented InternalCreateDatabase and GetDatabaseExists\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eLoginPrompt support and OnLogin event in Connections based on TCustomConnection\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 1.6.6 (2004-07-29) UNOFFICIAL\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eCurrency Support:\nLook into Primer Demo for a little explanation.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eGraphic Support:\nLook into Primer Demo for a little explanation.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003ePrimerCross chaged for Currency and Graphic support\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eConnectionManager changes:\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eConnectionDefs moved from Form to ConnectionManager\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eConnectByName method added in ConnectionManager to connect without showing form\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eatOpen option added in ConnectionManager to Open connections file (.con or .xml)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eUsePreparedQuery support:\nAdded UsePreparedQuery support for TInstantSQLBroker\n(more details in Preprared_Query_Support.txt).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003ePrimer demo: PerformanceView form changed to make tests with UsePreparedQuery\nand other options\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded support for XML streaming in blob fields (Part, Parts, References)\n(more details in XML_Blob_Streaming_release_notes.txt)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded OnAddClassFieldDef event and BreakThorough method to speed-up exposer's fieds creation.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eExposer's Undo method now is Virtual and UndoBuffer is available.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 1.6.5 (2004-05-23) UNOFFICIAL\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eKylix Porting (design, core and DbExpress broker).\nMore details in Kylix3_porting_release_notes.txt.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eKylix porting of Primer Demo.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eXML format for connection file managed by connectionmanager.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 1.6.0 (2003-12-19) LAST COMMERCIAL VERSION\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eSQL based broker architecture introduced.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003edbExpress broker added. (InterBase, MSSQL, DB2, Oracle, MySQL)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eIBX broker now SQL based.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eADO/MSSQL broker now SQL based.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eObject caching improved.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eObjectFoundry: Added attribute IsRequired awareness.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eObjectFoundry: Added attribute DefaultValue awareness.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eObjectFoundry: Fixed bug when applying attribute options and methods.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantRelationalQuery.RecNoOfObject now returns correct record number when sequenced.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantObject.AttributeAddress now protected and virtual.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded keyword 'embedded' to non-stored classes with no attributes to improve ModelMaker support.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eInstantRtti.AccessProperty; Fixed 'Invalid type' error on Boolean properties.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantCustomExposer.LoadFieldValue; Fixed bug causing strings to be copied beyond buffer size.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantCustomExposer: FieldDefs are now created from Fields to improve performance when using\npersistent fields.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 1.5.0 (2003-02-25)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eAdded IProviderSupport to TInstantExposer and TInstantSelector.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded Params to TInstantSelector and all brokers.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantIQL; Added support for Params in; \u0026ldquo;:[ParamName]\u0026rdquo; format.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded eoSyncEdit to TInstantExposerOptions to enable refreshing\nof current edit buffer when in edit mode and object changes elsewhere.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded foRecurseNesting to TInstantFieldOptions to control recursive creation\nof nested DataSet fields.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded option 'required' to attributes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded TInstantAttribute.IsRequired.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded TInstantAttribute.IsMandatory.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantObject; SaveState, ApplyState and RestoreState are now virtual.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantIndexMetadata.Options changed to TIndexOptions to support additional\noptions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded TInstantObjectNotifiers.AcceptItem.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded TInstantRelationalQuery.CreateTranslator.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded TInstantCustomExposer.ReleaseObject.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded TInstantRelationalQuery.RecNoOfObject to support non-sequenced datasets\nin GotoObject/InternalIndexOfObject.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded TInstantCustomExposer.RefreshCurrentObject.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded ConvertToText and ConvertToBinary methods to allow XML streaming.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eChanged streaming to allow XML streaming of foreign objects.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eXML-processor now accepts blanks in stream.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eModel can now be exported to XML via Model Explorer.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed problem when loading class metadatas from DLL resource.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantCustomExposer: Fixed bug causing metadata of inherited attributes\nto be ignored during field generation.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eInstantCustomExposer.GotoObject now moves cursor to the specified\nobject if it exists regardless whether it has been loaded or not.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantCustomExposer.GotoObject: Fixed bug preventing object from being\nfound when called immediately after opening dataset.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantCustomExposer.ApplyChanges now calls PostChanges first to commit any\npending changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantSelector.RefreshData now refreshes objects from storage.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bugs in TInstantBlob causing content to be repeated or truncated.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantRelationalTranslator.EmbraceString now uses LeftDelimiter and\nRightDelimiter.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed refresh problem in exposers at design time when changing model via code.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed various issues with TInstantExposer when used with DataSnap.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded support for varOleStr, varNull and varEmpty to InstantCompareValues.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantRelationalBroker; Fixed bug causing objects not to be refreshed if\nupdates were performed by another session.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantSelector; Fixed AV error that occured when the selector is loading\nand its associated connector is not yet loaded.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantBlobStream.Create; No longer fails if attribute cannot be found.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eInstantFindAttribute; Fixed attempt to traverse through unassigned object\nproperty.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded ADS, DBISAM and FF brokers to Delphi 7 version.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 1.3.0 (2002-09-12)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eFlashFiler broker added.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eDBISAM 3.16 supported.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantConnector.Objects array added.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantConnector.GenerateId added.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantIBXBroker: Fixed duplicate index name error.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantAttribute: GetValue/SetValue is now virtual.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 1.2.2 (2002-07-30) - Delphi 7 Companion CD\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eDelphi 7 supported.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantExposer: When exposing TCollection instances items are now created\nwith TCollectionItem.Create to ensure proper initialization.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantCustomExposer: Fixed access violation when deleting objects that are\nnot TInstantObject instances.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eRuntime package: Fixed bug hindering model from being loaded.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eADO broker: Added DB2 awareness.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantDateTime: 'TIME' can now be used as default value for current time.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantDateTime: Fixed convert error when setting default value.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantObject: When refreshing object that was disposed by another session,\nthe object is now marked as non-persistent and all attributes are reset.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantCustomExposer: Added RemoveObject and DeleteObject.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantObject: Added IsOperationAllowed and VerifyOperation.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003ePrimer demo: Import/export of multiple objects added.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 1.2.1 (2002-06-28)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eInstantGetClass: Now returns nil instead of raising exception if class is\nnot TInstantObject descendant.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded InstantGetClasses to allow class enumeration.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eMetadata: 'DATE' is now recognized as default value for DateTime attributes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug causing run-time model to be out of sync when removing or adding\nmodel units without changing code.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eExposer/Selector: Fixed bug causing data to be left in record buffer\nwhen adding a new row to an empty dataset and cancelling.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eExposer/Selector: Added Options property. Property AutoApply changed to\neoAutoApply option.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eExposer/Selector: Added eoDeferInsert option to control whether objects are\ninserted immediately when inserting/appending new rows or when posting\nthe row.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eExposer/Selector: Cursor no longer moves to first row when cancelling insert\nand Sorted is True.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eBDE broker: Fixed bug in SQL translation for MS SQL Server via ODBC\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eBDE broker: Fixed bug in SQL translation for DB2 (ODBC and SQL Link)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eDBISAM broker: Fixed bug causing remote databases being treated as local.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eObjectFoundry Expert: Fixed problem with classes not descending from\nTInstantObject being imported as embedded\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eObjectFoundry Expert: Fixed error \u0026ldquo;Too many arguments in metadata\u0026rdquo; for\nlong metadata sections.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 1.2.0 (2002-05-16)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eObjectFoundry enabled.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eDBISAM broker compiled with DBISAM 3.10.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eModel Explorer now shows relations of non-stored classes in relation-view.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed error causing Memo attributes to become String attributes when defined via\nthe Attribute Editor.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded virtual TInstantObject.GenerateId for generating custom Ids.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded TInstantObject.Unchanged to allow ignoring changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded TInstantReference.DestroyObject and TInstantReferences.DestroyObject to\nrelease object without clearing reference.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded TInstantObject.OwnerChanged to notify when owner changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed error when reading empty values from XML file.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed stream position bug when streaming multiple objects from XML file.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug causing objects read from stream to be only partly stored.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded InstantReadObjects and InstantWriteObjects to read and write multiple objects\nfrom and to a stream.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eBuildDatabase with IBX broker now fails on string fields without size.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 1.11 (2002-04-22)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eFixed bug in exposer causing problems with lookup fields.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug in TInstantObject causing IsPersistent to be True after Dispose.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug in exposer causing CurrentObject to return wrong object when\nused with DevExpress QuantumGrid in standard grid mode.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded TInstantConnector.UseTransactions to allow disabling transactions.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded TInstantObjectNotifier.ObjectClass to allow filtering of notifications.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eEAbort is no longer wrapped in EInstantError.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug in TInstantObject.Refresh causing occasional blank values.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug in DBISAM broker causing exception \u0026ldquo;Database name already exists\u0026rdquo;.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantConnectionBasedConnector introduced and used in BDE, ADO and IBX\nbrokers. TInstantRelationalConnector no longer requires a TCustomConnection.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantWriter.WriteString added to ensure stream compatibility between\nDelphi 5 and Delphi 6.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdded TInstantConnector.BuildDatabase that allows building tables for\nspecified classes only.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 1.1.1 (2002-03-15)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eDBISAM broker added.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAdvantage Database Server broker added.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eTInstantContainer.OnContentChanged replaced by OnBeforeContentChange and\nOnAfterContentChange.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eIsDefault property for TInstantConnector changed to allow cross-project\ndefault connectors to exist in the same project group.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFields for non-attribute object properties are now included in exposers\nand selectors at designtime.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed memory leak when cancelling insert operations in selectors.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eIBX resolver now converts booleans to and from smallints.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eEnum properties are now handled correctly at designtime.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eExposers no longer clears new objects after they are constructed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug causing Connect/Disconnect button to disappear from Connection\nManager after connecting.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug in TInstantRelationalConnector causing \u0026ldquo;Unassigned connection\u0026rdquo;\nerror when loading selector components associated with connectors without\nconnections.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug blocking delete operations on exposers when exposing instances of\nclasses not descending from TInstantObject.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 1.0.5 (2002-02-14)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eADO, BDE and IBX brokers are now placed in individual packages.\nThe complete source code for the brokers is installed into Source\\Brokers\nalong with a template broker package for creating custom brokers.\nThe separate Broker Kit is no longer required.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eThe design-time database creation is now based on the Connection Manager.\nThis allows you to define multiple connections for a project at design-time\nand (re)build each database from the IDE. Database creation can also be done\nfor custom brokers at design-time when they have been installed into the IDE.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eDatabase creation now creates fields from attribute storage names instead of\nattribute names.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug causing AV when attempting to store an object via a connector with\nno connection.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug causing AV when loading form with TInstantSelector that is linked\nto a TInstantIBXConnector with no connection.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 1.0.4 (2002-02-07)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eInterBase dialect 3 is now supported.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eMemos and Blobs larger than 255 bytes are now exposed correctly.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003ePicture attribute added to TPerson in Primer to demonstrate blob capabilities.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eParser error: \u0026ldquo;expected parameter\u0026rdquo; when using custom storage names for\ncontainer attributes fixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eObject changes made during store when an exposer is auto-applying are now\nreflected in the exposer.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eLength of inherited string attributes is now correct when exposing objects of\ndescendant classes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed design time Access Violation when removing connection component that\nis attached to a connector.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eVisibility scope of some exposer/accessor methods have changed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eAbout box added to Model Explorer.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 1.0.3 (2002-01-23)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eExposer now refreshes record buffer when exposed objects are refreshed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug in TInstantSelector causing use of ancestor table name instead of\nown table name when specifying attributes introduced in ancestor that is not\nstored.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug in TInstantObject.Retrieve causing stack problems when returning nil.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 1.0.2 (2002-01-03)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eFixed bug causing exposer/selector fields to be missing at design time.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eRemoved brackets from SQL when using MS SQL Server via ADO.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed bug in InstantObjectBinaryToText when converting boolean values.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 1.0.1 (2001-12-23)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003eFixed infinite loop when compiling immediately after changing model unit\nof large model on slow computers.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFixed error \u0026ldquo;'0.0' is not a valid timestamp\u0026rdquo; when posting blank dates to\nexposers in Delphi 6.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 1.0.0.1701 (2001-12-07)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug in code generator causing delete of model unit source code\nwhen editing class via Model Explorer.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVersion 1.0.0 (2001-12-03)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFirst public release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eContributors are welcome\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eAll InstantObjects users are invited to join us in this project.\u003c/p\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fetheadev%2Finstantobjects","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fetheadev%2Finstantobjects","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fetheadev%2Finstantobjects/lists"}