|
From: <na...@us...> - 2010-11-13 10:05:18
|
Revision: 936
http://instantobjects.svn.sourceforge.net/instantobjects/revision/?rev=936&view=rev
Author: nandod
Date: 2010-11-13 10:05:12 +0000 (Sat, 13 Nov 2010)
Log Message:
-----------
* Fixed "unassigned connector" error with full burst mode and no default connector.
Modified Paths:
--------------
trunk/Source/Core/InstantBrokers.pas
trunk/Source/Core/InstantPersistence.pas
Modified: trunk/Source/Core/InstantBrokers.pas
===================================================================
--- trunk/Source/Core/InstantBrokers.pas 2010-11-13 09:57:14 UTC (rev 935)
+++ trunk/Source/Core/InstantBrokers.pas 2010-11-13 10:05:12 UTC (rev 936)
@@ -6042,7 +6042,7 @@
else
LObjRef.ReferenceObject(LClassField.AsString, LIdField.AsString);
if ActualLoadMode = lmFullBurst then
- LObjRef.RetrieveObjectFromObjectData;
+ LObjRef.RetrieveObjectFromObjectData(Connector);
except
LObjRef.Free;
raise;
Modified: trunk/Source/Core/InstantPersistence.pas
===================================================================
--- trunk/Source/Core/InstantPersistence.pas 2010-11-13 09:57:14 UTC (rev 935)
+++ trunk/Source/Core/InstantPersistence.pas 2010-11-13 10:05:12 UTC (rev 936)
@@ -141,8 +141,8 @@
const AObjectData: TInstantAbstractObjectData = nil); overload;
procedure ReferenceObject(const AObjectClass: TInstantObjectClass;
const AObjectId: string; const AObjectData: TInstantAbstractObjectData = nil); overload;
- // Retrieves the referenced object from internal data object, if available.
- procedure RetrieveObjectFromObjectData;
+ // Retrieves the referenced object from the internal data object, if available.
+ procedure RetrieveObjectFromObjectData(const AConnector: TInstantConnector);
procedure WriteAsObject(Writer: TInstantWriter); virtual;
property Instance: TInstantObject read GetInstance write SetInstance;
property ObjectClass: TInstantObjectClass read GetObjectClass;
@@ -1178,7 +1178,7 @@
function InternalGetObjectReferenceId(Index: Integer) : string; virtual;
procedure SetActualLoadMode(const AValue: TInstantLoadMode);
public
- constructor Create(AConnector: TInstantConnector); virtual;
+ constructor Create(AConnector: TInstantConnector); reintroduce; virtual;
function AddObject(AObject: TObject): Integer;
procedure ApplyChanges;
procedure Close;
@@ -2255,13 +2255,14 @@
ReferenceObject(AObjectClass.ClassName, AObjectId, AObjectData);
end;
-procedure TInstantObjectReference.RetrieveObjectFromObjectData;
+procedure TInstantObjectReference.RetrieveObjectFromObjectData(
+ const AConnector: TInstantConnector);
var
LObject: TInstantObject;
begin
Assert(Assigned(FObjectData));
- LObject := ObjectClass.Retrieve(ObjectId, False, False, nil, FObjectData);
+ LObject := ObjectClass.Retrieve(ObjectId, False, False, AConnector, FObjectData);
DoAssignInstance(LObject, True);
if Assigned(FInstance) then
FInstance.Release
|