From: <na...@us...> - 2006-02-28 09:17:46
|
Revision: 634 Author: nandod Date: 2006-02-28 01:17:36 -0800 (Tue, 28 Feb 2006) ViewCVS: http://svn.sourceforge.net/instantobjects?rev=634&view=rev Log Message: ----------- + FR# 1440209 - Pass the object instance to OnGenerateId Modified Paths: -------------- trunk/Source/Core/InstantPersistence.pas Modified: trunk/Source/Core/InstantPersistence.pas =================================================================== --- trunk/Source/Core/InstantPersistence.pas 2006-02-28 08:48:40 UTC (rev 633) +++ trunk/Source/Core/InstantPersistence.pas 2006-02-28 09:17:36 UTC (rev 634) @@ -1433,7 +1433,8 @@ TInstantQuery = class; TInstantSchemeEvent = procedure(Sender: TObject; Scheme: TInstantScheme) of object; - TInstantGenerateIdEvent = procedure(Sender: TObject; var Id: String) of object; + TInstantGenerateIdEvent = procedure(Sender: TObject; const AObject: TInstantObject; + var Id: string) of object; TInstantConnector = class(TComponent) private @@ -1483,7 +1484,7 @@ function InternalCreateQuery: TInstantQuery; virtual; function InternalCreateScheme(Model: TInstantModel): TInstantScheme; virtual; abstract; procedure InternalDisconnect; virtual; abstract; - function InternalGenerateId: string; virtual; + function InternalGenerateId(const AObject: TInstantObject = nil): string; virtual; procedure InternalRollbackTransaction; virtual; procedure InternalStartTransaction; virtual; function RemoveTransactedObject(AObject: TInstantObject): Integer; @@ -1503,7 +1504,7 @@ function CreateQuery: TInstantQuery; procedure Disconnect; function EnsureObjectStore(AClass: TInstantObjectClass): TInstantObjectStore; - function GenerateId: string; + function GenerateId(const AObject: TInstantObject = nil): string; class procedure RegisterClass; procedure RegisterClient(Client: TObject); procedure RollbackTransaction; @@ -9225,9 +9226,9 @@ end; end; -function TInstantConnector.GenerateId: string; +function TInstantConnector.GenerateId(const AObject: TInstantObject = nil): string; begin - Result := InternalGenerateId; + Result := InternalGenerateId(AObject); end; function TInstantConnector.GetBroker: TInstantBroker; @@ -9366,12 +9367,12 @@ Result := Broker.CreateQuery; end; -function TInstantConnector.InternalGenerateId: string; +function TInstantConnector.InternalGenerateId(const AObject: TInstantObject = nil): string; begin if Assigned(FOnGenerateId) then begin Result := ''; - FOnGenerateId(Self, Result); + FOnGenerateId(Self, AObject, Result); end else Result := InstantGenerateId; |