You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(13) |
Sep
(25) |
Oct
(10) |
Nov
(19) |
Dec
(20) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
|
Feb
(206) |
Mar
(43) |
Apr
(25) |
May
(20) |
Jun
(69) |
Jul
(121) |
Aug
(95) |
Sep
(122) |
Oct
(213) |
Nov
(46) |
Dec
(39) |
2006 |
Jan
(28) |
Feb
(57) |
Mar
(21) |
Apr
(7) |
May
(11) |
Jun
(2) |
Jul
(8) |
Aug
(13) |
Sep
(2) |
Oct
(2) |
Nov
(20) |
Dec
(16) |
2007 |
Jan
(9) |
Feb
(15) |
Mar
|
Apr
(4) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
(1) |
Sep
(9) |
Oct
|
Nov
(1) |
Dec
|
2009 |
Jan
|
Feb
|
Mar
(8) |
Apr
(1) |
May
|
Jun
|
Jul
(11) |
Aug
(57) |
Sep
(2) |
Oct
(6) |
Nov
|
Dec
(7) |
2010 |
Jan
(11) |
Feb
(1) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
(1) |
Aug
(2) |
Sep
(27) |
Oct
(3) |
Nov
(7) |
Dec
(1) |
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(10) |
Oct
|
Nov
|
Dec
|
2012 |
Jan
(8) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
(3) |
Nov
(1) |
Dec
(1) |
2013 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
(4) |
Dec
|
2015 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
(1) |
Apr
(4) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(3) |
Oct
|
Nov
(4) |
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
From: Carlo B. <car...@us...> - 2005-02-22 14:25:28
|
Update of /cvsroot/instantobjects/Source/Design In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10742/Source/Design Modified Files: InstantReg.pas Log Message: Extracted InstantConnectionManagerForm from InstantConnectionManager unit. See txt files for details Index: InstantReg.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Design/InstantReg.pas,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** InstantReg.pas 19 Feb 2005 10:41:05 -0000 1.5 --- InstantReg.pas 22 Feb 2005 14:25:19 -0000 1.6 *************** *** 41,45 **** uses Classes, InstantConsts, InstantPersistence, InstantPresentation, ! InstantExplorer, InstantConnectionManager, InstantPump; procedure Register; --- 41,45 ---- uses Classes, InstantConsts, InstantPersistence, InstantPresentation, ! InstantExplorer, InstantConnectionManager, InstantConnectionManagerForm, InstantPump; procedure Register; |
From: Nando D. <na...@us...> - 2005-02-22 13:08:58
|
Update of /cvsroot/instantobjects/Source/Tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20117/Tests Modified Files: InstantMock.pas Log Message: fixed line endings Index: InstantMock.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Tests/InstantMock.pas,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** InstantMock.pas 20 Feb 2005 19:26:42 -0000 1.1 --- InstantMock.pas 22 Feb 2005 13:08:44 -0000 1.2 *************** *** 1,183 **** ! unit InstantMock; ! ! interface ! ! uses ! InstantPersistence, Classes, UbMockObject; ! ! type ! ! TInstantMockConnector = class(TInstantConnector, IUbMockObject) ! private ! FMock: TUbMockObject; ! protected ! procedure SetMock(const Value: TUbMockObject); ! function CreateBroker: TInstantBroker; override; ! procedure InternalConnect; override; ! function InternalCreateScheme(Model: TInstantModel): TInstantScheme; override; ! procedure InternalDisconnect; override; ! procedure InternalStartTransaction; override; ! procedure InternalCommitTransaction; override; ! procedure InternalRollbackTransaction; override; ! public ! property MockManager: TUbMockObject read FMock write SetMock implements IUbMockObject; ! class function ConnectionDefClass: TInstantConnectionDefClass; override; ! constructor Create(AOwner: TComponent); override; ! destructor Destroy; override; ! end; ! ! TInstantMockConnectionDef = class(TInstantConnectionDef) ! class function ConnectionTypeName: String; override; ! class function ConnectorClass: TInstantConnectorClass; override; ! function Edit: Boolean; override; ! end; ! ! TInstantMockBroker = class(TInstantBroker, IUbMockObject) ! private ! FMock: TUbMockObject; ! procedure SetMock(const Value: TUbMockObject); ! protected ! function InternalDisposeObject(AObject: TInstantObject; ! ConflictAction: TInstantConflictAction): Boolean; override; ! function InternalRetrieveObject(AObject: TInstantObject; ! const AObjectId: String; ! ConflictAction: TInstantConflictAction): Boolean; override; ! function InternalStoreObject(AObject: TInstantObject; ! ConflictAction: TInstantConflictAction): Boolean; override; ! public ! property MockManager: TUbMockObject read FMock write SetMock implements IUbMockObject; ! constructor Create(AConnector: TInstantConnector); override; ! destructor Destroy; override; ! end; ! ! implementation ! ! { TMockIConnector } ! ! class function TInstantMockConnector.ConnectionDefClass: TInstantConnectionDefClass; ! begin ! result := TInstantMockConnectionDef; ! end; ! ! constructor TInstantMockConnector.Create(AOwner: TComponent); ! begin ! inherited; ! FMock := TUbMockObject.Create; ! end; ! ! function TInstantMockConnector.CreateBroker: TInstantBroker; ! begin ! FMock.AddExpectation('CreateBroker'); ! Result := TInstantMockBroker.Create(Self); ! end; ! ! ! { TInstantMockConnectionDef } ! ! class function TInstantMockConnectionDef.ConnectionTypeName: String; ! begin ! result := 'Mock'; ! end; ! ! class function TInstantMockConnectionDef.ConnectorClass: TInstantConnectorClass; ! begin ! result := TInstantMockConnector; ! end; ! ! function TInstantMockConnectionDef.Edit: Boolean; ! begin ! result := True; //boh?? ! end; ! ! { TInstantMockBroker } ! destructor TInstantMockConnector.Destroy; ! begin ! FMock.Free; ! inherited; ! end; ! procedure TInstantMockConnector.InternalCommitTransaction; ! begin ! inherited; ! FMock.AddExpectation('InternalCommitTransaction'); ! end; ! procedure TInstantMockConnector.InternalConnect; ! begin ! FMock.AddExpectation('InternalConnect'); ! end; ! function TInstantMockConnector.InternalCreateScheme( ! Model: TInstantModel): TInstantScheme; ! begin ! FMock.AddExpectation('InternalCreateScheme'); ! result := TInstantScheme.Create(Model); ! end; ! procedure TInstantMockConnector.InternalDisconnect; ! begin ! FMock.AddExpectation('InternalDisconnect'); ! end; ! procedure TInstantMockBroker.SetMock(const Value: TUbMockObject); ! begin ! FMock := Value; ! end; ! constructor TInstantMockBroker.Create(AConnector: TInstantConnector); ! begin ! inherited; ! FMock := TUbMockObject.Create; ! end; ! destructor TInstantMockBroker.Destroy; ! begin ! FMock.Free; ! inherited; ! end; ! { TInstantMockBroker } ! function TInstantMockBroker.InternalDisposeObject(AObject: TInstantObject; ! ConflictAction: TInstantConflictAction): Boolean; ! begin ! Result := True; ! FMock.AddExpectation('InternalDisposeObject ' + AObject.Id); ! end; ! function TInstantMockBroker.InternalRetrieveObject(AObject: TInstantObject; ! const AObjectId: String; ! ConflictAction: TInstantConflictAction): Boolean; ! begin ! Result := True; ! FMock.AddExpectation('InternalRetrieveObject ' + AObjectId); ! end; ! function TInstantMockBroker.InternalStoreObject(AObject: TInstantObject; ! ConflictAction: TInstantConflictAction): Boolean; ! begin ! Result := True; ! FMock.AddExpectation('InternalStoreObject ' + AObject.Id); ! end; ! procedure TInstantMockConnector.InternalRollbackTransaction; ! begin ! inherited; ! FMock.AddExpectation('InternalRollbackTransaction'); ! end; ! procedure TInstantMockConnector.InternalStartTransaction; ! begin ! inherited; ! FMock.AddExpectation('InternalStartTransaction'); ! end; ! procedure TInstantMockConnector.SetMock(const Value: TUbMockObject); ! begin ! FMock := Value; ! end; ! initialization RegisterClass(TInstantMockConnectionDef); --- 1,180 ---- ! unit InstantMock; ! ! interface ! ! uses ! InstantPersistence, Classes, UbMockObject; ! ! type ! TInstantMockConnector = class(TInstantConnector, IUbMockObject) ! private ! FMock: TUbMockObject; ! protected ! procedure SetMock(const Value: TUbMockObject); ! function CreateBroker: TInstantBroker; override; ! procedure InternalConnect; override; ! function InternalCreateScheme(Model: TInstantModel): TInstantScheme; override; ! procedure InternalDisconnect; override; ! procedure InternalStartTransaction; override; ! procedure InternalCommitTransaction; override; ! procedure InternalRollbackTransaction; override; ! public ! property MockManager: TUbMockObject read FMock write SetMock implements IUbMockObject; ! class function ConnectionDefClass: TInstantConnectionDefClass; override; ! constructor Create(AOwner: TComponent); override; ! destructor Destroy; override; ! end; ! ! TInstantMockConnectionDef = class(TInstantConnectionDef) ! class function ConnectionTypeName: String; override; ! class function ConnectorClass: TInstantConnectorClass; override; ! function Edit: Boolean; override; ! end; ! ! TInstantMockBroker = class(TInstantBroker, IUbMockObject) ! private ! FMock: TUbMockObject; ! procedure SetMock(const Value: TUbMockObject); ! protected ! function InternalDisposeObject(AObject: TInstantObject; ! ConflictAction: TInstantConflictAction): Boolean; override; ! function InternalRetrieveObject(AObject: TInstantObject; ! const AObjectId: string; ! ConflictAction: TInstantConflictAction): Boolean; override; ! function InternalStoreObject(AObject: TInstantObject; ! ConflictAction: TInstantConflictAction): Boolean; override; ! public ! property MockManager: TUbMockObject read FMock write SetMock implements IUbMockObject; ! constructor Create(AConnector: TInstantConnector); override; ! destructor Destroy; override; ! end; ! ! implementation ! ! { TMockIConnector } ! ! class function TInstantMockConnector.ConnectionDefClass: TInstantConnectionDefClass; ! begin ! result := TInstantMockConnectionDef; ! end; ! ! constructor TInstantMockConnector.Create(AOwner: TComponent); ! begin ! inherited; ! FMock := TUbMockObject.Create; ! end; ! ! function TInstantMockConnector.CreateBroker: TInstantBroker; ! begin ! FMock.AddExpectation('CreateBroker'); ! Result := TInstantMockBroker.Create(Self); ! end; ! ! { TInstantMockConnectionDef } ! ! class function TInstantMockConnectionDef.ConnectionTypeName: String; ! begin ! result := 'Mock'; ! end; ! ! class function TInstantMockConnectionDef.ConnectorClass: TInstantConnectorClass; ! begin ! result := TInstantMockConnector; ! end; ! ! function TInstantMockConnectionDef.Edit: Boolean; ! begin ! result := True; //boh?? ! end; ! { TInstantMockBroker } ! destructor TInstantMockConnector.Destroy; ! begin ! FMock.Free; ! inherited; ! end; ! procedure TInstantMockConnector.InternalCommitTransaction; ! begin ! inherited; ! FMock.AddExpectation('InternalCommitTransaction'); ! end; ! procedure TInstantMockConnector.InternalConnect; ! begin ! FMock.AddExpectation('InternalConnect'); ! end; ! function TInstantMockConnector.InternalCreateScheme( ! Model: TInstantModel): TInstantScheme; ! begin ! FMock.AddExpectation('InternalCreateScheme'); ! result := TInstantScheme.Create(Model); ! end; ! procedure TInstantMockConnector.InternalDisconnect; ! begin ! FMock.AddExpectation('InternalDisconnect'); ! end; ! procedure TInstantMockBroker.SetMock(const Value: TUbMockObject); ! begin ! FMock := Value; ! end; ! constructor TInstantMockBroker.Create(AConnector: TInstantConnector); ! begin ! inherited; ! FMock := TUbMockObject.Create; ! end; ! destructor TInstantMockBroker.Destroy; ! begin ! FMock.Free; ! inherited; ! end; ! { TInstantMockBroker } ! function TInstantMockBroker.InternalDisposeObject(AObject: TInstantObject; ! ConflictAction: TInstantConflictAction): Boolean; ! begin ! Result := True; ! FMock.AddExpectation('InternalDisposeObject ' + AObject.Id); ! end; ! function TInstantMockBroker.InternalRetrieveObject(AObject: TInstantObject; ! const AObjectId: string; ! ConflictAction: TInstantConflictAction): Boolean; ! begin ! Result := True; ! FMock.AddExpectation('InternalRetrieveObject ' + AObjectId); ! end; ! function TInstantMockBroker.InternalStoreObject(AObject: TInstantObject; ! ConflictAction: TInstantConflictAction): Boolean; ! begin ! Result := True; ! FMock.AddExpectation('InternalStoreObject ' + AObject.Id); ! end; ! procedure TInstantMockConnector.InternalRollbackTransaction; ! begin ! inherited; ! FMock.AddExpectation('InternalRollbackTransaction'); ! end; ! procedure TInstantMockConnector.InternalStartTransaction; ! begin ! inherited; ! FMock.AddExpectation('InternalStartTransaction'); ! end; ! procedure TInstantMockConnector.SetMock(const Value: TUbMockObject); ! begin ! FMock := Value; ! end; ! initialization RegisterClass(TInstantMockConnectionDef); *************** *** 185,189 **** finalization ! TInstantMockConnector.UnregisterClass; ! ! end. --- 182,187 ---- finalization ! TInstantMockConnector.UnregisterClass; ! ! end. ! |
From: Nando D. <na...@us...> - 2005-02-22 11:44:06
|
Update of /cvsroot/instantobjects/Source/Tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1281/Tests Modified Files: TestIO.dpr Log Message: fixed line endings Index: TestIO.dpr =================================================================== RCS file: /cvsroot/instantobjects/Source/Tests/TestIO.dpr,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TestIO.dpr 20 Feb 2005 19:26:42 -0000 1.1 --- TestIO.dpr 22 Feb 2005 11:43:43 -0000 1.2 *************** *** 1,20 **** ! program TestIO; ! ! uses ! Forms, ! TestMockConnector in 'TestMockConnector.pas', ! guitestrunner {TestRunner}, ! fpcunit, ! testregistry, ! testutils, ! testreport, ! InstantMock in 'InstantMock.pas', ! TestMockBroker in 'TestMockBroker.pas'; ! ! {$R *.res} ! ! begin ! Application.Initialize; ! Application.CreateForm(TTestRunner, TestRunner); ! Application.Run; ! end. --- 1,21 ---- ! program TestIO; ! ! uses ! Forms, ! TestMockConnector in 'TestMockConnector.pas', ! guitestrunner {TestRunner}, ! fpcunit, ! testregistry, ! testutils, ! testreport, ! InstantMock in 'InstantMock.pas', ! TestMockBroker in 'TestMockBroker.pas'; ! ! {$R *.res} ! ! begin ! Application.Initialize; ! Application.CreateForm(TTestRunner, TestRunner); ! Application.Run; ! end. ! |
From: Nando D. <na...@us...> - 2005-02-22 11:42:06
|
Update of /cvsroot/instantobjects/Source/Tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv698/Tests Modified Files: TestMockConnector.pas Log Message: fixed line endings Index: TestMockConnector.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Tests/TestMockConnector.pas,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TestMockConnector.pas 20 Feb 2005 19:26:42 -0000 1.1 --- TestMockConnector.pas 22 Feb 2005 11:41:23 -0000 1.2 *************** *** 1,111 **** ! unit TestMockConnector; ! ! interface ! ! uses ! Classes, SysUtils, ! InstantPersistence, ! fpcunit, ! testregistry, ! InstantMock, ! UbMockObject; ! ! type ! ! TTestMockConnector = class(TTestCase) ! published ! procedure TestBuildDatabase; ! procedure TestConnectDisconnect; ! procedure TestTransaction; ! procedure TestDefault; ! end; ! ! implementation ! ! { TTestMockConnector } ! ! procedure TTestMockConnector.TestBuildDatabase; ! var ! conn: TInstantMockConnector; ! begin ! InstantModel.LoadFromFile(ChangeFileExt(ParamStr(0),'.mdx')); ! conn := TInstantMockConnector.Create(nil); ! try ! AssertNotNull(conn); ! conn.MockManager.AddExpectation('InternalConnect'); ! conn.MockManager.AddExpectation('InternalCreateScheme'); ! conn.MockManager.AddExpectation('CreateBroker'); ! conn.MockManager.AddExpectation('InternalDisconnect'); ! conn.MockManager.EndSetUp; ! AssertEquals(4, conn.MockManager.UncoveredExpectations); ! conn.BuildDatabase(InstantModel); ! conn.MockManager.Verify; ! finally ! conn.Free; ! end; ! ! end; ! ! procedure TTestMockConnector.TestConnectDisconnect; ! var ! conn: TInstantMockConnector; ! begin ! conn := TInstantMockConnector.Create(nil); ! try ! conn.BuildDatabase(InstantModel); ! conn.MockManager.StartSetUp; ! conn.MockManager.AddExpectation('InternalConnect'); ! conn.MockManager.AddExpectation('InternalDisconnect'); ! conn.MockManager.EndSetUp; ! conn.Connect; ! conn.Disconnect; ! conn.MockManager.Verify; ! finally ! conn.Free; ! end; ! end; ! ! ! procedure TTestMockConnector.TestTransaction; ! var ! conn: TInstantMockConnector; ! begin ! InstantModel.LoadFromFile(ChangeFileExt(ParamStr(0),'.mdx')); ! conn := TInstantMockConnector.Create(nil); ! try ! conn.BuildDatabase(InstantModel); ! conn.Connect; ! conn.MockManager.StartSetUp; //reset expectations ! conn.MockManager.AddExpectation('InternalStartTransaction'); ! conn.MockManager.AddExpectation('InternalCommitTransaction'); ! conn.MockManager.EndSetUp; ! conn.StartTransaction; ! AssertTrue(conn.InTransaction); conn.CommitTransaction; ! AssertFalse(conn.InTransaction); ! conn.MockManager.Verify; ! conn.Disconnect; ! finally ! conn.Free; ! end; ! end; ! ! procedure TTestMockConnector.TestDefault; ! var ! conn: TInstantMockConnector; ! begin ! conn := TInstantMockConnector.Create(nil); ! try ! conn.IsDefault := True; ! AssertSame(InstantDefaultConnector, conn); ! finally ! conn.Free; ! end; ! end; ! ! ! ! initialization ! RegisterTests([TTestMockConnector]); ! ! end. --- 1,106 ---- ! unit TestMockConnector; ! ! interface ! ! uses ! Classes, SysUtils, ! InstantPersistence, ! fpcunit, ! testregistry, ! InstantMock, ! UbMockObject; ! ! type ! TTestMockConnector = class(TTestCase) ! published ! procedure TestBuildDatabase; ! procedure TestConnectDisconnect; ! procedure TestTransaction; ! procedure TestDefault; ! end; ! ! implementation ! ! { TTestMockConnector } ! ! procedure TTestMockConnector.TestBuildDatabase; ! var ! conn: TInstantMockConnector; ! begin ! InstantModel.LoadFromFile(ChangeFileExt(ParamStr(0),'.mdx')); ! conn := TInstantMockConnector.Create(nil); ! try ! AssertNotNull(conn); ! conn.MockManager.AddExpectation('InternalConnect'); ! conn.MockManager.AddExpectation('InternalCreateScheme'); ! conn.MockManager.AddExpectation('CreateBroker'); ! conn.MockManager.AddExpectation('InternalDisconnect'); ! conn.MockManager.EndSetUp; ! AssertEquals(4, conn.MockManager.UncoveredExpectations); ! conn.BuildDatabase(InstantModel); ! conn.MockManager.Verify; ! finally ! conn.Free; ! end; ! end; ! ! procedure TTestMockConnector.TestConnectDisconnect; ! var ! conn: TInstantMockConnector; ! begin ! conn := TInstantMockConnector.Create(nil); ! try ! conn.BuildDatabase(InstantModel); ! conn.MockManager.StartSetUp; ! conn.MockManager.AddExpectation('InternalConnect'); ! conn.MockManager.AddExpectation('InternalDisconnect'); ! conn.MockManager.EndSetUp; ! conn.Connect; ! conn.Disconnect; ! conn.MockManager.Verify; ! finally ! conn.Free; ! end; ! end; ! ! procedure TTestMockConnector.TestTransaction; ! var ! conn: TInstantMockConnector; ! begin ! InstantModel.LoadFromFile(ChangeFileExt(ParamStr(0),'.mdx')); ! conn := TInstantMockConnector.Create(nil); ! try ! conn.BuildDatabase(InstantModel); ! conn.Connect; ! conn.MockManager.StartSetUp; //reset expectations ! conn.MockManager.AddExpectation('InternalStartTransaction'); ! conn.MockManager.AddExpectation('InternalCommitTransaction'); ! conn.MockManager.EndSetUp; ! conn.StartTransaction; ! AssertTrue(conn.InTransaction); conn.CommitTransaction; ! AssertFalse(conn.InTransaction); ! conn.MockManager.Verify; ! conn.Disconnect; ! finally ! conn.Free; ! end; ! end; ! ! procedure TTestMockConnector.TestDefault; ! var ! conn: TInstantMockConnector; ! begin ! conn := TInstantMockConnector.Create(nil); ! try ! conn.IsDefault := True; ! AssertSame(InstantDefaultConnector, conn); ! finally ! conn.Free; ! end; ! end; ! ! initialization ! RegisterTests([TTestMockConnector]); ! ! end. |
From: Nando D. <na...@us...> - 2005-02-22 11:32:16
|
Update of /cvsroot/instantobjects/Source/Tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31008/Tests Modified Files: TestMockBroker.pas Log Message: fixed line endings Index: TestMockBroker.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Tests/TestMockBroker.pas,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TestMockBroker.pas 20 Feb 2005 19:26:42 -0000 1.1 --- TestMockBroker.pas 22 Feb 2005 11:31:15 -0000 1.2 *************** *** 1,155 **** ! unit TestMockBroker; ! ! interface ! ! uses ! Classes, SysUtils, ! InstantPersistence, ! fpcunit, ! testregistry, ! InstantMock, ! UbMockObject, ! Model; ! ! type ! ! TTestMockBroker = class(TTestCase) ! private ! protected ! FConn: TInstantMockConnector; ! procedure SetUp; override; ! procedure TearDown; override; ! published ! procedure TestModelMdx; ! procedure TestGetBroker; ! procedure TestBuildDatabase; ! procedure TestStoreAndRetrieveAddress; ! procedure TestStoreAndRetrieveContact; ! end; ! ! ! implementation ! ! { TTestMockBroker } ! ! procedure TTestMockBroker.TestModelMdx; ! begin ! InstantModel.LoadFromFile(ChangeFileExt(ParamStr(0),'.mdx')); ! ! AssertNotNull(InstantModel.ClassMetadatas.Find('TContact')); ! end; ! ! ! procedure TTestMockBroker.TestGetBroker; ! var ! brok: TInstantMockBroker; ! begin ! brok := (Fconn.Broker as TInstantMockBroker); ! AssertNotNull(brok); ! AssertEquals(brok.ClassType, TInstantMockBroker); ! brok.MockManager.StartSetUp; ! brok.MockManager.EndSetUp; ! Fconn.BuildDatabase(InstantModel); ! brok.MockManager.Verify; ! end; ! ! procedure TTestMockBroker.TestBuildDatabase; ! var ! brok: TInstantMockBroker; ! begin ! InstantModel.LoadFromFile(ChangeFileExt(ParamStr(0),'.mdx')); ! brok := Fconn.Broker as TInstantMockBroker; ! brok.MockManager.StartSetUp; ! brok.MockManager.EndSetUp; ! Fconn.BuildDatabase(InstantModel); ! brok.MockManager.Verify; ! end; ! ! procedure TTestMockBroker.TestStoreAndRetrieveAddress; ! var ! a: TAddress; ! old_id: string; ! brok: TInstantMockBroker; ! begin ! InstantModel.LoadFromFile(ChangeFileExt(ParamStr(0),'.mdx')); ! Fconn.IsDefault := True; ! Fconn.StartTransaction; ! brok := Fconn.Broker as TInstantMockBroker; ! brok.MockManager.StartSetUp; ! a := TAddress.Create; ! try ! a.City := 'Milan'; ! a.Store(); ! old_id := a.id; ! finally ! a.Free; ! end; ! brok.MockManager.EndSetUp; ! brok.MockManager.AddExpectation('InternalStoreObject ' + old_id); ! brok.MockManager.Verify; ! Fconn.CommitTransaction; ! brok.MockManager.StartSetUp; ! a := TAddress.Create; ! try ! a.Retrieve(old_id); ! finally ! a.Free; ! end; ! brok.MockManager.EndSetUp; ! brok.MockManager.AddExpectation('InternalRetrieveObject ' + old_id); ! brok.MockManager.Verify; ! end; ! ! procedure TTestMockBroker.TestStoreAndRetrieveContact; ! var ! c: TContact; ! old_id: string; ! brok: TInstantMockBroker; ! begin ! InstantModel.LoadFromFile(ChangeFileExt(ParamStr(0),'.mdx')); ! ! Fconn.IsDefault := True; ! brok := Fconn.Broker as TInstantMockBroker; ! brok.MockManager.StartSetUp; ! c := TContact.Create; ! try ! c.Name := 'Mike'; ! c.Address.City := 'Milan'; ! c.Store(); ! old_id := c.id; ! finally ! c.Free; ! end; ! brok.MockManager.EndSetUp; ! brok.MockManager.AddExpectation('InternalStoreObject ' + old_id); ! brok.MockManager.Verify; ! brok.MockManager.StartSetUp; ! c := TContact.Create; ! try ! c.Retrieve(old_id); ! finally ! c.Free; ! end; ! brok.MockManager.EndSetUp; ! brok.MockManager.AddExpectation('InternalRetrieveObject ' + old_id); ! brok.MockManager.Verify; ! end; ! ! ! procedure TTestMockBroker.SetUp; ! begin ! inherited; ! FConn := TInstantMockConnector.Create(nil); ! end; ! ! procedure TTestMockBroker.TearDown; ! begin ! FConn.Free; ! inherited; ! end; ! ! initialization ! RegisterTests([TTestMockBroker]); ! ! end. --- 1,146 ---- ! unit TestMockBroker; ! interface ! ! uses ! Classes, SysUtils, InstantPersistence, fpcunit, testregistry, InstantMock, ! UbMockObject, Model; ! ! type ! TTestMockBroker = class(TTestCase) ! private ! protected ! FConn: TInstantMockConnector; ! procedure SetUp; override; ! procedure TearDown; override; ! published ! procedure TestModelMdx; ! procedure TestGetBroker; ! procedure TestBuildDatabase; ! procedure TestStoreAndRetrieveAddress; ! procedure TestStoreAndRetrieveContact; ! end; ! ! implementation ! ! { TTestMockBroker } ! ! procedure TTestMockBroker.TestModelMdx; ! begin ! InstantModel.LoadFromFile(ChangeFileExt(ParamStr(0),'.mdx')); ! ! AssertNotNull(InstantModel.ClassMetadatas.Find('TContact')); ! end; ! ! procedure TTestMockBroker.TestGetBroker; ! var ! brok: TInstantMockBroker; ! begin ! brok := (Fconn.Broker as TInstantMockBroker); ! AssertNotNull(brok); ! AssertEquals(brok.ClassType, TInstantMockBroker); ! brok.MockManager.StartSetUp; ! brok.MockManager.EndSetUp; ! Fconn.BuildDatabase(InstantModel); ! brok.MockManager.Verify; ! end; ! ! procedure TTestMockBroker.TestBuildDatabase; ! var ! brok: TInstantMockBroker; ! begin ! InstantModel.LoadFromFile(ChangeFileExt(ParamStr(0),'.mdx')); ! ! brok := Fconn.Broker as TInstantMockBroker; ! brok.MockManager.StartSetUp; ! brok.MockManager.EndSetUp; ! Fconn.BuildDatabase(InstantModel); ! brok.MockManager.Verify; ! end; ! ! procedure TTestMockBroker.TestStoreAndRetrieveAddress; ! var ! a: TAddress; ! old_id: string; ! brok: TInstantMockBroker; ! begin ! InstantModel.LoadFromFile(ChangeFileExt(ParamStr(0),'.mdx')); ! ! Fconn.IsDefault := True; ! Fconn.StartTransaction; ! brok := Fconn.Broker as TInstantMockBroker; ! brok.MockManager.StartSetUp; ! a := TAddress.Create; ! try ! a.City := 'Milan'; ! a.Store(); ! old_id := a.id; ! finally ! a.Free; ! end; ! brok.MockManager.EndSetUp; ! brok.MockManager.AddExpectation('InternalStoreObject ' + old_id); ! brok.MockManager.Verify; ! Fconn.CommitTransaction; ! brok.MockManager.StartSetUp; ! a := TAddress.Create; ! try ! a.Retrieve(old_id); ! finally ! a.Free; ! end; ! brok.MockManager.EndSetUp; ! brok.MockManager.AddExpectation('InternalRetrieveObject ' + old_id); ! brok.MockManager.Verify; ! end; ! ! procedure TTestMockBroker.TestStoreAndRetrieveContact; ! var ! c: TContact; ! old_id: string; ! brok: TInstantMockBroker; ! begin ! InstantModel.LoadFromFile(ChangeFileExt(ParamStr(0),'.mdx')); ! Fconn.IsDefault := True; ! brok := Fconn.Broker as TInstantMockBroker; ! brok.MockManager.StartSetUp; ! c := TContact.Create; ! try ! c.Name := 'Mike'; ! c.Address.City := 'Milan'; ! c.Store(); ! old_id := c.id; ! finally ! c.Free; ! end; ! brok.MockManager.EndSetUp; ! brok.MockManager.AddExpectation('InternalStoreObject ' + old_id); ! brok.MockManager.Verify; ! brok.MockManager.StartSetUp; ! c := TContact.Create; ! try ! c.Retrieve(old_id); ! finally ! c.Free; ! end; ! brok.MockManager.EndSetUp; ! brok.MockManager.AddExpectation('InternalRetrieveObject ' + old_id); ! brok.MockManager.Verify; ! end; ! ! procedure TTestMockBroker.SetUp; ! begin ! inherited; ! FConn := TInstantMockConnector.Create(nil); ! end; ! ! procedure TTestMockBroker.TearDown; ! begin ! FConn.Free; ! inherited; ! end; ! ! initialization ! RegisterTests([TTestMockBroker]); ! ! end. \ No newline at end of file |
From: Nando D. <na...@us...> - 2005-02-22 10:59:50
|
Update of /cvsroot/instantobjects/Source/Brokers/UIB In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24183/Brokers/UIB Modified Files: InstantUIB.pas Log Message: dropped UsePreparedQuery feature, superseded by the statement cache Index: InstantUIB.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/UIB/InstantUIB.pas,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** InstantUIB.pas 21 Feb 2005 10:22:33 -0000 1.6 --- InstantUIB.pas 22 Feb 2005 10:59:22 -0000 1.7 *************** *** 120,126 **** function GetSQLQuote: Char; override; function InternalCreateQuery: TInstantQuery; override; - procedure PrepareQuery(DataSet : TDataSet); override; - procedure UnprepareQuery(DataSet : TDataSet); override; - function ExecuteQuery(DataSet : TDataSet) : integer; override; procedure AssignDataSetParams(DataSet : TDataSet; AParams: TParams); override; public --- 120,123 ---- *************** *** 421,425 **** AssignDataSetParams(Query, AParams); Result := Query; - except Query.Free; --- 418,421 ---- *************** *** 471,484 **** end; - function TInstantUIBBroker.ExecuteQuery(DataSet: TDataSet) : integer; - begin - //don't call inherited! - with TJvUIBDataSet(DataSet) do - begin - Execute; - Result := RowsAffected; - end; - end; - function TInstantUIBBroker.GetConnector: TInstantUIBConnector; begin --- 467,470 ---- *************** *** 519,532 **** end; - procedure TInstantUIBBroker.PrepareQuery(DataSet: TDataSet); - begin - inherited; - end; - - procedure TInstantUIBBroker.UnprepareQuery(DataSet: TDataSet); - begin - inherited; - end; - { TInstantUIBTranslator } --- 505,508 ---- |
From: Nando D. <na...@us...> - 2005-02-22 10:56:29
|
Update of /cvsroot/instantobjects/Source/Brokers/IBX In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23351/Brokers/IBX Modified Files: InstantIBX.pas Log Message: dropped UsePreparedQuery feature, superseded by the statement cache Index: InstantIBX.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/IBX/InstantIBX.pas,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** InstantIBX.pas 10 Feb 2005 23:06:23 -0000 1.7 --- InstantIBX.pas 22 Feb 2005 10:56:08 -0000 1.8 *************** *** 25,36 **** * * Contributor(s): ! * Carlo Barazzetta: ! * - blob streaming in XML format (Part, Parts, References) ! * - Prepared queries support ! * - OnLogin event support ! * Nando Dessena: ! * - option to disable the use of delimited identifiers in dialect 3 databases ! * - implemented InternalCreateDatabase and GetDatabaseExists ! * NOTE: requires at least version x.07 of IBX. * ***** END LICENSE BLOCK ***** *) --- 25,30 ---- * * Contributor(s): ! * Carlo Barazzetta, Nando Dessena ! * * ***** END LICENSE BLOCK ***** *) *************** *** 127,133 **** function GetSQLQuote: Char; override; function InternalCreateQuery: TInstantQuery; override; - procedure PrepareQuery(DataSet : TDataSet); override; - procedure UnprepareQuery(DataSet : TDataSet); override; - function ExecuteQuery(DataSet : TDataSet) : integer; override; procedure AssignDataSetParams(DataSet : TDataSet; AParams: TParams); override; public --- 121,124 ---- *************** *** 466,479 **** end; - function TInstantIBXBroker.ExecuteQuery(DataSet: TDataSet) : integer; - begin - //don't call inherited! - with TIBQuery(DataSet) do - begin - ExecSQL; - Result := RowsAffected; - end; - end; - function TInstantIBXBroker.GetConnector: TInstantIBXConnector; begin --- 457,460 ---- *************** *** 514,529 **** end; - procedure TInstantIBXBroker.PrepareQuery(DataSet: TDataSet); - begin - inherited; - TIBQuery(DataSet).Prepare; - end; - - procedure TInstantIBXBroker.UnprepareQuery(DataSet: TDataSet); - begin - inherited; - TIBQuery(DataSet).Unprepare; - end; - { TInstantIBXTranslator } --- 495,498 ---- |
From: Nando D. <na...@us...> - 2005-02-22 10:55:19
|
Update of /cvsroot/instantobjects/Source/Brokers/DBX In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23046/Brokers/DBX Modified Files: InstantDBX.pas Log Message: dropped UsePreparedQuery feature, superseded by the statement cache Index: InstantDBX.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/DBX/InstantDBX.pas,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** InstantDBX.pas 16 Sep 2004 11:32:56 -0000 1.3 --- InstantDBX.pas 22 Feb 2005 10:54:23 -0000 1.4 *************** *** 103,110 **** function GetDatabaseName: string; override; function InternalCreateQuery: TInstantQuery; override; ! procedure PrepareQuery(DataSet : TDataSet); override; //CB ! procedure UnprepareQuery(DataSet : TDataSet); override; //CB ! function ExecuteQuery(DataSet : TDataSet) : integer; override; //CB ! procedure AssignDataSetParams(DataSet : TDataSet; AParams: TParams); override; //CB public function CreateDataSet(const AStatement: string; AParams: TParams = nil): TDataSet; override; --- 103,107 ---- function GetDatabaseName: string; override; function InternalCreateQuery: TInstantQuery; override; ! procedure AssignDataSetParams(DataSet : TDataSet; AParams: TParams); override; public function CreateDataSet(const AStatement: string; AParams: TParams = nil): TDataSet; override; *************** *** 414,428 **** begin with CreateDataSet(AStatement, AParams) as TSQLQuery do ! try ! Result := ExecSQL; ! finally ! Free; ! end; ! end; ! ! function TInstantDBXBroker.ExecuteQuery(DataSet: TDataSet): integer; ! begin ! //don't call inherited! ! Result := TSQLQuery(DataSet).ExecSQL; end; --- 411,419 ---- begin with CreateDataSet(AStatement, AParams) as TSQLQuery do ! try ! Result := ExecSQL; ! finally ! Free; ! end; end; *************** *** 442,457 **** end; - procedure TInstantDBXBroker.PrepareQuery(DataSet: TDataSet); - begin - inherited; - TSQLQuery(DataSet).Prepared := True; - end; - - procedure TInstantDBXBroker.UnprepareQuery(DataSet: TDataSet); - begin - inherited; - TSQLQuery(DataSet).Prepared := False; - end; - { TInstantDBXResolver } --- 433,436 ---- |
From: Nando D. <na...@us...> - 2005-02-22 10:54:19
|
Update of /cvsroot/instantobjects/Source/Brokers/ADO In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22905/Brokers/ADO Modified Files: InstantADO.pas Log Message: dropped UsePreparedQuery feature, superseded by the statement cache Index: InstantADO.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/ADO/InstantADO.pas,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** InstantADO.pas 21 Feb 2005 12:13:38 -0000 1.8 --- InstantADO.pas 22 Feb 2005 10:53:50 -0000 1.9 *************** *** 172,178 **** function GetSQLQuote: Char; override; function InternalCreateQuery: TInstantQuery; override; - procedure PrepareQuery(DataSet : TDataSet); override; - procedure UnprepareQuery(DataSet : TDataSet); override; - function ExecuteQuery(DataSet : TDataSet) : integer; override; procedure AssignDataSetParams(DataSet : TDataSet; AParams: TParams); override; public --- 172,175 ---- *************** *** 1098,1106 **** end; - function TInstantADOMSSQLBroker.ExecuteQuery(DataSet: TDataSet): integer; - begin - Result := TADOQuery(DataSet).ExecSQL; - end; - function TInstantADOMSSQLBroker.GetSQLQuote: Char; begin --- 1095,1098 ---- *************** *** 1113,1126 **** end; - procedure TInstantADOMSSQLBroker.PrepareQuery(DataSet: TDataSet); - begin - TADOQuery(DataSet).Prepared := True; - end; - - procedure TInstantADOMSSQLBroker.UnprepareQuery(DataSet: TDataSet); - begin - TADOQuery(DataSet).Prepared := False; - end; - { TInstantADOMSSQLQuery } --- 1105,1108 ---- |
From: Nando D. <na...@us...> - 2005-02-22 10:52:13
|
Update of /cvsroot/instantobjects/Source/Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22476/Core Modified Files: InstantConsts.pas InstantPersistence.pas Log Message: dropped UsePreparedQuery feature, superseded by the statement cache Index: InstantConsts.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/InstantConsts.pas,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** InstantConsts.pas 16 Sep 2004 11:42:01 -0000 1.5 --- InstantConsts.pas 22 Feb 2005 10:50:59 -0000 1.6 *************** *** 153,159 **** SUnsupportedType = 'Unsupported type: %s'; SUpdateConflict = 'Object %s(''%s'') was updated by another session'; - SUnsupportedUsePreparedQuery = 'UsePreparedQueries option not supported by broker of type %s'; SUnsupportedGraphicStream = 'Unsupported graphic stream format'; SUnsupportedGraphicClass = 'Unsupported graphic class'; implementation --- 153,159 ---- SUnsupportedType = 'Unsupported type: %s'; SUpdateConflict = 'Object %s(''%s'') was updated by another session'; SUnsupportedGraphicStream = 'Unsupported graphic stream format'; SUnsupportedGraphicClass = 'Unsupported graphic class'; + SMissingImplementation = 'Method %s is not implemented in class %s'; implementation Index: InstantPersistence.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/InstantPersistence.pas,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** InstantPersistence.pas 22 Feb 2005 08:05:03 -0000 1.25 --- InstantPersistence.pas 22 Feb 2005 10:51:01 -0000 1.26 *************** *** 2141,2145 **** FGenerator: TInstantSQLGenerator; FResolverList: TObjectList; - FUsePreparedQuery: Boolean; function GetResolverList: TObjectList; function GetResolverCount: Integer; --- 2141,2144 ---- *************** *** 2151,2157 **** procedure InternalBuildDatabase(Scheme: TInstantScheme); override; property ResolverList: TObjectList read GetResolverList; - procedure PrepareQuery(DataSet : TDataSet); virtual; - function ExecuteQuery(DataSet : TDataSet) : integer; virtual; - procedure UnprepareQuery(DataSet : TDataSet); virtual; procedure AssignDataSetParams(DataSet : TDataSet; AParams: TParams); virtual; function CreateDataSet(const AStatement: string; AParams: TParams = nil): TDataSet; virtual; abstract; --- 2150,2153 ---- *************** *** 2167,2171 **** property ResolverCount: Integer read GetResolverCount; property Resolvers[Index: Integer]: TInstantSQLResolver read GetResolvers; - property UsePreparedQuery: Boolean read FUsePreparedQuery write FUsePreparedQuery; end; --- 2163,2166 ---- *************** *** 2179,2192 **** FUpdateSQL: string; FUpdateConcurrentSQL: string; - - FPreparedDataSet: TDataSet; - LastStatement: string; - LastConnector: TObject; FSelectExternalSQL: string; FSelectExternalPartSQL: string; FDeleteExternalSQL: string; FInsertExternalSQL: string; - function CreatePreparedQuery(const AStatement: string; AParams: TParams = nil): TDataSet; - procedure AddIntegerParam(Params: TParams; const ParamName: string; Value: Integer); procedure AddStringParam(Params: TParams; const ParamName, Value: string); --- 2174,2181 ---- *************** *** 2204,2208 **** function GetUpdateSQL: string; function GetBroker: TInstantSQLBroker; - function GetUsePreparedQuery: Boolean; function GetSelectExternalSQL: string; function GetSelectExternalPartSQL: string; --- 2193,2196 ---- *************** *** 2244,2248 **** public constructor Create(ABroker: TInstantSQLBroker; AMap: TInstantAttributeMap); - destructor Destroy; override; property Broker: TInstantSQLBroker read GetBroker; property DeleteConcurrentSQL: string read GetDeleteConcurrentSQL write FDeleteConcurrentSQL; --- 2232,2235 ---- *************** *** 2257,2261 **** property UpdateConcurrentSQL: string read GetUpdateConcurrentSQL write FUpdateConcurrentSQL; property UpdateSQL: string read GetUpdateSQL write FUpdateSQL; - property UsePreparedQuery: Boolean read GetUsePreparedQuery; end; --- 2244,2247 ---- *************** *** 12881,12886 **** procedure TInstantSQLBroker.AssignDataSetParams(DataSet: TDataSet; AParams: TParams); begin ! // must be implemented in derived broker ! raise EInstantError.CreateFmt(SUnsupportedUsePreparedQuery, [ClassName]); end; --- 12867,12871 ---- procedure TInstantSQLBroker.AssignDataSetParams(DataSet: TDataSet; AParams: TParams); begin ! raise EInstantError.CreateFmt(SMissingImplementation, ['AssignDataSetParams', ClassName]); end; *************** *** 12903,12912 **** end; - function TInstantSQLBroker.ExecuteQuery(DataSet: TDataSet): Integer; - begin - // must be implemented in derived broker - raise EInstantError.CreateFmt(SUnsupportedUsePreparedQuery, [ClassName]); - end; - function TInstantSQLBroker.FindResolver( AMap: TInstantAttributeMap): TInstantSQLResolver; --- 12888,12891 ---- *************** *** 12999,13007 **** end; - procedure TInstantSQLBroker.PrepareQuery(DataSet: TDataSet); - begin - //Prepare the query in derived Broker - end; - procedure TInstantSQLBroker.ReleaseDataSet(const ADataSet: TDataSet); begin --- 12978,12981 ---- *************** *** 13012,13020 **** end; - procedure TInstantSQLBroker.UnprepareQuery(DataSet: TDataSet); - begin - //Unprepare the query in derived Broker - end; - { TInstantSQLResolver } --- 12986,12989 ---- *************** *** 13285,13331 **** end; - function TInstantSQLResolver.CreatePreparedQuery(const AStatement: string; - AParams: TParams): TDataSet; - begin - if (FPreparedDataSet = nil) or (LastStatement <> AStatement) or (LastConnector <> Broker.Connector) then - begin - //First time or different statement/connector: create and prepare query - if Assigned(FPreparedDataSet) then - begin - FPreparedDataSet.Close; - Broker.UnprepareQuery(FPreparedDataSet); - FPreparedDataSet.Free; - FPreparedDataSet := nil; - end; - Result := Broker.CreateDataSet(AStatement,AParams); - try - FPreparedDataSet := Result; - LastStatement := AStatement; - LastConnector := Broker.Connector; - //Prepare the query for future uses - Broker.PrepareQuery(FPreparedDataSet); - except - Result.Free; - raise; - end; - end - else - begin - //Return the previous prepared query - if FPreparedDataSet.Active then - FPreparedDataSet.Close; - //Assign only new param values - Broker.AssignDataSetParams(FPreparedDataSet,AParams); - Result := FPreparedDataSet; - end; - end; - - destructor TInstantSQLResolver.Destroy; - begin - if Assigned(FPreparedDataSet) then - FPreparedDataSet.Free; - inherited; - end; - function TInstantSQLResolver.ExecuteStatement(const AStatement: string; AParams: TParams; Info: PInstantOperationInfo; --- 13254,13257 ---- *************** *** 13333,13337 **** var TransError: Exception; - DataSet : TDataSet; begin {$IFDEF IO_STATEMENT_LOGGING} --- 13259,13262 ---- *************** *** 13339,13350 **** {$ENDIF} try ! if not UsePreparedQuery then ! Result := Broker.Execute(AStatement, AParams) ! else ! begin ! DataSet := CreatePreparedQuery(AStatement, AParams); ! Result := Broker.ExecuteQuery(DataSet); ! end; ! Info.Success := Result = 1; Info.Conflict := not Info.Success or (ConflictAction = caIgnore); --- 13264,13268 ---- {$ENDIF} try ! Result := Broker.Execute(AStatement, AParams); Info.Success := Result = 1; Info.Conflict := not Info.Success or (ConflictAction = caIgnore); *************** *** 13438,13446 **** end; - function TInstantSQLResolver.GetUsePreparedQuery: Boolean; - begin - Result := Broker.UsePreparedQuery; - end; - procedure TInstantSQLResolver.InternalDisposeMap(AObject: TInstantObject; Map: TInstantAttributeMap; ConflictAction: TInstantConflictAction; --- 13356,13359 ---- *************** *** 13656,13664 **** try AddBaseParams(Params, AObject.ClassName, AObjectId); ! if not UsePreparedQuery then ! DataSet := Broker.AcquireDataSet(SelectSQL, Params) ! else ! DataSet := CreatePreparedQuery(SelectSQL, Params); ! try DataSet.Open; --- 13569,13573 ---- try AddBaseParams(Params, AObject.ClassName, AObjectId); ! DataSet := Broker.AcquireDataSet(SelectSQL, Params); try DataSet.Open; *************** *** 13673,13678 **** ResetAttributes; finally ! if not UsePreparedQuery then ! Broker.ReleaseDataSet(DataSet); end; finally --- 13582,13586 ---- ResetAttributes; finally ! Broker.ReleaseDataSet(DataSet); end; finally |
From: Nando D. <na...@us...> - 2005-02-22 10:43:48
|
Update of /cvsroot/instantobjects/Demos/PrimerCross In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20857/PrimerCross Added Files: PrimerExternal.res Log Message: program icon added --- NEW FILE: PrimerExternal.res --- (This appears to be a binary file; contents omitted.) |
From: Nando D. <na...@us...> - 2005-02-22 10:41:19
|
Update of /cvsroot/instantobjects/Demos/PrimerCross In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20124/PrimerCross Modified Files: PerformanceView.dfm PerformanceView.pas Log Message: statement cache perf. test GUI reworked Index: PerformanceView.pas =================================================================== RCS file: /cvsroot/instantobjects/Demos/PrimerCross/PerformanceView.pas,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** PerformanceView.pas 10 Feb 2005 23:06:19 -0000 1.7 --- PerformanceView.pas 22 Feb 2005 10:40:28 -0000 1.8 *************** *** 123,133 **** TestResultRenameItem: TMenuItem; TransactionsCheckBox: TCheckBox; ! NumberLabel: TLabel; ObjectsEdit: TMaskEdit; TestRetrieveCheckBox: TCheckBox; TestDisposeCheckBox: TCheckBox; - PoolOptionsRadioGroup: TRadioGroup; TestQueryCheckBox: TCheckBox; Series1: TBarSeries; procedure RunButtonClick(Sender: TObject); procedure TestResultListViewChange(Sender: TObject; Item: TListItem; --- 123,134 ---- TestResultRenameItem: TMenuItem; TransactionsCheckBox: TCheckBox; ! ObjectsLabel: TLabel; ObjectsEdit: TMaskEdit; TestRetrieveCheckBox: TCheckBox; TestDisposeCheckBox: TCheckBox; TestQueryCheckBox: TCheckBox; Series1: TBarSeries; + CacheSizeLabel: TLabel; + CacheSizeEdit: TMaskEdit; procedure RunButtonClick(Sender: TObject); procedure TestResultListViewChange(Sender: TObject; Item: TListItem; *************** *** 144,148 **** {$ENDIF} procedure TransactionsCheckBoxClick(Sender: TObject); - procedure PoolOptionsRadioGroupClick(Sender: TObject); procedure TestDisposeCheckBoxClick(Sender: TObject); procedure TestRetrieveCheckBoxClick(Sender: TObject); --- 145,148 ---- *************** *** 510,513 **** --- 510,515 ---- if not Confirm(Format('Run performance test on "%s"?', [ConnectionName])) then Exit; + TInstantSQLBroker(Connector.Broker).StatementCacheCapacity := + StrToInt(Trim(CacheSizeEdit.Text)); with TPersistenceTest.Create do try *************** *** 668,685 **** ObjectsEdit.Enabled := IsConnected; TestRetrieveCheckBox.Enabled := IsConnected; TestDisposeCheckBox.Enabled := IsConnected; if Assigned(Connector) and (Connector.Broker is TInstantSQLBroker) then begin ! PoolOptionsRadioGroup.Visible := True; ! PoolOptionsRadioGroup.Enabled := IsConnected; ! if TInstantSQLBroker(Connector.Broker).UsePreparedQuery then ! PoolOptionsRadioGroup.ItemIndex := 1 ! else if TInstantSQLBroker(Connector.Broker).StatementCacheCapacity <> 0 then ! PoolOptionsRadioGroup.ItemIndex := 2 ! else ! PoolOptionsRadioGroup.ItemIndex := 0; end else ! PoolOptionsRadioGroup.Visible := False; ConnectionLabel.Caption := 'Connection: ' + ConnectionName; --- 670,688 ---- ObjectsEdit.Enabled := IsConnected; TestRetrieveCheckBox.Enabled := IsConnected; + TestQueryCheckBox.Enabled := IsConnected; TestDisposeCheckBox.Enabled := IsConnected; if Assigned(Connector) and (Connector.Broker is TInstantSQLBroker) then begin ! CacheSizeEdit.Visible := True; ! CacheSizeLabel.Visible := CacheSizeEdit.Visible; ! CacheSizeEdit.Enabled := IsConnected; ! CacheSizeLabel.Enabled := CacheSizeEdit.Enabled; ! CacheSizeEdit.Text := IntToStr(TInstantSQLBroker(Connector.Broker).StatementCacheCapacity); end else ! begin ! CacheSizeEdit.Visible := False; ! CacheSizeLabel.Visible := False; ! end; ConnectionLabel.Caption := 'Connection: ' + ConnectionName; *************** *** 693,719 **** end; - procedure TPerformanceViewForm.PoolOptionsRadioGroupClick(Sender: TObject); - begin - inherited; - if Connector.Broker is TInstantSQLBroker then - case PoolOptionsRadioGroup.ItemIndex of - 0 : - begin - TInstantSQLBroker(Connector.Broker).UsePreparedQuery := False; - TInstantSQLBroker(Connector.Broker).StatementCacheCapacity := 0; - end; - 1 : - begin - TInstantSQLBroker(Connector.Broker).UsePreparedQuery := True; - TInstantSQLBroker(Connector.Broker).StatementCacheCapacity := 0; - end; - 2 : - begin - TInstantSQLBroker(Connector.Broker).UsePreparedQuery := False; - TInstantSQLBroker(Connector.Broker).StatementCacheCapacity := -1; - end; - end; - end; - procedure TPerformanceViewForm.SetTitleLabel(TitleLabel: TLabel); begin --- 696,699 ---- Index: PerformanceView.dfm =================================================================== RCS file: /cvsroot/instantobjects/Demos/PrimerCross/PerformanceView.dfm,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** PerformanceView.dfm 10 Feb 2005 13:04:25 -0000 1.4 --- PerformanceView.dfm 22 Feb 2005 10:40:27 -0000 1.5 *************** *** 85,89 **** 8000001F8000001F8000001F0000001F38E0107FFDF079FFF8F9FFFF} end ! object NumberLabel: TLabel Left = 16 Top = 72 --- 85,89 ---- 8000001F8000001F8000001F0000001F38E0107FFDF079FFF8F9FFFF} end ! object ObjectsLabel: TLabel Left = 16 Top = 72 *************** *** 93,96 **** --- 93,104 ---- FocusControl = ObjectsEdit end + object CacheSizeLabel: TLabel + Left = 328 + Top = 72 + Width = 108 + Height = 13 + Caption = 'Statement &Cache Size:' + FocusControl = CacheSizeEdit + end object RunButton: TButton Left = 480 *************** *** 123,132 **** end object TransactionsCheckBox: TCheckBox ! Left = 479 ! Top = 16 Width = 112 Height = 17 Caption = 'Use &Transactions' ! TabOrder = 6 OnClick = TransactionsCheckBoxClick end --- 131,140 ---- end object TransactionsCheckBox: TCheckBox ! Left = 207 ! Top = 88 Width = 112 Height = 17 Caption = 'Use &Transactions' ! TabOrder = 5 OnClick = TransactionsCheckBoxClick end *************** *** 134,138 **** Left = 16 Top = 86 ! Width = 73 Height = 21 EditMask = '#########;1; ' --- 142,146 ---- Left = 16 Top = 86 ! Width = 81 Height = 21 EditMask = '#########;1; ' *************** *** 142,147 **** end object TestRetrieveCheckBox: TCheckBox ! Left = 101 ! Top = 66 Width = 95 Height = 17 --- 150,155 ---- end object TestRetrieveCheckBox: TCheckBox ! Left = 109 ! Top = 70 Width = 95 Height = 17 *************** *** 153,158 **** end object TestDisposeCheckBox: TCheckBox ! Left = 101 ! Top = 96 Width = 95 Height = 17 --- 161,166 ---- end object TestDisposeCheckBox: TCheckBox ! Left = 109 ! Top = 100 Width = 95 Height = 17 *************** *** 163,184 **** OnClick = TestDisposeCheckBoxClick end - object PoolOptionsRadioGroup: TRadioGroup - Left = 200 - Top = 68 - Width = 385 - Height = 47 - Caption = 'SQL brokers features' - Columns = 3 - ItemIndex = 0 - Items.Strings = ( - 'No cache' - 'Prepared queries' - 'Statements cache') - TabOrder = 5 - OnClick = PoolOptionsRadioGroupClick - end object TestQueryCheckBox: TCheckBox ! Left = 101 ! Top = 81 Width = 95 Height = 17 --- 171,177 ---- OnClick = TestDisposeCheckBoxClick end object TestQueryCheckBox: TCheckBox ! Left = 109 ! Top = 85 Width = 95 Height = 17 *************** *** 188,191 **** --- 181,194 ---- TabOrder = 3 end + object CacheSizeEdit: TMaskEdit + Left = 328 + Top = 86 + Width = 113 + Height = 21 + EditMask = '#########;1; ' + MaxLength = 9 + TabOrder = 6 + Text = '-1 ' + end end object ResultPanel: TPanel |
From: Nando D. <na...@us...> - 2005-02-22 10:37:18
|
Update of /cvsroot/instantobjects/Docs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19197 Added Files: Statement_Cache.txt Log Message: statement cache documentation --- NEW FILE: Statement_Cache.txt --- Statement cache =============== Nando Dessena, 02/2005. Abstract -------- This file documents the statement cache feature of Instant Objects. Please note that the statement cache supersedes the UsePreparedQuery setting (see Prepared_Query_Support.txt) which is no longer supported. What is it ---------- The statement cache is a broker-level memory pool (for SQL-based brokers only) in which Instant Objects stores all the SQL statement object instances (typically they are TDataSet derivatives) it executes, in order to reuse them later. The rationale behind this is that preparing a SQL statement in a C/S scenario is a costly operation, and since a SQL-based IO broker generates a reasonably small number of different SQL queries, it pays (in terms of execution speed) to be able to reuse them, and it doesn't cost much memory. How to use it ------------- The statement cache is disabled by default, and it is enabled by setting the Integer property StatementCacheCapacity of TInstantSQLBroker to a value <> 0. Here is an example: (InstantDefaultConnector.Broker as TInstantSQLBroker).StatementCacheCapacity := -1; This will only work for SQL-based brokers (otherwise an invalid cast exception is raised) and will setup an unlimited size cache, which means that each and every SQL statement is cached and reused. Setting StatementCacheCapacity to 0 disables the feature, while setting it to a value > 0 means setting up a limited size cache. NOTE: currently every value > 0 is treated the same as -1, that is the cache is always boundless. It is my intention to finish the implementation but I need to find a shrink policy (basically decide which objects are to be deleted when the cache reaches its limit to make room for the new objects) that is both effective and efficient - help appreciated here. BTW, the current, unlimited setting suits my projects well enough for the time being. The cache is in effect as long as the connector is active. Closing the connection has the side effect of emptying the cache. This makes the feature less attractive in multithreaded/server application scenarios, unless connection pooling at the IO level is also used. Supporting the statement cache ------------------------------ All the existing supported SQL-based brokers have been adapted to support the statement cache. There is an outstanding problem with the UIB broker, in the form of an "invalid BLOB id" error message, when classic/internal storage is used. A new broker that wishes to support it will have to be developed according to the following notes. TInstantSQLBroker.AcquireDataset and TInstantSQLBroker.ReleaseDataSet should be used every time a dataset is needed. It is no longer allowed to directly free a dataset. When the statement cache is disabled, ReleaseDataSet will free the dataset. Here is an example from the IBX broker: function TInstantIBXBroker.Execute(const AStatement: string; AParams: TParams): Integer; var DataSet: TIBQuery; begin DataSet := AcquireDataSet(AStatement, AParams) as TIBQuery; try DataSet.ExecSQL; Result := DataSet.RowsAffected; finally ReleaseDataSet(DataSet); end; end; AcquireDataSet may eventually call CreateDataSet to do the job, so CreateDataSet should be overridden in derived brokers as usual. TInstantSQLQuery.CreateDataSet has been renamed AcquireDataSet, and an additional ReleaseDataSet method has been introduced. Here are the default implementations: function TInstantSQLQuery.AcquireDataSet(const AStatement: string; AParams: TParams): TDataSet; begin Result := (Connector.Broker as TInstantSQLBroker).AcquireDataSet(AStatement, AParams); end; procedure TInstantSQLQuery.ReleaseDataSet(const DataSet: TDataSet); begin (Connector.Broker as TInstantSQLBroker).ReleaseDataSet(DataSet); end; It shouldn't be necessary to override them. Brokers that did override CreateDataSet, like in TInstantADOMSSQLQuery, have been revised and changed. To add statement cache support to a SQL broker, it suffices to ensure that every call to CreateDataSet is changed to AcquireDataSet and is paired with a call to ReleaseDataSet(DataSet) and NOT DataSet.Free. The IBX broker is a good example. Compatibility notes ------------------- Since the statement cache has proved at least as beneficial as the "UsePreparedQuery" setting in all tests (and much more effective in some cases), we have deprecated and removed the latter. Thus, the following broker methods: procedure PrepareQuery(DataSet : TDataSet); override; procedure UnprepareQuery(DataSet : TDataSet); override; function ExecuteQuery(DataSet : TDataSet) : integer; override; do no longer exist. |
Update of /cvsroot/instantobjects/Source/Brokers/UIB/D5 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17921/Brokers/UIB/D5 Removed Files: DclIOUIB.cfg DclIOUIB.dof DclIOUIB.dpk DclIOUIB.res IOUIB.cfg IOUIB.dof IOUIB.dpk IOUIB.res Log Message: removed obsolete files --- IOUIB.dpk DELETED --- --- IOUIB.res DELETED --- --- IOUIB.dof DELETED --- --- IOUIB.cfg DELETED --- --- DclIOUIB.cfg DELETED --- --- DclIOUIB.dof DELETED --- --- DclIOUIB.dpk DELETED --- --- DclIOUIB.res DELETED --- |
From: Nando D. <na...@us...> - 2005-02-22 08:09:11
|
Update of /cvsroot/instantobjects/Source/Design/K3 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16546/Design/K3 Modified Files: DclIOCore.dpk Log Message: fixes (could people with Kylix check it still builds, please?) Index: DclIOCore.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Design/K3/DclIOCore.dpk,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DclIOCore.dpk 7 Dec 2004 08:51:43 -0000 1.1 --- DclIOCore.dpk 22 Feb 2005 08:09:02 -0000 1.2 *************** *** 2,6 **** {$R *.res} - {$R '../iodesimages.res'} {$R '../../Core/InstantPresentation.dcr'} {$R '../../Core/InstantPersistence.dcr'} --- 2,5 ---- *************** *** 33,36 **** --- 32,36 ---- requires + IOCore, designide, dataclx, *************** *** 52,57 **** InstantUnitSelect in '../InstantUnitSelect.pas' {InstantUnitSelectForm}, InstantAttributeEditor in '../InstantAttributeEditor.pas' {InstantAttributeEditorForm}, ! InstantAbout in '../InstantAbout.pas' {InstantAboutForm}, ! InstantPump in '../../Core/InstantPump.pas'; end. --- 52,56 ---- InstantUnitSelect in '../InstantUnitSelect.pas' {InstantUnitSelectForm}, InstantAttributeEditor in '../InstantAttributeEditor.pas' {InstantAttributeEditorForm}, ! InstantAbout in '../InstantAbout.pas' {InstantAboutForm}; end. |
From: Nando D. <na...@us...> - 2005-02-22 08:08:02
|
Update of /cvsroot/instantobjects/Source/Design/D7 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16157/Design/D7 Modified Files: DclIOCore.cfg DclIOCore.dof DclIOCore.dpk Log Message: typed @ operator Index: DclIOCore.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Design/D7/DclIOCore.dpk,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** DclIOCore.dpk 19 Feb 2005 10:47:20 -0000 1.5 --- DclIOCore.dpk 22 Feb 2005 08:07:48 -0000 1.6 *************** *** 23,27 **** {$SAFEDIVIDE OFF} {$STACKFRAMES OFF} ! {$TYPEDADDRESS OFF} {$VARSTRINGCHECKS ON} {$WRITEABLECONST ON} --- 23,27 ---- {$SAFEDIVIDE OFF} {$STACKFRAMES OFF} ! {$TYPEDADDRESS ON} {$VARSTRINGCHECKS ON} {$WRITEABLECONST ON} Index: DclIOCore.dof =================================================================== RCS file: /cvsroot/instantobjects/Source/Design/D7/DclIOCore.dof,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** DclIOCore.dof 19 Feb 2005 10:47:56 -0000 1.7 --- DclIOCore.dof 22 Feb 2005 08:07:48 -0000 1.8 *************** *** 21,25 **** R=0 S=0 ! T=0 U=0 V=1 --- 21,25 ---- R=0 S=0 ! T=1 U=0 V=1 Index: DclIOCore.cfg =================================================================== RCS file: /cvsroot/instantobjects/Source/Design/D7/DclIOCore.cfg,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** DclIOCore.cfg 19 Feb 2005 10:47:56 -0000 1.3 --- DclIOCore.cfg 22 Feb 2005 08:07:48 -0000 1.4 *************** *** 18,22 **** -$R- -$S- ! -$T- -$U- -$V+ --- 18,22 ---- -$R- -$S- ! -$T+ -$U- -$V+ |
From: Nando D. <na...@us...> - 2005-02-22 08:06:37
|
Update of /cvsroot/instantobjects/Source/Design/D6 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15753/Design/D6 Modified Files: DclIOCore.cfg DclIOCore.dof DclIOCore.dpk Log Message: typed @ operator Index: DclIOCore.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Design/D6/DclIOCore.dpk,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** DclIOCore.dpk 19 Feb 2005 10:41:37 -0000 1.2 --- DclIOCore.dpk 22 Feb 2005 08:06:27 -0000 1.3 *************** *** 22,26 **** {$SAFEDIVIDE OFF} {$STACKFRAMES OFF} ! {$TYPEDADDRESS OFF} {$VARSTRINGCHECKS ON} {$WRITEABLECONST ON} --- 22,26 ---- {$SAFEDIVIDE OFF} {$STACKFRAMES OFF} ! {$TYPEDADDRESS ON} {$VARSTRINGCHECKS ON} {$WRITEABLECONST ON} Index: DclIOCore.dof =================================================================== RCS file: /cvsroot/instantobjects/Source/Design/D6/DclIOCore.dof,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DclIOCore.dof 20 Jul 2004 16:39:09 -0000 1.1 --- DclIOCore.dof 22 Feb 2005 08:06:22 -0000 1.2 *************** *** 21,25 **** R=0 S=0 ! T=0 U=0 V=1 --- 21,25 ---- R=0 S=0 ! T=1 U=0 V=1 *************** *** 86,90 **** ProductVersion=1.7 Comments= - [Excluded Packages] - C:\Programmi\Borland\Delphi6\Bin\dcldbxcds60.bpl=Borland Local DBX ClientDataset Components - C:\Programmi\Borland\Delphi6\Bin\dclclxstd60.bpl=Borland CLX Standard Components --- 86,87 ---- Index: DclIOCore.cfg =================================================================== RCS file: /cvsroot/instantobjects/Source/Design/D6/DclIOCore.cfg,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DclIOCore.cfg 20 Jul 2004 16:39:09 -0000 1.1 --- DclIOCore.cfg 22 Feb 2005 08:06:22 -0000 1.2 *************** *** 18,22 **** -$R- -$S- ! -$T- -$U- -$V+ --- 18,22 ---- -$R- -$S- ! -$T+ -$U- -$V+ |
Update of /cvsroot/instantobjects/Source/Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15222/Core Modified Files: InstantClasses.pas InstantCommand.pas InstantPersistence.pas InstantPresentation.pas InstantTextFiler.pas InstantUtils.pas Log Message: changes to compile with the "typed @ operator" option set Index: InstantPresentation.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/InstantPresentation.pas,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** InstantPresentation.pas 10 Feb 2005 23:19:55 -0000 1.10 --- InstantPresentation.pas 22 Feb 2005 08:05:03 -0000 1.11 *************** *** 25,37 **** * * Contributor(s): ! * Carlo Barazzetta, Andrea Petrelli: porting Kylix ! * Carlo Barazzetta: ! * - Exposer Undo virtual and access to UndoBuffer (Removed!) ! * - Exposer OnAddClassFieldDef event ! * - Added Currency and Graphic support to exposer ! * Andrea Petrelli: ! * - Added OnProgress event on TInstantSelector ! * Nando Dessena: ! * - Fixed Range Check Error in TInstantCustomExposer.LoadFieldValue * ***** END LICENSE BLOCK ***** *) --- 25,29 ---- * * Contributor(s): ! * Carlo Barazzetta, Andrea Petrelli, Nando Dessena * ***** END LICENSE BLOCK ***** *) *************** *** 753,757 **** Result := InstantGetAccessorClass(ObjectClass); if not Assigned(Result) then ! raise EInstantError.CreateResFmt(@SAccessorClassNotFoundFor, [ObjectClass.ClassName]); end; --- 745,749 ---- Result := InstantGetAccessorClass(ObjectClass); if not Assigned(Result) then ! raise EInstantError.CreateFmt(SAccessorClassNotFoundFor, [ObjectClass.ClassName]); end; *************** *** 1066,1070 **** FCachedClass := GetClass(ObjectClassName); if not Assigned(FCachedClass) then ! raise EInstantError.CreateResFmt(@SClassNotRegistered, [ObjectClassName]); end; Result := FCachedClass; --- 1058,1062 ---- FCachedClass := GetClass(ObjectClassName); if not Assigned(FCachedClass) then ! raise EInstantError.CreateFmt(SClassNotRegistered, [ObjectClassName]); end; Result := FCachedClass; *************** *** 2409,2416 **** FOnFieldError(Self, E, Field, Value, Write, Result) else if Write then ! raise EInstantError.CreateResFmt(@SFieldWriteError, [VarToStr(Value), Field.FieldName, E.Message], E) else ! raise EInstantError.CreateResFmt(@SFieldReadError, [Field.FieldName, E.Message], E); end; --- 2401,2408 ---- FOnFieldError(Self, E, Field, Value, Write, Result) else if Write then ! raise EInstantError.CreateFmt(SFieldWriteError, [VarToStr(Value), Field.FieldName, E.Message], E) else ! raise EInstantError.CreateFmt(SFieldReadError, [Field.FieldName, E.Message], E); end; *************** *** 3578,3582 **** begin if Assigned(DataSet) and not (DataSet is TInstantCustomExposer) then ! raise EInstantError.CreateResFmt(@SInvalidMasterDataSetClass, [DataSet.ClassName, TInstantCustomExposer.ClassName]); Result := DataSet as TInstantCustomExposer; --- 3570,3574 ---- begin if Assigned(DataSet) and not (DataSet is TInstantCustomExposer) then ! raise EInstantError.CreateFmt(SInvalidMasterDataSetClass, [DataSet.ClassName, TInstantCustomExposer.ClassName]); Result := DataSet as TInstantCustomExposer; *************** *** 3946,3950 **** begin if not HasConnector then ! raise EInstantError.CreateRes(@SUnassignedConnector); DestroyQuery; end; --- 3938,3942 ---- begin if not HasConnector then ! raise EInstantError.Create(SUnassignedConnector); DestroyQuery; end; Index: InstantPersistence.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/InstantPersistence.pas,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** InstantPersistence.pas 18 Feb 2005 14:27:04 -0000 1.24 --- InstantPersistence.pas 22 Feb 2005 08:05:03 -0000 1.25 *************** *** 2617,2621 **** dtBlob: Result := ftBlob; else ! raise EInstantError.CreateResFmt(@SUnsupportedDataType, [GetEnumName(TypeInfo(TInstantDataType), Ord(InstantDataType))]); end; --- 2617,2621 ---- dtBlob: Result := ftBlob; else ! raise EInstantError.CreateFmt(SUnsupportedDataType, [GetEnumName(TypeInfo(TInstantDataType), Ord(InstantDataType))]); end; *************** *** 2630,2634 **** begin if not Assigned(Connection) then ! raise EInstantError.CreateRes(@SUnassignedConnection); end; --- 2630,2634 ---- begin if not Assigned(Connection) then ! raise EInstantError.Create(SUnassignedConnection); end; *************** *** 2643,2647 **** Connector := DefaultConnector; if not Assigned(Connector) then ! raise EInstantError.CreateRes(@SUnassignedConnector); Result := Connector; end; --- 2643,2647 ---- Connector := DefaultConnector; if not Assigned(Connector) then ! raise EInstantError.Create(SUnassignedConnector); Result := Connector; end; *************** *** 2731,2735 **** Result := InstantGetClass(Classname); if not Assigned(Result) then ! raise EInstantError.CreateResFmt(@SClassNotRegistered, [ClassName]); end; --- 2731,2735 ---- Result := InstantGetClass(Classname); if not Assigned(Result) then ! raise EInstantError.CreateFmt(SClassNotRegistered, [ClassName]); end; *************** *** 2739,2743 **** Result := InstantGetClassMetadata(ClassName); if not Assigned(Result) then ! raise EInstantError.CreateResFmt(@SClassNotRegistered, [ClassName]); end; --- 2739,2743 ---- Result := InstantGetClassMetadata(ClassName); if not Assigned(Result) then ! raise EInstantError.CreateFmt(SClassNotRegistered, [ClassName]); end; *************** *** 2951,2955 **** begin if Assigned(AClass) and not IsAttributeClass(AClass) then ! raise EInstantError.CreateResFmt(@SUnexpectedAttributeClass, [AttributeClassName, Name, ClassMetadataName, AClass.ClassName]); end; --- 2951,2955 ---- begin if Assigned(AClass) and not IsAttributeClass(AClass) then ! raise EInstantError.CreateFmt(SUnexpectedAttributeClass, [AttributeClassName, Name, ClassMetadataName, AClass.ClassName]); end; *************** *** 2965,2969 **** begin if Category <> ACategory then ! raise EInstantError.CreateResFmt(@SUnexpectedAttributeCategory, [CategoryName(Category), AttributeClassName, Name, ClassMetadataName, CategoryName(ACategory)]); --- 2965,2969 ---- begin if Category <> ACategory then ! raise EInstantError.CreateFmt(SUnexpectedAttributeCategory, [CategoryName(Category), AttributeClassName, Name, ClassMetadataName, CategoryName(ACategory)]); *************** *** 2973,2977 **** begin if not IsIndexed then ! raise EInstantError.CreateResFmt(@SAttributeNotIndexed, [AttributeClassName, Name, ClassMetadataName]); end; --- 2973,2977 ---- begin if not IsIndexed then ! raise EInstantError.CreateFmt(SAttributeNotIndexed, [AttributeClassName, Name, ClassMetadataName]); end; *************** *** 2984,2988 **** AClass := AttributeClass; if not Assigned(AClass) then ! raise EInstantError.CreateResFmt(@SUnsupportedType, [AttributeTypeName]); Result := AClass.Create(AObject, Self); end; --- 2984,2988 ---- AClass := AttributeClass; if not Assigned(AClass) then ! raise EInstantError.CreateFmt(SUnsupportedType, [AttributeTypeName]); Result := AClass.Create(AObject, Self); end; *************** *** 3143,3147 **** AttributeType := TInstantAttributeType(I) else ! raise EInstantError.CreateResFmt(@SUnsupportedType, [Value]); end; --- 3143,3147 ---- AttributeType := TInstantAttributeType(I) else ! raise EInstantError.CreateFmt(SUnsupportedType, [Value]); end; *************** *** 4222,4226 **** const TypeName: string): EInstantAccessError; begin ! Result := EInstantAccessError.CreateResFmt(@SAccessError, [ClassName, Name, TypeName]); end; --- 4222,4226 ---- const TypeName: string): EInstantAccessError; begin ! Result := EInstantAccessError.CreateFmt(SAccessError, [ClassName, Name, TypeName]); end; *************** *** 4234,4238 **** begin if not Assigned(Metadata) then ! raise EInstantError.CreateResFmt(@SUnassignedAttributeMetadata, [ClassName, Name]); end; --- 4234,4238 ---- begin if not Assigned(Metadata) then ! raise EInstantError.CreateFmt(SUnassignedAttributeMetadata, [ClassName, Name]); end; *************** *** 4241,4245 **** E: Exception): EInstantConversionError; begin ! Result := EInstantConversionError.CreateResFmt(@SAttributeConversionError, [ClassName, Name, E.Message], E); end; --- 4241,4245 ---- E: Exception): EInstantConversionError; begin ! Result := EInstantConversionError.CreateFmt(SAttributeConversionError, [ClassName, Name, E.Message], E); end; *************** *** 4427,4431 **** begin if Assigned(Value) and (Value.AttributeType <> AttributeType) then ! raise EInstantError.CreateResFmt(@SMetadataMismatch, [ClassName, Name]); FMetadata := Value; Initialize; --- 4427,4431 ---- begin if Assigned(Value) and (Value.AttributeType <> AttributeType) then ! raise EInstantError.CreateFmt(SMetadataMismatch, [ClassName, Name]); FMetadata := Value; Initialize; *************** *** 4444,4448 **** procedure TInstantAttribute.StringValidationError(InvalidChar: Char); begin ! raise EInstantValidationError.CreateResFmt(@SInvalidChar, [InvalidChar, Ord(InvalidChar), ClassName, Name]); end; --- 4444,4448 ---- procedure TInstantAttribute.StringValidationError(InvalidChar: Char); begin ! raise EInstantValidationError.CreateFmt(SInvalidChar, [InvalidChar, Ord(InvalidChar), ClassName, Name]); end; *************** *** 4463,4467 **** E: Exception): EInstantError; begin ! Result := EInstantError.CreateResFmt(@SInvalidAttributeValue, [VarToStr(AValue), ClassName, Name], E); end; --- 4463,4467 ---- E: Exception): EInstantError; begin ! Result := EInstantError.CreateFmt(SInvalidAttributeValue, [VarToStr(AValue), ClassName, Name], E); end; *************** *** 5500,5507 **** InstantGraphicFileFormat := InstantResolveGraphicFileType(Stream); if InstantGraphicFileFormat = gffUnknow then ! raise EInstantError.CreateRes(@SUnsupportedGraphicStream); GraphicClass := InstantGraphicFileFormatToGraphicClass(InstantGraphicFileFormat); if not Assigned(GraphicClass) then ! raise EInstantError.CreateRes(@SUnsupportedGraphicClass); Image := GraphicClass.Create; Try --- 5500,5507 ---- InstantGraphicFileFormat := InstantResolveGraphicFileType(Stream); if InstantGraphicFileFormat = gffUnknow then ! raise EInstantError.Create(SUnsupportedGraphicStream); GraphicClass := InstantGraphicFileFormatToGraphicClass(InstantGraphicFileFormat); if not Assigned(GraphicClass) then ! raise EInstantError.Create(SUnsupportedGraphicClass); Image := GraphicClass.Create; Try *************** *** 5583,5591 **** ValidateObjectClassType(AObject.ClassType); if (AObject.Connector <> Connector) then ! raise EInstantValidationError.CreateResFmt(@SInvalidConnector, [AObject.ClassName, AObject.Id, ClassName, Name]); - {if not AllowOwned and AObject.IsOwned then - raise EInstantError.CreateResFmt(@SObjectIsOwned, - [AObject.ClassName, AObject.Id]);} end; end; --- 5583,5588 ---- ValidateObjectClassType(AObject.ClassType); if (AObject.Connector <> Connector) then ! raise EInstantValidationError.CreateFmt(SInvalidConnector, [AObject.ClassName, AObject.Id, ClassName, Name]); end; end; *************** *** 5595,5599 **** begin if not (AClass.InheritsFrom(RequiredClass)) then ! raise EInstantValidationError.CreateResFmt(@SInvalidObjectClass, [AClass.ClassName, ClassName, Name, RequiredClass.ClassName]); end; --- 5592,5596 ---- begin if not (AClass.InheritsFrom(RequiredClass)) then ! raise EInstantValidationError.CreateFmt(SInvalidObjectClass, [AClass.ClassName, ClassName, Name, RequiredClass.ClassName]); end; *************** *** 5818,5825 **** if Metadata.StorageKind = skEmbedded then if AObject.IsPersistent then ! raise EInstantValidationError.CreateResFmt(@SPersistentObjectNotAllowed, [AObject.ClassName, AObject.Id]); if Assigned(Owner) and (AObject = Owner) then ! raise EInstantValidationError.CreateResFmt(@SOwnershipRecursion, [AObject.ClassName, AObject.Id]); end; --- 5815,5822 ---- if Metadata.StorageKind = skEmbedded then if AObject.IsPersistent then ! raise EInstantValidationError.CreateFmt(SPersistentObjectNotAllowed, [AObject.ClassName, AObject.Id]); if Assigned(Owner) and (AObject = Owner) then ! raise EInstantValidationError.CreateFmt(SOwnershipRecursion, [AObject.ClassName, AObject.Id]); end; *************** *** 6125,6129 **** begin if (Index < 0) or (Index >= Count) then ! raise EInstantRangeError.CreateResFmt(@SIndexOutOfBounds, [Index]); end; --- 6122,6126 ---- begin if (Index < 0) or (Index >= Count) then ! raise EInstantRangeError.CreateFmt(SIndexOutOfBounds, [Index]); end; *************** *** 6376,6380 **** inherited; if not Assigned(AObject) then ! raise EInstantError.CreateResFmt(@SUnassignedObjectInAttribute, [ClassName, Name]); end; --- 6373,6377 ---- inherited; if not Assigned(AObject) then ! raise EInstantError.CreateFmt(SUnassignedObjectInAttribute, [ClassName, Name]); end; *************** *** 6740,6747 **** if Metadata.StorageKind = skEmbedded then if AObject.IsPersistent then ! raise EInstantValidationError.CreateResFmt(@SPersistentObjectNotAllowed, [AObject.ClassName, AObject.Id]); if Assigned(Owner) and (AObject = Owner) then ! raise EInstantError.CreateResFmt(@SOwnershipRecursion, [AObject.ClassName, AObject.Id]); end; --- 6737,6744 ---- if Metadata.StorageKind = skEmbedded then if AObject.IsPersistent then ! raise EInstantValidationError.CreateFmt(SPersistentObjectNotAllowed, [AObject.ClassName, AObject.Id]); if Assigned(Owner) and (AObject = Owner) then ! raise EInstantError.CreateFmt(SOwnershipRecursion, [AObject.ClassName, AObject.Id]); end; *************** *** 7153,7158 **** except on E: Exception do ! raise EInstantError.CreateResFmt(@SFatalError, [ClassName, Id, ! E.Message]); end; Dec(FSaveStateLevel); --- 7150,7154 ---- except on E: Exception do ! raise EInstantError.CreateFmt(SFatalError, [ClassName, Id, E.Message]); end; Dec(FSaveStateLevel); *************** *** 7200,7204 **** Result := FindAttribute(AttributeName); if not Assigned(Result) then ! raise EInstantError.CreateResFmt(@SAttributeNotFound, [AttributeName, ClassName]); end; --- 7196,7200 ---- Result := FindAttribute(AttributeName); if not Assigned(Result) then ! raise EInstantError.CreateFmt(SAttributeNotFound, [AttributeName, ClassName]); end; *************** *** 7268,7272 **** FId := GenerateId; if not InstantIsValidObjectId(Id) then ! raise EInstantError.CreateResFmt(@SInvalidObjectId, [Id, ClassName]); end; end; --- 7264,7268 ---- FId := GenerateId; if not InstantIsValidObjectId(Id) then ! raise EInstantError.CreateFmt(SInvalidObjectId, [Id, ClassName]); end; end; *************** *** 7313,7320 **** if not Assigned(Result) then if ContainerName = '' then ! raise EInstantError.CreateResFmt(@SDefaultContainerNotFound, [ClassName]) else ! raise EInstantError.CreateResFmt(@SContainerNotFound, [ContainerName, ClassName]); end; --- 7309,7316 ---- if not Assigned(Result) then if ContainerName = '' then ! raise EInstantError.CreateFmt(SDefaultContainerNotFound, [ClassName]) else ! raise EInstantError.CreateFmt(SContainerNotFound, [ContainerName, ClassName]); end; *************** *** 7478,7482 **** end; else ! raise EInstantStreamError.CreateRes(@SInvalidValueType); end; end; --- 7474,7478 ---- end; else ! raise EInstantStreamError.Create(SInvalidValueType); end; end; *************** *** 7553,7557 **** begin if Assigned(Arg) and not (TObject(Arg) is TInstantConnector) then ! raise EInstantError.CreateResFmt(@SInvalidArgument, [ClassName, TInstantConnector.ClassName]); Result := Create(Arg) --- 7549,7553 ---- begin if Assigned(Arg) and not (TObject(Arg) is TInstantConnector) then ! raise EInstantError.CreateFmt(SInvalidArgument, [ClassName, TInstantConnector.ClassName]); Result := Create(Arg) *************** *** 7706,7710 **** Abort; vrError: ! raise EInstantError.CreateResFmt(@SDeniedDispose, [ClassName, Id]); end; DoBeforeDispose; --- 7702,7706 ---- Abort; vrError: ! raise EInstantError.CreateFmt(SDeniedDispose, [ClassName, Id]); end; DoBeforeDispose; *************** *** 7756,7760 **** Abort; vrError: ! raise EInstantError.CreateResFmt(@SDeniedRefresh, [ClassName, Id]); end; DoBeforeRefresh; --- 7752,7756 ---- Abort; vrError: ! raise EInstantError.CreateFmt(SDeniedRefresh, [ClassName, Id]); end; DoBeforeRefresh; *************** *** 7789,7793 **** Abort; vrError: ! raise EInstantError.CreateResFmt(@SDeniedStore, [ClassName, Id]); end; DoBeforeStore; --- 7785,7789 ---- Abort; vrError: ! raise EInstantError.CreateFmt(SDeniedStore, [ClassName, Id]); end; DoBeforeStore; *************** *** 7899,7903 **** raise else ! raise EInstantError.CreateResFmt(@SFinalizationFailed, [ClassName, Id, E.Message], E); end; --- 7895,7899 ---- raise else ! raise EInstantError.CreateFmt(SFinalizationFailed, [ClassName, Id, E.Message], E); end; *************** *** 7948,7952 **** Result := FDefaultContainer; if not Assigned(Result) then ! raise EInstantError.CreateResFmt(@SDefaultContainerNotSpecified, [ClassName]) end; --- 7944,7948 ---- Result := FDefaultContainer; if not Assigned(Result) then ! raise EInstantError.CreateFmt(SDefaultContainerNotSpecified, [ClassName]) end; *************** *** 8087,8091 **** raise else ! raise EInstantError.CreateResFmt(@SInitializationFailed, [ClassName, E.Message], E); end; --- 8083,8087 ---- raise else ! raise EInstantError.CreateFmt(SInitializationFailed, [ClassName, E.Message], E); end; *************** *** 8339,8343 **** except on E: Exception do ! raise EInstantError.CreateResFmt(@SFatalError, [ClassName, Id, E.Message]); end; Dec(FSaveStateLevel); --- 8335,8339 ---- except on E: Exception do ! raise EInstantError.CreateFmt(SFatalError, [ClassName, Id, E.Message]); end; Dec(FSaveStateLevel); *************** *** 8350,8354 **** procedure RetrieveDenied; begin ! raise EInstantError.CreateResFmt(@SDeniedRetrieve, [ClassName, AObjectId]); end; --- 8346,8350 ---- procedure RetrieveDenied; begin ! raise EInstantError.CreateFmt(SDeniedRetrieve, [ClassName, AObjectId]); end; *************** *** 8413,8417 **** except on E: Exception do ! raise EInstantError.CreateResFmt(@SFatalError, [ClassName, Id, E.Message]); end; Inc(FSaveStateLevel); --- 8409,8413 ---- except on E: Exception do ! raise EInstantError.CreateFmt(SFatalError, [ClassName, Id, E.Message]); end; Inc(FSaveStateLevel); *************** *** 8704,8708 **** Result := InternalCreateQuery; if not Assigned(Result) then ! raise EInstantError.CreateRes(@SCapabilityNotSuppported); end; --- 8700,8704 ---- Result := InternalCreateQuery; if not Assigned(Result) then ! raise EInstantError.Create(SCapabilityNotSuppported); end; *************** *** 8863,8867 **** end; end; ! raise EInstantError.CreateResFmt(@SIndexOutOfBounds, [Index]); end; --- 8859,8863 ---- end; end; ! raise EInstantError.CreateFmt(SIndexOutOfBounds, [Index]); end; *************** *** 9258,9262 **** begin if Index >= Count then ! raise EInstantError.CreateResFmt(@SIndexOutOfBounds, [Index]); Enumerator := TInstantCacheEnumerator.Create(Self); try --- 9254,9258 ---- begin if Index >= Count then ! raise EInstantError.CreateFmt(SIndexOutOfBounds, [Index]); Enumerator := TInstantCacheEnumerator.Create(Self); try *************** *** 9510,9514 **** begin if not Assigned(ABroker) then ! raise EInstantError.CreateRes(@SUnassignedBroker); end; --- 9506,9510 ---- begin if not Assigned(ABroker) then ! raise EInstantError.Create(SUnassignedBroker); end; *************** *** 9541,9545 **** raise else ! raise EInstantError.CreateResFmt(@SErrorDisposingObject, [AObject.ClassName, AObject.Id, E.Message], E); end; --- 9537,9541 ---- raise else ! raise EInstantError.CreateFmt(SErrorDisposingObject, [AObject.ClassName, AObject.Id, E.Message], E); end; *************** *** 9602,9606 **** raise else ! raise EInstantError.CreateResFmt(@SErrorRefreshingObject, [AObject.ClassName, AObject.Id, E.Message], E); end; --- 9598,9602 ---- raise else ! raise EInstantError.CreateFmt(SErrorRefreshingObject, [AObject.ClassName, AObject.Id, E.Message], E); end; *************** *** 9641,9645 **** raise else ! raise EInstantError.CreateResFmt(@SErrorRetrievingObject, [AObject.ClassName, AObjectId, E.Message], E); end; --- 9637,9641 ---- raise else ! raise EInstantError.CreateFmt(SErrorRetrievingObject, [AObject.ClassName, AObjectId, E.Message], E); end; *************** *** 9673,9677 **** raise else ! raise EInstantError.CreateResFmt(@SErrorStoringObject, [AObject.ClassName, AObject.Id, E.Message], E); end; --- 9669,9673 ---- raise else ! raise EInstantError.CreateFmt(SErrorStoringObject, [AObject.ClassName, AObject.Id, E.Message], E); end; *************** *** 9735,9739 **** Result := AClassMetadata.MemberMap.Find(AttribName); if not Assigned(Result) then ! raise EInstantError.CreateResFmt(@SAttributeNotFound, [AttribName, AClassMetadata.Name]); if Result.Category = acElement then --- 9731,9735 ---- Result := AClassMetadata.MemberMap.Find(AttribName); if not Assigned(Result) then ! raise EInstantError.CreateFmt(SAttributeNotFound, [AttribName, AClassMetadata.Name]); if Result.Category = acElement then *************** *** 9783,9787 **** Result := FQuery; if not Assigned(Result) then ! raise EInstantError.CreateRes(@SUnassignedQuery); end; --- 9779,9783 ---- Result := FQuery; if not Assigned(Result) then ! raise EInstantError.Create(SUnassignedQuery); end; *************** *** 9824,9828 **** Result := FConnector; if not Assigned(Result) then ! raise EInstantError.CreateRes(@SUnassignedConnector); end; --- 9820,9824 ---- Result := FConnector; if not Assigned(Result) then ! raise EInstantError.Create(SUnassignedConnector); end; *************** *** 9902,9906 **** Result := FConnector; if not Assigned(Result) then ! raise EInstantError.CreateRes(@SUnassignedConnector); end; --- 9898,9902 ---- Result := FConnector; if not Assigned(Result) then ! raise EInstantError.Create(SUnassignedConnector); end; *************** *** 10423,10427 **** Result := InternalGetObjectClassMetadata; if not Assigned(Result) then ! raise EInstantError.CreateResFmt(@SUnassignedClassMetadata, [Command.ObjectClassName]); end; --- 10419,10423 ---- Result := InternalGetObjectClassMetadata; if not Assigned(Result) then ! raise EInstantError.CreateFmt(SUnassignedClassMetadata, [Command.ObjectClassName]); end; *************** *** 10620,10624 **** if Assigned(Result) and not Result.IsAttributeClass(TInstantReference) then ! raise EInstantError.CreateResFmt(@SUnableToQueryAttribute, [Result.ClassMetadataName, Result.Name]); FieldName := FieldName + RootAttribToFieldName(AttribName); --- 10616,10620 ---- if Assigned(Result) and not Result.IsAttributeClass(TInstantReference) then ! raise EInstantError.CreateFmt(SUnableToQueryAttribute, [Result.ClassMetadataName, Result.Name]); FieldName := FieldName + RootAttribToFieldName(AttribName); *************** *** 10641,10651 **** ClassMeta := Result.ObjectClassMetadata; end else ! raise EInstantError.CreateResFmt(@SAttributeNotQueryable, [Result.ClassName, Result.Name, Result.ClassMetadataName]); end else ! raise EInstantError.CreateResFmt(@SClassNotQueryable, [Result.ClassMetadataName]); end else ! raise EInstantError.CreateResFmt(@SAttributeNotFound, [AttribName, ClassMeta.Name]); end; --- 10637,10647 ---- ClassMeta := Result.ObjectClassMetadata; end else ! raise EInstantError.CreateFmt(SAttributeNotQueryable, [Result.ClassName, Result.Name, Result.ClassMetadataName]); end else ! raise EInstantError.CreateFmt(SClassNotQueryable, [Result.ClassMetadataName]); end else ! raise EInstantError.CreateFmt(SAttributeNotFound, [AttribName, ClassMeta.Name]); end; *************** *** 11129,11133 **** begin if not Assigned(ABroker) then ! raise EInstantError.CreateRes(@SUnassignedBroker); inherited Create; FBroker := ABroker; --- 11125,11129 ---- begin if not Assigned(ABroker) then ! raise EInstantError.Create(SUnassignedBroker); inherited Create; FBroker := ABroker; *************** *** 11169,11173 **** else ObjectClassName := ''; ! Result := EInstantKeyViolation.CreateResFmt(@SKeyViolation, [ObjectClassName, AObjectId], E); end; --- 11165,11169 ---- else ObjectClassName := ''; ! Result := EInstantKeyViolation.CreateFmt(SKeyViolation, [ObjectClassName, AObjectId], E); end; *************** *** 11428,11432 **** Result := Field.AsInteger <> AObject.UpdateCount; if Result and (ConflictAction = caFail) then ! raise EInstantConflict.CreateResFmt(@SUpdateConflict, [AObject.ClassName, AObjectId]); end; --- 11424,11428 ---- Result := Field.AsInteger <> AObject.UpdateCount; if Result and (ConflictAction = caFail) then ! raise EInstantConflict.CreateFmt(SUpdateConflict, [AObject.ClassName, AObjectId]); end; *************** *** 11625,11629 **** end; end else if Map.IsRootMap and (ConflictAction = caFail) then ! raise EInstantConflict.CreateResFmt(@SDisposeConflict, [AObject.ClassName, AObject.PersistentId]) end; --- 11621,11625 ---- end; end else if Map.IsRootMap and (ConflictAction = caFail) then ! raise EInstantConflict.CreateFmt(SDisposeConflict, [AObject.ClassName, AObject.PersistentId]) end; *************** *** 12886,12890 **** begin // must be implemented in derived broker ! raise EInstantError.CreateResFmt(@SUnsupportedUsePreparedQuery, [ClassName]); end; --- 12882,12886 ---- begin // must be implemented in derived broker ! raise EInstantError.CreateFmt(SUnsupportedUsePreparedQuery, [ClassName]); end; *************** *** 12910,12914 **** begin // must be implemented in derived broker ! raise EInstantError.CreateResFmt(@SUnsupportedUsePreparedQuery, [ClassName]); end; --- 12906,12910 ---- begin // must be implemented in derived broker ! raise EInstantError.CreateFmt(SUnsupportedUsePreparedQuery, [ClassName]); end; *************** *** 13276,13280 **** begin if Info.Conflict then ! raise EInstantConflict.CreateResFmt(@SUpdateConflict, [AObject.ClassName, AObject.Id]); end; --- 13272,13276 ---- begin if Info.Conflict then ! raise EInstantConflict.CreateFmt(SUpdateConflict, [AObject.ClassName, AObject.Id]); end; *************** *** 13284,13288 **** begin if not Assigned(AMap) then ! raise EInstantError.CreateRes(@SUnassignedMap); inherited Create(ABroker); FMap := AMap; --- 13280,13284 ---- begin if not Assigned(AMap) then ! raise EInstantError.Create(SUnassignedMap); inherited Create(ABroker); FMap := AMap; *************** *** 13690,13694 **** var Params: TParams; ! AInfo: PInstantOperationInfo; NewUpdateCount, RowsAffected: Integer; --- 13686,13690 ---- var Params: TParams; ! AInfo: TInstantOperationInfo; NewUpdateCount, RowsAffected: Integer; Index: InstantTextFiler.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/InstantTextFiler.pas,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** InstantTextFiler.pas 20 Jul 2004 11:07:49 -0000 1.2 --- InstantTextFiler.pas 22 Feb 2005 08:05:04 -0000 1.3 *************** *** 25,29 **** * * Contributor(s): ! * Carlo Barazzetta, Adrea Petrelli: porting Kylix * * ***** END LICENSE BLOCK ***** *) --- 25,29 ---- * * Contributor(s): ! * Carlo Barazzetta, Adrea Petrelli, Nando Dessena * * ***** END LICENSE BLOCK ***** *) *************** *** 194,198 **** begin if not Assigned(AStream) then ! raise EInstantError.CreateRes(@SUnassignedStream); FStream := AStream; FFreeStream := FreeStream; --- 194,198 ---- begin if not Assigned(AStream) then ! raise EInstantError.Create(SUnassignedStream); FStream := AStream; FFreeStream := FreeStream; Index: InstantUtils.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/InstantUtils.pas,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** InstantUtils.pas 20 Jul 2004 11:07:49 -0000 1.2 --- InstantUtils.pas 22 Feb 2005 08:05:04 -0000 1.3 *************** *** 25,29 **** * * Contributor(s): ! * Carlo Barazzetta, Adrea Petrelli: porting Kylix * * ***** END LICENSE BLOCK ***** *) --- 25,29 ---- * * Contributor(s): ! * Carlo Barazzetta, Adrea Petrelli, Nando Dessena * * ***** END LICENSE BLOCK ***** *) *************** *** 523,527 **** Length(InstantTimeFormat))); else ! raise EInstantConversionError.CreateResFmt(@SInvalidDateTime, [Str]); end; end; --- 523,527 ---- Length(InstantTimeFormat))); else ! raise EInstantConversionError.CreateFmt(SInvalidDateTime, [Str]); end; end; Index: InstantCommand.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/InstantCommand.pas,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** InstantCommand.pas 2 Feb 2004 20:52:15 -0000 1.1 --- InstantCommand.pas 22 Feb 2005 08:05:03 -0000 1.2 *************** *** 24,28 **** * the Initial Developer. All Rights Reserved. * ! * Contributor(s): * * ***** END LICENSE BLOCK ***** *) --- 24,28 ---- * the Initial Developer. All Rights Reserved. * ! * Contributor(s): Nando Dessena * * ***** END LICENSE BLOCK ***** *) *************** *** 660,664 **** procedure TInstantIQLObject.InvalidTokenError(const Token: string); begin ! raise EInstantError.CreateResFmt(@SInvalidToken, [Token]); end; --- 660,664 ---- procedure TInstantIQLObject.InvalidTokenError(const Token: string); begin ! raise EInstantError.CreateFmt(SInvalidToken, [Token]); end; *************** *** 709,713 **** ExpectedToken: string); begin ! raise EInstantError.CreateResFmt(@SUnexpectedToken, [ActualToken, ExpectedToken]); end; --- 709,713 ---- ExpectedToken: string); begin ! raise EInstantError.CreateFmt(SUnexpectedToken, [ActualToken, ExpectedToken]); end; *************** *** 1487,1496 **** UnreadToken; if not ReadChild(@FSpecifier, Reader, [TInstantIQLSpecifier]) then ! raise EInstantIQLError.CreateRes(@SSpecifierMissing); Token := ReadToken; if not SameText(Token, 'FROM') then UnexpectedTokenError(Token, 'FROM'); if not ReadChild(@FClassRef, Reader, [TInstantIQLClassRef]) then ! raise EInstantIQLError.CreateRes(@SClassReferenceMissing); Token := ReadToken; if SameText(Token, 'WHERE') then --- 1487,1496 ---- UnreadToken; if not ReadChild(@FSpecifier, Reader, [TInstantIQLSpecifier]) then ! raise EInstantIQLError.Create(SSpecifierMissing); Token := ReadToken; if not SameText(Token, 'FROM') then UnexpectedTokenError(Token, 'FROM'); if not ReadChild(@FClassRef, Reader, [TInstantIQLClassRef]) then ! raise EInstantIQLError.Create(SClassReferenceMissing); Token := ReadToken; if SameText(Token, 'WHERE') then *************** *** 1563,1567 **** Result := FCommand; if not Assigned(Result) then ! raise EInstantError.CreateRes(@SUnassignedCommandObject); end; --- 1563,1567 ---- Result := FCommand; if not Assigned(Result) then ! raise EInstantError.Create(SUnassignedCommandObject); end; *************** *** 1600,1604 **** begin if not Assigned(ATranslator) then ! raise EInstantIQLError.CreateRes(@SUnassignedTranslator); FTranslator := ATranslator; inherited Create(AStream, FreeStream); --- 1600,1604 ---- begin if not Assigned(ATranslator) then ! raise EInstantIQLError.Create(SUnassignedTranslator); FTranslator := ATranslator; inherited Create(AStream, FreeStream); Index: InstantClasses.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/InstantClasses.pas,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** InstantClasses.pas 10 Feb 2005 23:06:28 -0000 1.4 --- InstantClasses.pas 22 Feb 2005 08:05:02 -0000 1.5 *************** *** 25,31 **** * * Contributor(s): ! * Carlo Barazzetta, Adrea Petrelli: porting Kylix ! * Marco Cantù (WriteEscapedData fixed for correct XML encodings) ! * Carlo Barazzetta: blob streaming in XML format (Part, Parts, References) * * ***** END LICENSE BLOCK ***** *) --- 25,29 ---- * * Contributor(s): ! * Carlo Barazzetta, Adrea Petrelli, Marco Cantù, Nando Dessena * * ***** END LICENSE BLOCK ***** *) *************** *** 65,68 **** --- 63,69 ---- constructor CreateResFmt(ResStringRec: PResStringRec; const Args: array of const; E: TObject = nil); + constructor Create(const Msg: string; E: TObject = nil); + constructor CreateFmt(const Msg: string; + const Args: array of const; E: TObject = nil); destructor Destroy; override; property OriginalException: TObject read FOriginalException; *************** *** 438,442 **** if Assigned(AClass) and Assigned(MinimumClass) then if not AClass.InheritsFrom(MinimumClass) then ! raise EInstantError.CreateResFmt(@SInvalidClass, [AClass.ClassName, MinimumClass.ClassName]); end; --- 439,443 ---- if Assigned(AClass) and Assigned(MinimumClass) then if not AClass.InheritsFrom(MinimumClass) then ! raise EInstantError.CreateFmt(SInvalidClass, [AClass.ClassName, MinimumClass.ClassName]); end; *************** *** 557,560 **** --- 558,574 ---- { EInstantError } + constructor EInstantError.Create(const Msg: string; E: TObject); + begin + inherited Create(Msg); + Initialize(E); + end; + + constructor EInstantError.CreateFmt(const Msg: string; + const Args: array of const; E: TObject); + begin + inherited CreateFmt(Msg, Args); + Initialize(E); + end; + constructor EInstantError.CreateRes(ResStringRec: PResStringRec; E: TObject); *************** *** 873,877 **** Position := Position - 1; SkipValue; ! raise EReadError.CreateRes(@SInvalidPropertyValue); end; Stream := TMemoryStream.Create; --- 887,891 ---- Position := Position - 1; SkipValue; ! raise EReadError.Create(SInvalidPropertyValue); end; Stream := TMemoryStream.Create; *************** *** 903,907 **** Result := TInstantCollectionItemClass(ObjectClass).CreateInstance(Arg) else ! raise EInstantStreamError.CreateResFmt(@SClassNotStreamable, [ObjectClass.ClassName]); end; --- 917,921 ---- Result := TInstantCollectionItemClass(ObjectClass).CreateInstance(Arg) else ! raise EInstantStreamError.CreateFmt(SClassNotStreamable, [ObjectClass.ClassName]); end; *************** *** 917,921 **** Result := AObject else ! raise EInstantStreamError.CreateResFmt(@SUnexpectedClass, [ObjectClassName, AObject.ClassName]) else --- 931,935 ---- Result := AObject else ! raise EInstantStreamError.CreateFmt(SUnexpectedClass, [ObjectClassName, AObject.ClassName]) else *************** *** 993,997 **** TInstantCollectionItem(AObject).WriteObject(Self) else ! raise EInstantStreamError.CreateResFmt(@SClassNotStreamable, [AObject.ClassName]); WriteListEnd; --- 1007,1011 ---- TInstantCollectionItem(AObject).WriteObject(Self) else ! raise EInstantStreamError.CreateFmt(SClassNotStreamable, [AObject.ClassName]); WriteListEnd; *************** *** 1367,1371 **** begin if not (Token = AToken) then ! raise EInstantError.CreateResFmt(@SInvalidToken, [GetEnumName(TypeInfo(TInstantXMLToken), Ord(Token))]); end; --- 1381,1385 ---- begin if not (Token = AToken) then ! raise EInstantError.CreateFmt(SInvalidToken, [GetEnumName(TypeInfo(TInstantXMLToken), Ord(Token))]); end; *************** *** 1713,1717 **** end; else ! raise EInstantStreamError.CreateRes(@SInvalidValueType); end; end; --- 1727,1731 ---- end; else ! raise EInstantStreamError.Create(SInvalidValueType); end; end; *************** *** 1801,1805 **** end; else ! raise EInstantStreamError.CreateRes(@SInvalidValueType); end; Processor.ReadTag; --- 1815,1819 ---- end; else ! raise EInstantStreamError.Create(SInvalidValueType); end; Processor.ReadTag; |
From: Nando D. <na...@us...> - 2005-02-22 08:00:10
|
Update of /cvsroot/instantobjects/Source/Core/K3 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13533/Core/K3 Modified Files: IOCore.dpk Log Message: added InstantPump missing unit Index: IOCore.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/K3/IOCore.dpk,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** IOCore.dpk 7 Dec 2004 08:51:43 -0000 1.1 --- IOCore.dpk 22 Feb 2005 07:59:58 -0000 1.2 *************** *** 48,52 **** InstantAccessors in '../InstantAccessors.pas', InstantConnectionManager in '../InstantConnectionManager.pas' {InstantConnectionManagerForm}, ! InstantImageUtils in '../InstantImageUtils.pas'; end. --- 48,53 ---- InstantAccessors in '../InstantAccessors.pas', InstantConnectionManager in '../InstantConnectionManager.pas' {InstantConnectionManagerForm}, ! InstantImageUtils in '../InstantImageUtils.pas', ! InstantPump in '../InstantPump.pas'; end. |
From: Nando D. <na...@us...> - 2005-02-22 07:58:28
|
Update of /cvsroot/instantobjects/Source/Core/D7 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13082/Core/D7 Modified Files: IOCore.cfg IOCore.dof IOCore.dpk Log Message: typed @ operator Index: IOCore.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/D7/IOCore.dpk,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** IOCore.dpk 3 Feb 2005 16:57:47 -0000 1.2 --- IOCore.dpk 22 Feb 2005 07:58:18 -0000 1.3 *************** *** 18,22 **** {$SAFEDIVIDE OFF} {$STACKFRAMES OFF} ! {$TYPEDADDRESS OFF} {$VARSTRINGCHECKS ON} {$WRITEABLECONST ON} --- 18,22 ---- {$SAFEDIVIDE OFF} {$STACKFRAMES OFF} ! {$TYPEDADDRESS ON} {$VARSTRINGCHECKS ON} {$WRITEABLECONST ON} Index: IOCore.cfg =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/D7/IOCore.cfg,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** IOCore.cfg 20 Jul 2004 16:39:09 -0000 1.1 --- IOCore.cfg 22 Feb 2005 07:58:17 -0000 1.2 *************** *** 18,22 **** -$R- -$S- ! -$T- -$U- -$V+ --- 18,22 ---- -$R- -$S- ! -$T+ -$U- -$V+ Index: IOCore.dof =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/D7/IOCore.dof,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** IOCore.dof 10 Feb 2005 23:06:27 -0000 1.4 --- IOCore.dof 22 Feb 2005 07:58:18 -0000 1.5 *************** *** 21,25 **** R=0 S=0 ! T=0 U=0 V=1 --- 21,25 ---- R=0 S=0 ! T=1 U=0 V=1 |
From: Nando D. <na...@us...> - 2005-02-22 07:55:28
|
Update of /cvsroot/instantobjects/Source/Core/D6 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12413/Core/D6 Modified Files: IOCore.cfg IOCore.dof IOCore.dpk Log Message: typed @ operator Index: IOCore.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/D6/IOCore.dpk,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** IOCore.dpk 18 Feb 2005 14:39:47 -0000 1.2 --- IOCore.dpk 22 Feb 2005 07:55:17 -0000 1.3 *************** *** 19,23 **** {$SAFEDIVIDE OFF} {$STACKFRAMES OFF} ! {$TYPEDADDRESS OFF} {$VARSTRINGCHECKS ON} {$WRITEABLECONST ON} --- 19,23 ---- {$SAFEDIVIDE OFF} {$STACKFRAMES OFF} ! {$TYPEDADDRESS ON} {$VARSTRINGCHECKS ON} {$WRITEABLECONST ON} Index: IOCore.cfg =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/D6/IOCore.cfg,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** IOCore.cfg 18 Feb 2005 14:39:47 -0000 1.2 --- IOCore.cfg 22 Feb 2005 07:55:17 -0000 1.3 *************** *** 18,22 **** -$R- -$S- ! -$T- -$U- -$V+ --- 18,22 ---- -$R- -$S- ! -$T+ -$U- -$V+ Index: IOCore.dof =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/D6/IOCore.dof,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** IOCore.dof 18 Feb 2005 14:39:47 -0000 1.2 --- IOCore.dof 22 Feb 2005 07:55:17 -0000 1.3 *************** *** 21,25 **** R=0 S=0 ! T=0 U=0 V=1 --- 21,25 ---- R=0 S=0 ! T=1 U=0 V=1 *************** *** 87,93 **** Comments= [Excluded Packages] - C:\Programmi\Borland\Delphi6\Bin\dcldbxcds60.bpl=Borland Local DBX ClientDataset Components C:\Programmi\Borland\Delphi6\Bin\dclclxstd60.bpl=Borland CLX Standard Components - [HistoryLists\hlUnitAliases] - Count=1 - Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; --- 87,89 ---- |
From: Nando D. <na...@us...> - 2005-02-21 12:14:05
|
Update of /cvsroot/instantobjects/Source/Brokers/ADO In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20227/Brokers/ADO Modified Files: InstantADO.pas Log Message: fixed bug #880699 Index: InstantADO.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/ADO/InstantADO.pas,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** InstantADO.pas 10 Feb 2005 23:42:35 -0000 1.7 --- InstantADO.pas 21 Feb 2005 12:13:38 -0000 1.8 *************** *** 697,701 **** MySQLPrefix = 'My'; IBMDB2Prefix = 'IBMDADB2'; ! begin if HasConnection then begin --- 697,702 ---- MySQLPrefix = 'My'; IBMDB2Prefix = 'IBMDADB2'; ! MSOraclePrefix = 'MSDAORA'; ! begin if HasConnection then begin *************** *** 704,708 **** else if HasPrefix(MSSQLPrefix) then Result := ptMSSQLServer ! else if HasPrefix(OraclePrefix) then Result := ptOracle else if HasPrefix(MySQLPrefix) then --- 705,709 ---- else if HasPrefix(MSSQLPrefix) then Result := ptMSSQLServer ! else if HasPrefix(OraclePrefix) or HasPrefix(MSOraclePrefix) then Result := ptOracle else if HasPrefix(MySQLPrefix) then |
Update of /cvsroot/instantobjects/Source/Brokers/UIB/D5 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7178/Brokers/UIB/D5 Added Files: DclIOUIB_D5.cfg DclIOUIB_D5.dof DclIOUIB_D5.dpk DclIOUIB_D5.res IOUIB_D5.cfg IOUIB_D5.dof IOUIB_D5.dpk IOUIB_D5.res Log Message: Package Restructure with _D5 Suffix --- NEW FILE: DclIOUIB_D5.cfg --- -$A+ -$B- -$C+ -$D+ -$E- -$F- -$G+ -$H+ -$I+ -$J+ -$K- -$L+ -$M- -$N+ -$O+ -$P+ -$Q- -$R- -$S- -$T- -$U- -$V+ -$W- -$X+ -$YD -$Z1 -cg -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; -H+ -W+ -M -$M16384,1048576 -K$00400000 -LE"c:\borland\delphi5\Projects\Bpl" -LN"c:\borland\delphi5\Projects\Bpl" -Z --- NEW FILE: IOUIB_D5.dpk --- package IOUIB_D5; {$R *.RES} {$ALIGN ON} {$ASSERTIONS ON} {$BOOLEVAL OFF} {$DEBUGINFO ON} {$EXTENDEDSYNTAX ON} {$IMPORTEDDATA ON} {$IOCHECKS ON} {$LOCALSYMBOLS ON} {$LONGSTRINGS ON} {$OPENSTRINGS ON} {$OPTIMIZATION ON} {$OVERFLOWCHECKS OFF} {$RANGECHECKS OFF} {$REFERENCEINFO ON} {$SAFEDIVIDE OFF} {$STACKFRAMES OFF} {$TYPEDADDRESS OFF} {$VARSTRINGCHECKS ON} {$WRITEABLECONST ON} {$MINENUMSIZE 1} {$IMAGEBASE $400000} {$DESCRIPTION 'InstantObjects UIB Run-Time Support (Delphi 5)'} {$RUNONLY} {$IMPLICITBUILD OFF} requires vcl50, vcldb50, IOCore, JvUIBD5R, vcldbx50; contains InstantUIBConnectionDefEdit in '..\InstantUIBConnectionDefEdit.pas' {InstantUIBConnectionDefEditForm}, InstantUIB in '..\InstantUIB.pas', InstantUIBConnection in '..\InstantUIBConnection.pas'; end. --- NEW FILE: IOUIB_D5.res --- (This appears to be a binary file; contents omitted.) --- NEW FILE: DclIOUIB_D5.dof --- [Compiler] A=1 B=0 C=1 D=1 E=0 F=0 G=1 H=1 I=1 J=1 K=0 L=1 M=0 N=1 O=1 P=1 Q=0 R=0 S=0 T=0 U=0 V=1 W=0 X=1 Y=1 Z=1 ShowHints=1 ShowWarnings=1 UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; [Linker] MapFile=0 OutputObjs=0 ConsoleApp=1 DebugInfo=0 RemoteSymbols=0 MinStackSize=16384 MaxStackSize=1048576 ImageBase=4194304 ExeDescription=InstantObjects UIB Design-Time Support (Delphi 5) [Directories] OutputDir= UnitOutputDir= PackageDLLOutputDir= PackageDCPOutputDir= SearchPath= Packages= Conditionals= DebugSourceDirs= UsePackages=0 [Parameters] RunParams= HostApplication= [Version Info] IncludeVerInfo=1 AutoIncBuild=0 MajorVer=1 MinorVer=7 Release=0 Build=0 Debug=0 PreRelease=0 Special=0 Private=0 DLL=0 Locale=1040 CodePage=1252 [Version Info Keys] CompanyName=InstantObjects.org FileDescription=InstantObjects UIB Design-Time Support (Delphi 7) FileVersion=1.7.0.0 InternalName= LegalCopyright= LegalTrademarks= OriginalFilename= ProductName=InstantObjects ProductVersion=1.7 [Excluded Packages] $(DELPHI)\Projects\Bpl\dclOQBkbmMW50.bpl=Open QBuilder IBX Engine $(DELPHI)\Projects\Bpl\dcoutbar_d5.bpl=Dream Outbar $(DELPHI)\Bin\dclite50.bpl=Borland Integrated Translation Environment $(DELPHI)\Projects\Bpl\kbmMWBOQuery.bpl=Business Query for kbmMW $(DELPHI)\Projects\Bpl\dclIndy50.bpl=Internet Direct (Indy) for D5 Property and Component Editors $(DELPHI)\3rdparty\FastReport\fr\Source\frado5.bpl=FastReport 2.5 ADO Components --- NEW FILE: DclIOUIB_D5.res --- (This appears to be a binary file; contents omitted.) --- NEW FILE: DclIOUIB_D5.dpk --- package DclIOUIB_D5; {$R *.RES} {$R '..\InstantUIB.dcr'} {$ALIGN ON} {$ASSERTIONS ON} {$BOOLEVAL OFF} {$DEBUGINFO ON} {$EXTENDEDSYNTAX ON} {$IMPORTEDDATA ON} {$IOCHECKS ON} {$LOCALSYMBOLS ON} {$LONGSTRINGS ON} {$OPENSTRINGS ON} {$OPTIMIZATION ON} {$OVERFLOWCHECKS OFF} {$RANGECHECKS OFF} {$REFERENCEINFO ON} {$SAFEDIVIDE OFF} {$STACKFRAMES OFF} {$TYPEDADDRESS OFF} {$VARSTRINGCHECKS ON} {$WRITEABLECONST ON} {$MINENUMSIZE 1} {$IMAGEBASE $400000} {$DESCRIPTION 'InstantObjects UIB Design-Time Support (Delphi 5)'} {$DESIGNONLY} {$IMPLICITBUILD OFF} requires vcl50, vcldb50, IOCore, IOUIB; contains InstantUIBReg in '..\InstantUIBReg.pas'; end. --- NEW FILE: IOUIB_D5.dof --- [Compiler] A=1 B=0 C=1 D=1 E=0 F=0 G=1 H=1 I=1 J=1 K=0 L=1 M=0 N=1 O=1 P=1 Q=0 R=0 S=0 T=0 U=0 V=1 W=0 X=1 Y=1 Z=1 ShowHints=1 ShowWarnings=1 UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; [Linker] MapFile=0 OutputObjs=0 ConsoleApp=1 DebugInfo=0 RemoteSymbols=0 MinStackSize=16384 MaxStackSize=1048576 ImageBase=4194304 ExeDescription=InstantObjects UIB Run-Time Support (Delphi 5) [Directories] OutputDir= UnitOutputDir= PackageDLLOutputDir= PackageDCPOutputDir= SearchPath= Packages= Conditionals= DebugSourceDirs= UsePackages=0 [Parameters] RunParams= HostApplication= [Version Info] IncludeVerInfo=1 AutoIncBuild=0 MajorVer=1 MinorVer=7 Release=0 Build=0 Debug=0 PreRelease=0 Special=0 Private=0 DLL=0 Locale=1040 CodePage=1252 [Version Info Keys] CompanyName=InstantObjects.org FileDescription=InstantObjects UIB Run-Time Support (Delphi 7) FileVersion=1.7.0.0 InternalName= LegalCopyright= LegalTrademarks= OriginalFilename= ProductName=InstantObjects ProductVersion=1.7 [Excluded Packages] $(DELPHI)\Projects\Bpl\dclOQBkbmMW50.bpl=Open QBuilder IBX Engine $(DELPHI)\Projects\Bpl\dcoutbar_d5.bpl=Dream Outbar $(DELPHI)\Bin\dclite50.bpl=Borland Integrated Translation Environment $(DELPHI)\Projects\Bpl\kbmMWBOQuery.bpl=Business Query for kbmMW $(DELPHI)\Projects\Bpl\dclIndy50.bpl=Internet Direct (Indy) for D5 Property and Component Editors $(DELPHI)\3rdparty\FastReport\fr\Source\frado5.bpl=FastReport 2.5 ADO Components [HistoryLists\hlUnitAliases] Count=1 Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; [HistoryLists\hlSearchPath] Count=1 Item0=C:\Borland\Delphi5\Source\Vcl2 --- NEW FILE: IOUIB_D5.cfg --- -$A+ -$B- -$C+ -$D+ -$E- -$F- -$G+ -$H+ -$I+ -$J+ -$K- -$L+ -$M- -$N+ -$O+ -$P+ -$Q- -$R- -$S- -$T- -$U- -$V+ -$W- -$X+ -$YD -$Z1 -cg -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; -H+ -W+ -M -$M16384,1048576 -K$00400000 -LE"c:\borland\delphi5\Projects\Bpl" -LN"c:\borland\delphi5\Projects\Bpl" -Z |
From: Femi F. <fad...@us...> - 2005-02-21 10:23:17
|
Update of /cvsroot/instantobjects/Source/Brokers/UIB In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28171/Brokers/UIB Modified Files: InstantUIB.pas InstantUIBConnection.pas Log Message: Package Restructure Index: InstantUIBConnection.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/UIB/InstantUIBConnection.pas,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** InstantUIBConnection.pas 6 Dec 2004 08:51:23 -0000 1.3 --- InstantUIBConnection.pas 21 Feb 2005 10:22:34 -0000 1.4 *************** *** 31,35 **** interface ! uses Classes, DB, jvuib; resourcestring --- 31,38 ---- interface ! uses Classes, DB, dbLogDlg, jvuib; ! ! const ! UIBLoginDialog : function (const ADatabaseName: string; var AUserName, APassword: string; NameReadOnly: Boolean): Boolean = nil; resourcestring *************** *** 103,108 **** else begin ! if Assigned(LoginDialogExProc) then ! result := LoginDialogExProc(FDatabase.DatabaseName, Username, Password, False) else begin --- 106,111 ---- else begin ! if Assigned(UIBLoginDialog) then ! result := UIBLoginDialog(FDatabase.DatabaseName, Username, Password, False) else begin *************** *** 117,119 **** --- 120,125 ---- end; + initialization + UIBLoginDialog := LoginDialogEx; + end. Index: InstantUIB.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/UIB/InstantUIB.pas,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** InstantUIB.pas 3 Feb 2005 16:51:28 -0000 1.5 --- InstantUIB.pas 21 Feb 2005 10:22:33 -0000 1.6 *************** *** 42,46 **** uses Classes, Db, jvuib, jvuibdataset, jvuiblib, SysUtils, InstantUIBConnection, ! InstantPersistence, InstantClasses, InstantCommand, TypInfo; type --- 42,46 ---- uses Classes, Db, jvuib, jvuibdataset, jvuiblib, SysUtils, InstantUIBConnection, ! InstantPersistence, InstantClasses, InstantCommand; type *************** *** 154,158 **** uses Controls, InstantConsts, InstantUIBConnectionDefEdit, InstantUtils, ! IB, IBHeader, IBIntf; procedure Register; --- 154,158 ---- uses Controls, InstantConsts, InstantUIBConnectionDefEdit, InstantUtils, ! TypInfo; procedure Register; *************** *** 421,424 **** --- 421,425 ---- AssignDataSetParams(Query, AParams); Result := Query; + except Query.Free; |
Update of /cvsroot/instantobjects/Source/Brokers/UIB/D5 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28171/Brokers/UIB/D5 Added Files: DclIOUIB.cfg DclIOUIB.dof DclIOUIB.dpk DclIOUIB.res IOUIB.cfg IOUIB.dof IOUIB.dpk IOUIB.res Log Message: Package Restructure --- NEW FILE: IOUIB.dpk --- package IOUIB; {$R *.RES} {$ALIGN ON} {$ASSERTIONS ON} {$BOOLEVAL OFF} {$DEBUGINFO ON} {$EXTENDEDSYNTAX ON} {$IMPORTEDDATA ON} {$IOCHECKS ON} {$LOCALSYMBOLS ON} {$LONGSTRINGS ON} {$OPENSTRINGS ON} {$OPTIMIZATION ON} {$OVERFLOWCHECKS OFF} {$RANGECHECKS OFF} {$REFERENCEINFO ON} {$SAFEDIVIDE OFF} {$STACKFRAMES OFF} {$TYPEDADDRESS OFF} {$VARSTRINGCHECKS ON} {$WRITEABLECONST ON} {$MINENUMSIZE 1} {$IMAGEBASE $400000} {$DESCRIPTION 'InstantObjects UIB Run-Time Support (Delphi 7)'} {$RUNONLY} {$IMPLICITBUILD OFF} requires vcl50, vcldb50, IOCore, JvUIBD5R, vcldbx50; contains InstantUIBConnectionDefEdit in '..\InstantUIBConnectionDefEdit.pas' {InstantUIBConnectionDefEditForm}, InstantUIB in '..\InstantUIB.pas', InstantUIBConnection in '..\InstantUIBConnection.pas'; end. --- NEW FILE: IOUIB.res --- (This appears to be a binary file; contents omitted.) --- NEW FILE: IOUIB.dof --- [Compiler] A=1 B=0 C=1 D=1 E=0 F=0 G=1 H=1 I=1 J=1 K=0 L=1 M=0 N=1 O=1 P=1 Q=0 R=0 S=0 T=0 U=0 V=1 W=0 X=1 Y=1 Z=1 ShowHints=1 ShowWarnings=1 UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; [Linker] MapFile=0 OutputObjs=0 ConsoleApp=1 DebugInfo=0 RemoteSymbols=0 MinStackSize=16384 MaxStackSize=1048576 ImageBase=4194304 ExeDescription=InstantObjects UIB Run-Time Support (Delphi 7) [Directories] OutputDir= UnitOutputDir= PackageDLLOutputDir= PackageDCPOutputDir= SearchPath= Packages= Conditionals= DebugSourceDirs= UsePackages=0 [Parameters] RunParams= HostApplication= [Version Info] IncludeVerInfo=1 AutoIncBuild=0 MajorVer=1 MinorVer=7 Release=0 Build=0 Debug=0 PreRelease=0 Special=0 Private=0 DLL=0 Locale=1040 CodePage=1252 [Version Info Keys] CompanyName=InstantObjects.org FileDescription=InstantObjects UIB Run-Time Support (Delphi 7) FileVersion=1.7.0.0 InternalName= LegalCopyright= LegalTrademarks= OriginalFilename= ProductName=InstantObjects ProductVersion=1.7 [Excluded Packages] $(DELPHI)\Projects\Bpl\dclOQBkbmMW50.bpl=Open QBuilder IBX Engine $(DELPHI)\Projects\Bpl\dcoutbar_d5.bpl=Dream Outbar $(DELPHI)\Bin\dclite50.bpl=Borland Integrated Translation Environment $(DELPHI)\Projects\Bpl\kbmMWBOQuery.bpl=Business Query for kbmMW $(DELPHI)\Projects\Bpl\dclIndy50.bpl=Internet Direct (Indy) for D5 Property and Component Editors $(DELPHI)\3rdparty\FastReport\fr\Source\frado5.bpl=FastReport 2.5 ADO Components [HistoryLists\hlUnitAliases] Count=1 Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; [HistoryLists\hlSearchPath] Count=1 Item0=C:\Borland\Delphi5\Source\Vcl2 --- NEW FILE: IOUIB.cfg --- -$A+ -$B- -$C+ -$D+ -$E- -$F- -$G+ -$H+ -$I+ -$J+ -$K- -$L+ -$M- -$N+ -$O+ -$P+ -$Q- -$R- -$S- -$T- -$U- -$V+ -$W- -$X+ -$YD -$Z1 -cg -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; -H+ -W+ -M -$M16384,1048576 -K$00400000 -LE"c:\borland\delphi5\Projects\Bpl" -LN"c:\borland\delphi5\Projects\Bpl" -Z --- NEW FILE: DclIOUIB.cfg --- -$A+ -$B- -$C+ -$D+ -$E- -$F- -$G+ -$H+ -$I+ -$J+ -$K- -$L+ -$M- -$N+ -$O+ -$P+ -$Q- -$R- -$S- -$T- -$U- -$V+ -$W- -$X+ -$YD -$Z1 -cg -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; -H+ -W+ -M -$M16384,1048576 -K$00400000 -LE"c:\borland\delphi5\Projects\Bpl" -LN"c:\borland\delphi5\Projects\Bpl" -Z --- NEW FILE: DclIOUIB.dof --- [Compiler] A=1 B=0 C=1 D=1 E=0 F=0 G=1 H=1 I=1 J=1 K=0 L=1 M=0 N=1 O=1 P=1 Q=0 R=0 S=0 T=0 U=0 V=1 W=0 X=1 Y=1 Z=1 ShowHints=1 ShowWarnings=1 UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; [Linker] MapFile=0 OutputObjs=0 ConsoleApp=1 DebugInfo=0 RemoteSymbols=0 MinStackSize=16384 MaxStackSize=1048576 ImageBase=4194304 ExeDescription=InstantObjects UIB Design-Time Support (Delphi 7) [Directories] OutputDir= UnitOutputDir= PackageDLLOutputDir= PackageDCPOutputDir= SearchPath= Packages= Conditionals= DebugSourceDirs= UsePackages=0 [Parameters] RunParams= HostApplication= [Version Info] IncludeVerInfo=1 AutoIncBuild=0 MajorVer=1 MinorVer=7 Release=0 Build=0 Debug=0 PreRelease=0 Special=0 Private=0 DLL=0 Locale=1040 CodePage=1252 [Version Info Keys] CompanyName=InstantObjects.org FileDescription=InstantObjects UIB Design-Time Support (Delphi 7) FileVersion=1.7.0.0 InternalName= LegalCopyright= LegalTrademarks= OriginalFilename= ProductName=InstantObjects ProductVersion=1.7 --- NEW FILE: DclIOUIB.dpk --- package DclIOUIB; {$R *.res} {$R '..\InstantUIB.dcr'} {$ASSERTIONS ON} {$BOOLEVAL OFF} {$DEBUGINFO ON} {$EXTENDEDSYNTAX ON} {$IMPORTEDDATA ON} {$IOCHECKS ON} {$LOCALSYMBOLS ON} {$LONGSTRINGS ON} {$OPENSTRINGS ON} {$OPTIMIZATION ON} {$OVERFLOWCHECKS OFF} {$RANGECHECKS OFF} {$REFERENCEINFO ON} {$SAFEDIVIDE OFF} {$STACKFRAMES OFF} {$TYPEDADDRESS OFF} {$VARSTRINGCHECKS ON} {$WRITEABLECONST ON} {$MINENUMSIZE 1} {$IMAGEBASE $400000} {$DESCRIPTION 'InstantObjects UIB Design-Time Support (Delphi 7)'} {$DESIGNONLY} {$IMPLICITBUILD OFF} requires vcl50, vcldb50, IOCore, IOUIB; contains InstantUIBReg in '..\InstantUIBReg.pas'; end. --- NEW FILE: DclIOUIB.res --- (This appears to be a binary file; contents omitted.) |