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: Steven M. <sr...@us...> - 2005-11-24 23:11:50
|
Update of /cvsroot/instantobjects/Source/Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18047 Modified Files: InstantAccessors.pas Log Message: 1. TInstantAccessor and TInstantObjectAccessor classes were modified to make TInstantObjectAccessor use a TObjectList of TInstantObjectReferences for the View list. The TInstantObjectReferences have their OwnsInstance properties set to true so that the view object instances are not destroyed before the view list is freed. Index: InstantAccessors.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/InstantAccessors.pas,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** InstantAccessors.pas 23 Oct 2005 23:13:26 -0000 1.5 --- InstantAccessors.pas 24 Nov 2005 23:11:42 -0000 1.6 *************** *** 45,53 **** --- 45,57 ---- TInstantObjectAccessor = class(TInstantAccessor) private + function CreateObjectReference(AObject: TObject): TInstantObjectReference; function GetContainer: TInstantContainer; function GetSubject: TInstantObject; protected function GetConnector: TInstantConnector; override; + function GetObjectCount: Integer; override; + function GetView: TList; override; function InternalAddObject(AObject: TObject): Integer; override; + function InternalAddToView(AObject: TObject): Integer; override; procedure InternalApplyChanges; override; procedure InternalClear; override; *************** *** 55,62 **** --- 59,71 ---- function InternalGetObjects(Index: Integer): TObject; override; function InternalGetObjectCount: Integer; override; + function InternalGetViewObjects(Index: Integer): TObject; override; function InternalIndexOfInstance(Instance: Pointer): Integer; override; function InternalIndexOfObject(AObject: TObject): Integer; override; + procedure InternalInsertInView(Index: Integer; AObject: TObject); override; function InternalInsertObject(Index: Integer; AObject: TObject): Integer; override; + function InternalRemoveFromView(AObject: TObject): Integer; override; function InternalRemoveObject(AObject: TObject): Integer; override; + function InternalViewIndexOfInstance(Instance: Pointer): Integer; override; + function InternalViewIndexOfObject(AObject: TObject): Integer; override; property Container: TInstantContainer read GetContainer; public *************** *** 104,108 **** uses ! SysUtils; { TInstantObjectAccessor } --- 113,117 ---- uses ! SysUtils, Contnrs, InstantClasses, InstantConsts; { TInstantObjectAccessor } *************** *** 122,125 **** --- 131,144 ---- end; + function TInstantObjectAccessor.CreateObjectReference(AObject: TObject): + TInstantObjectReference; + begin + if AObject is TInstantObject then + Result := TInstantObjectReference.Create(TInstantObject(AObject), True) + else + raise EInstantError.CreateFmt(SInvalidClass, + [AObject.ClassName, InternalGetObjectClassName]); + end; + function TInstantObjectAccessor.GetConnector: TInstantConnector; begin *************** *** 132,135 **** --- 151,161 ---- end; + function TInstantObjectAccessor.GetObjectCount: Integer; + begin + if Altered then + Result := View.Count + else + Result := InternalObjectCount; + end; function TInstantObjectAccessor.GetSubject: TInstantObject; begin *************** *** 137,140 **** --- 163,186 ---- end; + function TInstantObjectAccessor.GetView: TList; + var + I: Integer; + Continue:Boolean; + begin + if not Assigned(FView) then + begin + Continue:=True; + FView := TObjectList.Create; + FView.Capacity := InternalObjectCount; + for I := 0 to Pred(InternalObjectCount) do + begin + DoProgress(InternalObjects[I], I+1, Continue); + if not Continue then Break; + AddToView(InternalObjects[I]); + end; + end; + Result := FView; + end; + function TInstantObjectAccessor.InternalAddObject(AObject: TObject): Integer; begin *************** *** 145,148 **** --- 191,199 ---- end; + function TInstantObjectAccessor.InternalAddToView(AObject: TObject): Integer; + begin + Result := View.Add(CreateObjectReference(AObject)); + end; + procedure TInstantObjectAccessor.InternalApplyChanges; begin *************** *** 181,184 **** --- 232,240 ---- end; + function TInstantObjectAccessor.InternalGetViewObjects(Index: Integer): TObject; + begin + Result := TInstantObjectReference(View[Index]).Dereference(Connector); + end; + function TInstantObjectAccessor.InternalIndexOfInstance( Instance: Pointer): Integer; *************** *** 199,202 **** --- 255,264 ---- end; + procedure TInstantObjectAccessor.InternalInsertInView(Index: Integer; AObject: + TObject); + begin + View.Insert(Index, CreateObjectReference(AObject)); + end; + function TInstantObjectAccessor.InternalInsertObject(Index: Integer; AObject: TObject): Integer; *************** *** 210,213 **** --- 272,283 ---- end; + function TInstantObjectAccessor.InternalRemoveFromView(AObject: TObject): + Integer; + begin + Result := InternalViewIndexOfObject(AObject); + if Result > -1 then + View.Delete(Result); + end; + function TInstantObjectAccessor.InternalRemoveObject( AObject: TObject): Integer; *************** *** 219,222 **** --- 289,312 ---- end; + function TInstantObjectAccessor.InternalViewIndexOfInstance(Instance: Pointer): + Integer; + begin + Result := InternalViewIndexOfObject(Instance); + end; + + function TInstantObjectAccessor.InternalViewIndexOfObject(AObject: TObject): + Integer; + var + Ref: TInstantObjectReference; + begin + for Result := 0 to Pred(View.Count) do + begin + Ref := TInstantObjectReference(View[Result]); + if Ref.Equals(AObject as TInstantObject) then + Exit; + end; + Result := -1; + end; + class function TInstantObjectAccessor.SubjectClass: TClass; begin |
From: Steven M. <sr...@us...> - 2005-11-24 23:09:49
|
Update of /cvsroot/instantobjects/Source/Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17597 Modified Files: InstantPersistence.pas Log Message: 1. function TInstantObjectReference.Create - Refactored to use new private method DoAssignInstance. 2. procedure TInstantObjectReference.AssignInstance - a) Remove [AOwner: TInstantComplex] parameter. Change of owner should not be allowed unless further processing is introduced to handle update of ReferenceBy info. b) Refactored to use new private method DoAssignInstance. 3. function TInstantObjectReference.Dereference - Refactored to use new private method DoAssignInstance. 4. procedure TInstantObjectReference.DestroyInstance - Rearranged code based on understanding that ReferencedBy processing is only applied to references when OwnsInstance is True. 5. procedure TInstantObjectReference.DoAssignInstance - New private method DoAssignInstance. 6. procedure TInstantObjectReference.SetInstance - Refactored to use new private method DoAssignInstance. 7. procedure TInstantObjectReference.SetOwnsInstance - Added code to adjust ReferencedBy if OwnsInstance is changed. 8. function TInstantReference.GetValue - Updated code to ensure that ReferencedBy is only adjusted once as this now done in both RetrieveObject and AssignInstance. 9. procedure TInstantReferences.LoadReferencesFromStream - Updated code to set FOwner for TInstantObjectReference. 10. procedure TInstantReferences.ReadObject - Updated code to set FOwner for TInstantObjectReference by using CreateObjectReference method. 11. procedure TInstantSQLResolver.ReadAttribute [local] procedure ReadReferencesAttribute - Updated code to set FOwner for TInstantObjectReference.Create. 12. procedure TInstantNavigationalQuery.InternalRefreshObjects procedure TInstantSQLQuery.InternalRefreshObjects - Optimise the InternalRefreshObjects so that no unnecessary object refreshes occur as these can be expensive reloading of objects from the database. See comments in code. 13. constructor TInstantObjectReference.Clone - Changed sequence of FOwner assignment to ensure that processing occurs correctly for remaining assignments. 14. function TInstantNavigationalQuery.InternalAddObject procedure TInstantNavigationalQuery.InternalInsertObject - Remove code that adds a reference count to InstantObjects to prevent memory leakage. 15. function TInstantSQLQuery.InternalAddObject procedure TInstantSQLQuery.InternalInsertObject - Add code that releases a reference count to InstantObjects to prevent memory leakage. Index: InstantPersistence.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/InstantPersistence.pas,v retrieving revision 1.72 retrieving revision 1.73 diff -C2 -d -r1.72 -r1.73 *** InstantPersistence.pas 6 Nov 2005 20:37:11 -0000 1.72 --- InstantPersistence.pas 24 Nov 2005 23:09:40 -0000 1.73 *************** *** 524,527 **** --- 524,528 ---- FOwnsInstance: Boolean; procedure ClearReference; + procedure DoAssignInstance(AInstance: TInstantObject; AOwnsInstance: Boolean); function GetInstance: TInstantObject; function GetObjectClass: TInstantObjectClass; *************** *** 542,546 **** destructor Destroy; override; procedure Assign(Source: TPersistent); override; ! procedure AssignInstance(AInstance: TInstantObject; AOwner: TInstantComplex = nil); function Dereference(Connector: TInstantConnector = nil; AOwnsInstance: Boolean = True; Retry: Boolean = False): TInstantObject; --- 543,547 ---- destructor Destroy; override; procedure Assign(Source: TPersistent); override; ! procedure AssignInstance(AInstance: TInstantObject); function Dereference(Connector: TInstantConnector = nil; AOwnsInstance: Boolean = True; Retry: Boolean = False): TInstantObject; *************** *** 4310,4325 **** end; ! procedure TInstantObjectReference.AssignInstance(AInstance: TInstantObject; ! AOwner: TInstantComplex); begin ! if not Equals(AInstance) then ! DestroyInstance; ! if Assigned(AInstance) then ! begin ! FInstance := AInstance; ! if OwnsInstance then ! Instance.AddRef; ! end; ! FOwner := AOwner; end; --- 4311,4317 ---- end; ! procedure TInstantObjectReference.AssignInstance(AInstance: TInstantObject); begin ! DoAssignInstance(AInstance, OwnsInstance); end; *************** *** 4334,4340 **** begin Create; Assign(Source); OwnsInstance := AOwnsInstance; - FOwner := AOwner; end; --- 4326,4332 ---- begin Create; + FOwner := AOwner; Assign(Source); OwnsInstance := AOwnsInstance; end; *************** *** 4343,4349 **** begin inherited Create; - Instance := AInstance; - OwnsInstance := AOwnsInstance; FOwner := AOwner; end; --- 4335,4340 ---- begin inherited Create; FOwner := AOwner; + DoAssignInstance(AInstance, AOwnsInstance); end; *************** *** 4356,4359 **** --- 4347,4352 ---- function TInstantObjectReference.Dereference(Connector: TInstantConnector; AOwnsInstance: Boolean; Retry: Boolean): TInstantObject; + var + Obj: TInstantObject; begin if not Assigned(Instance) or (IsBroken and Retry) then *************** *** 4361,4367 **** InstantCheckConnector(Connector); if HasReference then ! FInstance := ObjectClass.Retrieve(ObjectId, False, False, Connector); if Assigned(FInstance) then ! FOwnsInstance := AOwnsInstance else Integer(FInstance) := -1; --- 4354,4363 ---- InstantCheckConnector(Connector); if HasReference then ! begin ! Obj := ObjectClass.Retrieve(ObjectId, False, False, Connector); ! DoAssignInstance(Obj, AOwnsInstance); ! end; if Assigned(FInstance) then ! FInstance.Release else Integer(FInstance) := -1; *************** *** 4385,4395 **** procedure TInstantObjectReference.DestroyInstance; begin ! if HasInstance and Assigned(FOwner) then ! Instance.ReferencedBy.Remove(FOwner); ! if FOwnsInstance then ! Instance.Free; FInstance := nil; end; function TInstantObjectReference.Equals(AObject: TInstantObject): Boolean; begin --- 4381,4405 ---- procedure TInstantObjectReference.DestroyInstance; begin ! if HasInstance and FOwnsInstance then ! begin ! if Assigned(FOwner) then ! FInstance.ReferencedBy.Remove(FOwner); ! FInstance.Free; ! end; FInstance := nil; end; + procedure TInstantObjectReference.DoAssignInstance(AInstance: TInstantObject; + AOwnsInstance: Boolean); + begin + if FInstance <> AInstance then + begin + DestroyInstance; + FInstance := AInstance; + FOwnsInstance := False; + end; + OwnsInstance := AOwnsInstance; + end; + function TInstantObjectReference.Equals(AObject: TInstantObject): Boolean; begin *************** *** 4506,4518 **** begin if not Equals(Value) then ! Reset; ! if Assigned(Value) then ! begin ! FInstance := Value; ! if Assigned(FOwner) then ! FInstance.ReferencedBy.Add(FOwner); ! if OwnsInstance then ! FInstance.AddRef; ! end; end; --- 4516,4521 ---- begin if not Equals(Value) then ! ClearReference; ! DoAssignInstance(Value, OwnsInstance); end; *************** *** 4521,4527 **** if Assigned(Instance) then if Value and not OwnsInstance then ! Instance.AddRef else if not Value and OwnsInstance then ! Instance.Release; FOwnsInstance := Value; end; --- 4524,4538 ---- if Assigned(Instance) then if Value and not OwnsInstance then ! begin ! FInstance.AddRef; ! if Assigned(FOwner) then ! FInstance.ReferencedBy.Add(FOwner); ! end else if not Value and OwnsInstance then ! begin ! FInstance.Release; ! if Assigned(FOwner) then ! FInstance.ReferencedBy.Remove(FOwner); ! end; FOwnsInstance := Value; end; *************** *** 6278,6290 **** begin if not IsBroken then ! Obj := RetrieveObject ! else ! Obj := nil; end else - Obj := CreateObject; - if Assigned(Obj) then begin ! ObjectReference.AssignInstance(Obj); ! Obj.Release; end; end; --- 6289,6301 ---- begin if not IsBroken then ! RetrieveObject; end else begin ! Obj := CreateObject; ! if Assigned(Obj) then ! begin ! ObjectReference.AssignInstance(Obj); ! Obj.Release; ! end; end; end; *************** *** 7261,7269 **** Obj := InstantReadObjectFromStream(AStream); try ! ObjectReferenceList.Add(Obj as TInstantObjectReference); ! TInstantObjectReference(Obj).OwnsInstance := True; ! except Obj.Free; - raise; end; end; --- 7272,7287 ---- Obj := InstantReadObjectFromStream(AStream); try ! ObjReference := TInstantObjectReference.Create(nil, True, Self); ! try ! ObjReference.ReferenceObject( ! TInstantObjectReference(Obj).ObjectClassName, ! TInstantObjectReference(Obj).ObjectId); ! ObjectReferenceList.Add(ObjReference); ! except ! ObjReference.Free; ! raise; ! end; ! finally Obj.Free; end; end; *************** *** 7283,7294 **** ObjId := Processor.ReadData; //Data = ObjectId Processor.ReadTag; //closing tag ! ObjReference := TInstantObjectReference.Create; ! Try ObjReference.ReferenceObject(ObjClassName, ObjId); ObjectReferenceList.Add(ObjReference); ! Except ObjReference.Free; ! End; ! ObjReference.OwnsInstance := True; end; finally --- 7301,7311 ---- ObjId := Processor.ReadData; //Data = ObjectId Processor.ReadTag; //closing tag ! ObjReference := TInstantObjectReference.Create(nil, True, Self); ! try ObjReference.ReferenceObject(ObjClassName, ObjId); ObjectReferenceList.Add(ObjReference); ! except ObjReference.Free; ! end; end; finally *************** *** 7308,7312 **** while not Reader.EndOfList do begin ! Ref := TInstantObjectReference.Create; try Ref.ReadAsObject(Reader); --- 7325,7329 ---- while not Reader.EndOfList do begin ! Ref := CreateObjectReference(nil); try Ref.ReadAsObject(Reader); *************** *** 12484,12489 **** ObjectRow.Row := -1; ObjectRow.Instance := AObject; - if AObject is TInstantObject then - TInstantObject(AObject).AddRef; Result := ObjectRowList.Add(ObjectRow); except --- 12501,12504 ---- *************** *** 12540,12545 **** ObjectRow.Row := -1; ObjectRow.Instance := AObject; - if AObject is TInstantObject then - TInstantObject(AObject).AddRef; ObjectRowList.Insert(Index, ObjectRow); except --- 12555,12558 ---- *************** *** 12558,12563 **** procedure TInstantNavigationalQuery.InternalRefreshObjects; var ! I: Integer; BusyObjects: TObjectList; begin if not DataSet.Active then --- 12571,12578 ---- procedure TInstantNavigationalQuery.InternalRefreshObjects; var ! I, Idx: Integer; BusyObjects: TObjectList; + Obj: TInstantObject; + ObjStore: TInstantObjectStore; begin if not DataSet.Active then *************** *** 12565,12580 **** BusyObjects := TObjectList.Create; try for I := 0 to Pred(ObjectRowCount) do with ObjectRows[I]^ do ! if (Instance is TInstantObject) ! and (TInstantObject(Instance).RefCount > 0) then begin ! BusyObjects.Add(Instance); ! TInstantObject(Instance).AddRef; end; Close; Open; for I := 0 to Pred(BusyObjects.Count) do ! TInstantObject(BusyObjects[I]).Refresh; finally BusyObjects.Free; --- 12580,12618 ---- BusyObjects := TObjectList.Create; try + // Collect a reference to all objects in query. + // Note: In this list of TInstantObjectReferences + // OwnsInstance is false. for I := 0 to Pred(ObjectRowCount) do with ObjectRows[I]^ do ! if (Instance is TInstantObject) then begin ! Idx := BusyObjects.Add(TInstantObjectReference.Create(nil)); ! TInstantObjectReference(BusyObjects[Idx]).ReferenceObject( ! TInstantObject(Instance).ClassName, ! TInstantObject(Instance).Id); end; + Close; + + // Remove references from the BusyList for objects deleted + // when the query was closed. + for I := Pred(BusyObjects.Count) downto 0 do + with TInstantObjectReference(BusyObjects[I]) do + begin + ObjStore := Connector.ObjectStores.FindObjectStore(ObjectClass); + if not (Assigned(ObjStore) and Assigned(ObjStore.Find(ObjectId))) then + BusyObjects.Delete(I); + end; + Open; + + // Refresh objects in the BusyList that were not deleted + // when the query was closed. for I := 0 to Pred(BusyObjects.Count) do ! begin ! Obj := TInstantObjectReference(BusyObjects[I]).Dereference(Connector, False); ! if Assigned(Obj) then ! Obj.Refresh; ! end; finally BusyObjects.Free; *************** *** 14354,14360 **** while not DataSet.Eof do begin ! RefObject := TInstantObjectReference.Create(nil, True); RefObject.ReferenceObject(Metadata.ObjectClass, DataSet.Fields[1].AsString); ! (Attribute as TInstantReferences).ObjectReferenceList.Add(RefObject); DataSet.Next; end; --- 14392,14399 ---- while not DataSet.Eof do begin ! RefObject := TInstantObjectReference.Create(nil, True, ! Attribute as TInstantReferences); RefObject.ReferenceObject(Metadata.ObjectClass, DataSet.Fields[1].AsString); ! (Attribute as TInstantReferences).ObjectReferenceList.Add(RefObject); DataSet.Next; end; *************** *** 14613,14616 **** --- 14652,14656 ---- try Result := ObjectReferenceList.Add(ObjectRef); + TInstantObject(AObject).Release; except ObjectRef.Free; *************** *** 14652,14655 **** --- 14692,14696 ---- try ObjectReferenceList.Insert(Index, ObjectRef); + TInstantObject(AObject).Release; except ObjectRef.Free; *************** *** 14676,14695 **** procedure TInstantSQLQuery.InternalRefreshObjects; var ! I: Integer; BusyObjects: TObjectList; begin BusyObjects := TObjectList.Create; try for I := 0 to Pred(ObjectReferenceCount) do with ObjectReferences[I] do ! if HasInstance and (Instance.RefCount > 0) then begin ! BusyObjects.Add(Instance); ! TInstantObject(Instance).AddRef; end; Close; Open; ! for I := 0 to Pred(BusyObjects.Count) do ! TInstantObject(BusyObjects[I]).Refresh; finally BusyObjects.Free; --- 14717,14761 ---- procedure TInstantSQLQuery.InternalRefreshObjects; var ! I, Idx: Integer; BusyObjects: TObjectList; + Obj: TInstantObject; + ObjStore: TInstantObjectStore; begin BusyObjects := TObjectList.Create; try + // Collect a reference to all objects in query. + // Note: In this list of TInstantObjectReferences + // OwnsInstance is false. for I := 0 to Pred(ObjectReferenceCount) do with ObjectReferences[I] do ! if HasInstance then begin ! Idx := BusyObjects.Add(TInstantObjectReference.Create(nil)); ! TInstantObjectReference(BusyObjects[Idx]).ReferenceObject( ! Instance.ClassName, Instance.Id); end; + Close; + + // Remove references from the BusyList for objects deleted + // when the query was closed. + for I := Pred(BusyObjects.Count) downto 0 do + with TInstantObjectReference(BusyObjects[I]) do + begin + ObjStore := Connector.ObjectStores.FindObjectStore(ObjectClass); + if not (Assigned(ObjStore) and Assigned(ObjStore.Find(ObjectId))) then + BusyObjects.Delete(I); + end; + Open; ! ! // Refresh objects in the BusyList that were not deleted ! // when the query was closed. ! for I := Pred(BusyObjects.Count) downto 0 do ! begin ! Obj := TInstantObjectReference(BusyObjects[I]).Dereference(Connector, False); ! if Assigned(Obj) then ! Obj.Refresh; ! end; finally BusyObjects.Free; |
From: Steven M. <sr...@us...> - 2005-11-24 22:49:57
|
Update of /cvsroot/instantobjects/Source/Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12162 Modified Files: InstantPresentation.pas Log Message: 1. TInstantAccessor and TInstantObjectAccessor classes were modified to make TInstantObjectAccessor use a TObjectList of TInstantObjectReferences for the View list. The TInstantObjectReferences have their OwnsInstance properties set to true so that the view object instances are not destroyed before the view list is freed. 2. procedure TInstantCustomExposer.AccessorChanged - Reset the accessor View list before the dataset is refreshed. This fixes the AV's sometimes experienced when using InstantCustomExposer components, but should be regarded as an interim fix until root cause of problem is found. Index: InstantPresentation.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/InstantPresentation.pas,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** InstantPresentation.pas 25 Oct 2005 06:21:13 -0000 1.23 --- InstantPresentation.pas 24 Nov 2005 22:49:45 -0000 1.24 *************** *** 65,74 **** FSorted: Boolean; FSubject: TObject; - FView: TList; FOnChange: TInstantChangeEvent; FOnCompare: TInstantCompareObjectsEvent; FOnLimit: TInstantLimitObjectsEvent; FOnProgress: TInstantProgressEvent; - procedure DestroyView; function GetAltered: Boolean; function GetHasSubject: Boolean; --- 65,72 ---- *************** *** 76,84 **** function GetObjectClass: TClass; function GetObjectClassName: string; - function GetObjectCount: Integer; function GetObjects(Index: Integer): TObject; function GetSubject: TObject; function GetTotalCount: Integer; - function GetView: TList; procedure SetContainerName(const Value: string); procedure SetLimited(Value: Boolean); --- 74,80 ---- *************** *** 90,105 **** procedure SetOnProgress(const Value: TInstantProgressEvent); procedure SetSorted(Value: Boolean); - property View: TList read GetView; protected function AddToView(AObject: TObject): Integer; function InsertInView(Index: Integer; AObject: TObject): Integer; function RemoveFromView(AObject: TObject): Integer; procedure Changed(ChangeType: TInstantChangeType); virtual; procedure DoLimit(AObject: TObject; var Accept: Boolean); procedure DoProgress(Sender: TObject; Count: Integer; var Continue: Boolean); function GetConnector: TInstantConnector; virtual; function GetMode: TInstantAccessMode; virtual; function IncludeObject(AObject: TObject): Boolean; function InternalAddObject(AObject: TObject): Integer; virtual; procedure InternalApplyChanges; virtual; procedure InternalClear; virtual; --- 86,105 ---- procedure SetOnProgress(const Value: TInstantProgressEvent); procedure SetSorted(Value: Boolean); protected + FView: TList; function AddToView(AObject: TObject): Integer; function InsertInView(Index: Integer; AObject: TObject): Integer; function RemoveFromView(AObject: TObject): Integer; procedure Changed(ChangeType: TInstantChangeType); virtual; + procedure DestroyView; virtual; procedure DoLimit(AObject: TObject; var Accept: Boolean); procedure DoProgress(Sender: TObject; Count: Integer; var Continue: Boolean); function GetConnector: TInstantConnector; virtual; function GetMode: TInstantAccessMode; virtual; + function GetObjectCount: Integer; virtual; + function GetView: TList; virtual; function IncludeObject(AObject: TObject): Boolean; function InternalAddObject(AObject: TObject): Integer; virtual; + function InternalAddToView(AObject: TObject): Integer; virtual; procedure InternalApplyChanges; virtual; procedure InternalClear; virtual; *************** *** 109,121 **** --- 109,127 ---- function InternalGetObjectCount: Integer; virtual; function InternalGetObjects(Index: Integer): TObject; virtual; + function InternalGetViewObjects(Index: Integer): TObject; virtual; function InternalIndexOfInstance(Instance: Pointer): Integer; virtual; function InternalIndexOfObject(AObject: TObject): Integer; virtual; + procedure InternalInsertInView(Index: Integer; AObject: TObject); virtual; function InternalInsertObject(Index: Integer; AObject: TObject): Integer; virtual; procedure InternalRefreshObjects; virtual; procedure InternalReleaseObject(AObject: TObject); virtual; + function InternalRemoveFromView(AObject: TObject): Integer; virtual; function InternalRemoveObject(AObject: TObject): Integer; virtual; + function InternalViewIndexOfInstance(Instance: Pointer): Integer; virtual; + function InternalViewIndexOfObject(AObject: TObject): Integer; virtual; property HasSubject: Boolean read GetHasSubject; property InternalObjects[Index: Integer]: TObject read InternalGetObjects; property InternalObjectCount: Integer read InternalGetObjectCount; + property View: TList read GetView; public constructor Create(ASubject: TObject); virtual; *************** *** 1114,1118 **** begin if Altered then ! Result := View[Index] else Result := InternalObjects[Index]; --- 1120,1124 ---- begin if Altered then ! Result := InternalGetViewObjects(Index) else Result := InternalObjects[Index]; *************** *** 1160,1164 **** begin if Altered then ! Result := View.IndexOf(Instance) else Result := InternalIndexOfInstance(Instance); --- 1166,1170 ---- begin if Altered then ! Result := InternalViewIndexOfInstance(Instance) else Result := InternalIndexOfInstance(Instance); *************** *** 1168,1172 **** begin if Altered then ! Result := View.IndexOf(AObject) else Result := InternalIndexOfObject(AObject); --- 1174,1178 ---- begin if Altered then ! Result := InternalViewIndexOfObject(AObject) else Result := InternalIndexOfObject(AObject); *************** *** 1207,1215 **** if Index < View.Count then begin ! View.Insert(Index, AObject); Result := Index; end else begin ! View.Add(AObject); Result := Pred(View.Count); end; --- 1213,1221 ---- if Index < View.Count then begin ! InternalInsertInView(Index, AObject); Result := Index; end else begin ! InternalAddToView(AObject); Result := Pred(View.Count); end; *************** *** 1230,1233 **** --- 1236,1244 ---- end; + function TInstantAccessor.InternalAddToView(AObject: TObject): Integer; + begin + Result := View.Add(AObject); + end; + procedure TInstantAccessor.InternalApplyChanges; begin *************** *** 1266,1269 **** --- 1277,1285 ---- end; + function TInstantAccessor.InternalGetViewObjects(Index: Integer): TObject; + begin + Result := View[Index]; + end; + function TInstantAccessor.InternalIndexOfInstance(Instance: Pointer): Integer; begin *************** *** 1279,1282 **** --- 1295,1304 ---- end; + procedure TInstantAccessor.InternalInsertInView(Index: Integer; AObject: + TObject); + begin + View.Insert(Index, AObject); + end; + function TInstantAccessor.InternalInsertObject(Index: Integer; AObject: TObject): Integer; *************** *** 1293,1296 **** --- 1315,1323 ---- end; + function TInstantAccessor.InternalRemoveFromView(AObject: TObject): Integer; + begin + Result := View.Remove(AObject); + end; + function TInstantAccessor.InternalRemoveObject(AObject: TObject): Integer; begin *************** *** 1298,1301 **** --- 1325,1339 ---- end; + function TInstantAccessor.InternalViewIndexOfInstance(Instance: Pointer): + Integer; + begin + Result := InternalViewIndexOfObject(Instance); + end; + + function TInstantAccessor.InternalViewIndexOfObject(AObject: TObject): Integer; + begin + Result := View.IndexOf(AObject); + end; + procedure TInstantAccessor.Refresh; begin *************** *** 1323,1327 **** function TInstantAccessor.RemoveFromView(AObject: TObject): Integer; begin ! Result := View.Remove(AObject); end; --- 1361,1365 ---- function TInstantAccessor.RemoveFromView(AObject: TObject): Integer; begin ! Result := InternalRemoveFromView(AObject); end; *************** *** 1445,1448 **** --- 1483,1492 ---- if Active then begin + // TODO: This Reset should not be necessary. + // It is a hack to avoid intermittent AVs. + // Further investigation is required to find + // the actual problem. - SM (24 Nov 2005) + Reset; + Refresh; DoAfterScroll; |
From: Joao M. <jcm...@us...> - 2005-11-22 23:08:13
|
Update of /cvsroot/instantobjects/Source/Brokers/ZeosDBO In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30757/Brokers/ZeosDBO Modified Files: InstantZeosDBO.pas InstantZeosDBOCatalog.pas InstantZeosDBOConnectionDefEdit.dfm InstantZeosDBOConnectionDefEdit.pas Log Message: Fixes for Delphi 5 compatibility; Implemented catalog retrieve from database; LoginPrompt and code improvement; Index: InstantZeosDBOConnectionDefEdit.dfm =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/ZeosDBO/InstantZeosDBOConnectionDefEdit.dfm,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** InstantZeosDBOConnectionDefEdit.dfm 18 Oct 2005 22:55:18 -0000 1.2 --- InstantZeosDBOConnectionDefEdit.dfm 22 Nov 2005 23:08:05 -0000 1.3 *************** *** 42,50 **** end object PortLabel: TLabel ! Left = 176 Top = 16 ! Width = 19 Height = 13 ! Caption = '&Port' FocusControl = PortEdit end --- 42,50 ---- end object PortLabel: TLabel ! Left = 152 Top = 16 ! Width = 78 Height = 13 ! Caption = '&Port (0 = default)' FocusControl = PortEdit end *************** *** 71,75 **** Height = 13 Caption = '&Catalog' ! FocusControl = CatalogEdit end object UserNameLabel: TLabel --- 71,75 ---- Height = 13 Caption = '&Catalog' ! FocusControl = CatalogComboBox end object UserNameLabel: TLabel *************** *** 124,137 **** Left = 16 Top = 32 ! Width = 153 Height = 21 TabOrder = 0 end object PortEdit: TEdit ! Left = 176 Top = 32 ! Width = 57 Height = 21 TabOrder = 1 end object ProtocolComboBox: TComboBox --- 124,138 ---- Left = 16 Top = 32 ! Width = 129 Height = 21 TabOrder = 0 end object PortEdit: TEdit ! Left = 152 Top = 32 ! Width = 81 Height = 21 TabOrder = 1 + OnExit = PortEditExit end object ProtocolComboBox: TComboBox *************** *** 152,161 **** TabOrder = 3 end ! object CatalogEdit: TEdit Left = 240 Top = 72 Width = 113 Height = 21 TabOrder = 5 end object DatabaseButton: TButton --- 153,164 ---- TabOrder = 3 end ! object CatalogComboBox: TComboBox Left = 240 Top = 72 Width = 113 Height = 21 + ItemHeight = 13 TabOrder = 5 + OnDropDown = CatalogComboBoxDropDown end object DatabaseButton: TButton *************** *** 166,169 **** --- 169,173 ---- Caption = '...' TabOrder = 4 + OnClick = DatabaseButtonClick end object UserNameEdit: TEdit Index: InstantZeosDBOCatalog.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/ZeosDBO/InstantZeosDBOCatalog.pas,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** InstantZeosDBOCatalog.pas 10 Nov 2005 19:35:30 -0000 1.3 --- InstantZeosDBOCatalog.pas 22 Nov 2005 23:08:05 -0000 1.4 *************** *** 39,43 **** uses ! InstantPersistence, DB, ZDbcIntfs; type --- 39,43 ---- uses ! DB, ZDbcIntfs, InstantPersistence, InstantZeosDBO; type *************** *** 51,57 **** --- 51,61 ---- function ColumnTypeToDataType(const ColumnType: TZSQLType; out AlternateDataTypes: TInstantDataTypes): TInstantDataType; + function GetBroker: TInstantZeosDBOBroker; + function GetConnector: TInstantZeosDBOConnector; public procedure InitTableMetadatas(ATableMetadatas: TInstantTableMetadatas); override; + property Broker: TInstantZeosDBOBroker read GetBroker; + property Connector: TInstantZeosDBOConnector read GetConnector; end; *************** *** 59,63 **** uses ! Types, SysUtils, Classes, ZConnection, InstantConsts, InstantZeosDBO, TypInfo; procedure TInstantZeosDBOCatalog.AddFieldMetadatas( --- 63,68 ---- uses ! {$IFDEF D7+}Types,{$ENDIF} TypInfo, SysUtils, Classes, ZConnection, ! InstantClasses, InstantConsts; procedure TInstantZeosDBOCatalog.AddFieldMetadatas( *************** *** 68,72 **** AlternateDatatypes: TInstantDataTypes; begin ! with Broker as TInstantZeosDBOBroker, Connector.Connection as TZConnection do Fields := DbcConnection.GetMetadata.GetColumns(Catalog, '', TableMetadata.Name, ''); --- 73,77 ---- AlternateDatatypes: TInstantDataTypes; begin ! with Connector.Connection do Fields := DbcConnection.GetMetadata.GetColumns(Catalog, '', TableMetadata.Name, ''); *************** *** 86,90 **** if TableMetadata.IndexMetadatas.IsFieldIndexed(FieldMetadata) then FieldMetadata.Options := FieldMetadata.Options + [foIndexed]; ! //work around bug in GetColumns for all drivers where CHAR_OCTET_LENGTH is not assigned if (FieldMetadata.DataType in [dtString, dtMemo]) and (Fields.GetIntByName('CHAR_OCTET_LENGTH') > 0) then --- 91,96 ---- if TableMetadata.IndexMetadatas.IsFieldIndexed(FieldMetadata) then FieldMetadata.Options := FieldMetadata.Options + [foIndexed]; ! // work around bug in GetColumns for all drivers where ! // CHAR_OCTET_LENGTH is not assigned if (FieldMetadata.DataType in [dtString, dtMemo]) and (Fields.GetIntByName('CHAR_OCTET_LENGTH') > 0) then *************** *** 103,107 **** IndexMetadata: TInstantIndexMetadata; begin ! with Broker as TInstantZeosDBOBroker, Connector.Connection as TZConnection do PrimaryKeys := DbcConnection.GetMetadata.GetPrimaryKeys(Catalog, '', TableMetadata.Name); --- 109,113 ---- IndexMetadata: TInstantIndexMetadata; begin ! with Connector.Connection do PrimaryKeys := DbcConnection.GetMetadata.GetPrimaryKeys(Catalog, '', TableMetadata.Name); *************** *** 125,129 **** end; ! with Broker as TInstantZeosDBOBroker, Connector.Connection as TZConnection do IndexInfo := DbcConnection.GetMetadata.GetIndexInfo(Catalog, '', TableMetadata.Name, False, False); --- 131,135 ---- end; ! with Connector.Connection do IndexInfo := DbcConnection.GetMetadata.GetIndexInfo(Catalog, '', TableMetadata.Name, False, False); *************** *** 163,169 **** Tables: IZResultSet; begin ! with Broker as TInstantZeosDBOBroker, Connector.Connection do begin ! if not Connector.Connected then Connector.Connect; DbcConnection.GetMetadata.ClearCache; Tables := DbcConnection.GetMetadata.GetTables(Catalog, '', '', nil); --- 169,176 ---- Tables: IZResultSet; begin ! with Connector.Connection do begin ! if not Connected then ! Connect; DbcConnection.GetMetadata.ClearCache; Tables := DbcConnection.GetMetadata.GetTables(Catalog, '', '', nil); *************** *** 216,224 **** stUnicodeStream: Result := dtMemo; else ! raise Exception.CreateFmt(SUnsupportedColumnType, [GetEnumName(TypeInfo(TZSQLType), Ord(ColumnType))]); end; end; procedure TInstantZeosDBOCatalog.InitTableMetadatas( ATableMetadatas: TInstantTableMetadatas); --- 223,241 ---- stUnicodeStream: Result := dtMemo; else ! raise EInstantError.CreateFmt(SUnsupportedColumnType, [GetEnumName(TypeInfo(TZSQLType), Ord(ColumnType))]); end; end; + function TInstantZeosDBOCatalog.GetBroker: TInstantZeosDBOBroker; + begin + Result := inherited Broker as TInstantZeosDBOBroker; + end; + + function TInstantZeosDBOCatalog.GetConnector: TInstantZeosDBOConnector; + begin + Result := Broker.Connector; + end; + procedure TInstantZeosDBOCatalog.InitTableMetadatas( ATableMetadatas: TInstantTableMetadatas); *************** *** 229,231 **** end. - --- 246,247 ---- Index: InstantZeosDBOConnectionDefEdit.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/ZeosDBO/InstantZeosDBOConnectionDefEdit.pas,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** InstantZeosDBOConnectionDefEdit.pas 18 Oct 2005 22:55:18 -0000 1.3 --- InstantZeosDBOConnectionDefEdit.pas 22 Nov 2005 23:08:05 -0000 1.4 *************** *** 60,64 **** ProtocolComboBox: TComboBox; DatabaseEdit: TEdit; ! CatalogEdit: TEdit; DatabaseButton: TButton; UserNameEdit: TEdit; --- 60,64 ---- ProtocolComboBox: TComboBox; DatabaseEdit: TEdit; ! CatalogComboBox: TComboBox; DatabaseButton: TButton; UserNameEdit: TEdit; *************** *** 75,78 **** --- 75,81 ---- CancelButton: TButton; procedure FormCreate(Sender: TObject); + procedure PortEditExit(Sender: TObject); + procedure DatabaseButtonClick(Sender: TObject); + procedure CatalogComboBoxDropDown(Sender: TObject); private procedure UpdateControls; *************** *** 99,102 **** --- 102,134 ---- end; + procedure TInstantZeosDBOConnectionDefEditForm.PortEditExit( + Sender: TObject); + begin + if Length(PortEdit.Text) > 0 then + PortEdit.Text := InttoStr(StrtoInt(PortEdit.Text)); + end; + + procedure TInstantZeosDBOConnectionDefEditForm.DatabaseButtonClick( + Sender: TObject); + begin + with TOpenDialog.Create(nil) do + try + Filter := 'All Files (*.*)|*.*'; + if Execute then + DatabaseEdit.Text := FileName; + finally + Free; + end; + end; + + procedure TInstantZeosDBOConnectionDefEditForm.CatalogComboBoxDropDown( + Sender: TObject); + begin + AssignZeosDBOCatalogs(CatalogComboBox.Items, + ProtocolComboBox.Text, HostNameEdit.Text, PortEdit.Text, + UserNameEdit.Text, PasswordEdit.Text, + PropertiesEditor.Lines); + end; + procedure TInstantZeosDBOConnectionDefEditForm.LoadData( ConnectionDef: TInstantZeosDBOConnectionDef); *************** *** 106,110 **** ProtocolComboBox.ItemIndex := ProtocolComboBox.Items.IndexOf(ConnectionDef.Protocol); DatabaseEdit.Text := ConnectionDef.Database; ! CatalogEdit.Text := ConnectionDef.Catalog; UserNameEdit.Text := ConnectionDef.UserName; PasswordEdit.Text := ConnectionDef.Password; --- 138,142 ---- ProtocolComboBox.ItemIndex := ProtocolComboBox.Items.IndexOf(ConnectionDef.Protocol); DatabaseEdit.Text := ConnectionDef.Database; ! CatalogComboBox.Text := ConnectionDef.Catalog; UserNameEdit.Text := ConnectionDef.UserName; PasswordEdit.Text := ConnectionDef.Password; *************** *** 122,129 **** begin ConnectionDef.HostName := HostNameEdit.Text; ! ConnectionDef.Port := StrtoInt(PortEdit.Text); ConnectionDef.Protocol := ProtocolComboBox.Text; ConnectionDef.Database := DatabaseEdit.Text; ! ConnectionDef.Catalog := CatalogEdit.Text; ConnectionDef.UserName := UserNameEdit.Text; ConnectionDef.Password := PasswordEdit.Text; --- 154,168 ---- begin ConnectionDef.HostName := HostNameEdit.Text; ! if Length(PortEdit.Text) > 0 then ! try ! ConnectionDef.Port := StrtoInt(PortEdit.Text); ! except ! ConnectionDef.Port := 0; ! end ! else ! ConnectionDef.Port := 0; ConnectionDef.Protocol := ProtocolComboBox.Text; ConnectionDef.Database := DatabaseEdit.Text; ! ConnectionDef.Catalog := CatalogComboBox.Text; ConnectionDef.UserName := UserNameEdit.Text; ConnectionDef.Password := PasswordEdit.Text; *************** *** 138,144 **** procedure TInstantZeosDBOConnectionDefEditForm.UpdateControls; begin - end; end. - --- 177,181 ---- Index: InstantZeosDBO.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/ZeosDBO/InstantZeosDBO.pas,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** InstantZeosDBO.pas 6 Nov 2005 20:51:53 -0000 1.5 --- InstantZeosDBO.pas 22 Nov 2005 23:08:05 -0000 1.6 *************** *** 93,96 **** --- 93,97 ---- procedure DoBeforeConnectionChange; function GetConnection: TZConnection; + function GetLoginPrompt: Boolean; procedure SetConnection(Value: TZConnection); procedure SetLoginPrompt(const Value: Boolean); *************** *** 103,109 **** --- 104,112 ---- function CreateBroker: TInstantBroker; override; function GetConnected: Boolean; override; + function GetDatabaseExists: Boolean; override; procedure InternalBuildDatabase(Scheme: TInstantScheme); override; procedure InternalCommitTransaction; override; procedure InternalConnect; override; + procedure InternalCreateDatabase; override; procedure InternalDisconnect; override; procedure InternalRollbackTransaction; override; *************** *** 117,121 **** published property Connection: TZConnection read GetConnection write SetConnection; ! property LoginPrompt: Boolean read FLoginPrompt write SetLoginPrompt default False; property OnLogin: TLoginEvent read FOnLogin write FOnLogin; property UseDelimitedIdents: Boolean read FUseDelimitedIdents write SetUseDelimitedIdents default False; --- 120,124 ---- published property Connection: TZConnection read GetConnection write SetConnection; ! property LoginPrompt: Boolean read GetLoginPrompt write SetLoginPrompt default False; property OnLogin: TLoginEvent read FOnLogin write FOnLogin; property UseDelimitedIdents: Boolean read FUseDelimitedIdents write SetUseDelimitedIdents default False; *************** *** 271,288 **** procedure AssignZeosDBOProtocols(Strings: TStrings); implementation uses ! SysUtils, {$IFDEF D7+}Types, {$ENDIF}Controls, InstantConsts, InstantClasses, ! InstantZeosDBOConnectionDefEdit, InstantZeosDBOCatalog, InstantUtils, ZClasses, ! ZCompatibility, ZDbcIntfs, ZDataset; {$IFDEF SQLITE_SUPPORT} const ! STmpTableSuffix = '_XYZ_'; ! {$ENDIF} ! { Global routines } procedure AssignZeosDBOProtocols(Strings: TStrings); --- 274,294 ---- procedure AssignZeosDBOProtocols(Strings: TStrings); + procedure AssignZeosDBOCatalogs(Strings: TStrings; const AProtocol, AHostName, + APort, AUser, APassword: string; AProperties: TStrings); implementation uses ! SysUtils, {$IFDEF D7+}Types,{$ENDIF} Controls, {$IFDEF D5}DBLogDlg,{$ENDIF} ! InstantConsts, InstantClasses, InstantZeosDBOConnectionDefEdit, ! InstantZeosDBOCatalog, InstantUtils, ZClasses, ZCompatibility, ZDbcIntfs, ! ZDataset; {$IFDEF SQLITE_SUPPORT} const ! STmpTableSuffix = '_IOTmp_'; ! {$ENDIF} ! { Global routines } procedure AssignZeosDBOProtocols(Strings: TStrings); *************** *** 303,306 **** --- 309,350 ---- end; + procedure AssignZeosDBOCatalogs(Strings: TStrings; const AProtocol, AHostName, + APort, AUser, APassword: string; AProperties: TStrings); + var + DbcConnection: IZConnection; + Url: string; + begin + Strings.Clear; + try + if (APort = '') or (APort = '0') then + Url := Format('zdbc:%s://%s/%s?UID=%s;PWD=%s', + [AProtocol, AHostName, '', AUser, APassword]) + else + Url := Format('zdbc:%s://%s:%d/%s?UID=%s;PWD=%s', + [AProtocol, AHostName, APort, '', AUser, APassword]); + + DbcConnection := DriverManager.GetConnectionWithParams(Url, AProperties); + with DbcConnection.GetMetadata.GetCatalogs do + try + while Next do + Strings.Add(GetString(1)); + finally + Close; + end; + except + // Just return an empty list whenever exception raises + end; + end; + + { Local routines } + + {$IFDEF D5} + function LoginDialogProcCompatibility(const ADatabaseName: string; + var AUserName, APassword: string): Boolean; + begin + Result := LoginDialogEx(ADatabaseName, AUserName, APassword, False); + end; + {$ENDIF} + { TInstantZeosDBOConnectionDef } *************** *** 360,370 **** procedure TInstantZeosDBOConnector.AfterConnectionChange; begin - { TODO : Is it a good idea changes connection properties after assignment? } if HasConnection then begin FConnection.Connected := False; ! // We need to turn Auto Commit off and set ReadCommitted ! // Transaction Isolation Level ! FConnection.AutoCommit := False; FConnection.TransactIsolationLevel := tiReadCommitted; end; --- 404,411 ---- procedure TInstantZeosDBOConnector.AfterConnectionChange; begin if HasConnection then begin FConnection.Connected := False; ! FConnection.AutoCommit := True; FConnection.TransactIsolationLevel := tiReadCommitted; end; *************** *** 375,381 **** if HasConnection then begin ! Connection.LoginPrompt := FLoginPrompt; if Assigned(FOnLogin) and not Assigned(Connection.OnLogin) then ! Connection.OnLogin := FOnLogin; end; end; --- 416,422 ---- if HasConnection then begin ! FConnection.LoginPrompt := FLoginPrompt; if Assigned(FOnLogin) and not Assigned(Connection.OnLogin) then ! FConnection.OnLogin := FOnLogin; end; end; *************** *** 407,411 **** begin CheckConnection; - Result := nil; --- 448,451 ---- *************** *** 495,498 **** --- 535,551 ---- end; + function TInstantZeosDBOConnector.GetDatabaseExists: Boolean; + begin + { TODO : Implement } + Result := True; + end; + + function TInstantZeosDBOConnector.GetLoginPrompt: Boolean; + begin + if HasConnection then + FLoginPrompt := FConnection.LoginPrompt; + Result := FLoginPrompt; + end; + function TInstantZeosDBOConnector.HasConnection: Boolean; begin *************** *** 526,529 **** --- 579,587 ---- end; + procedure TInstantZeosDBOConnector.InternalCreateDatabase; + begin + { TODO : Implement } + end; + procedure TInstantZeosDBOConnector.InternalDisconnect; begin *************** *** 541,545 **** procedure TInstantZeosDBOConnector.InternalStartTransaction; begin ! // ZeosDBO starts new transaction when necessary end; --- 599,607 ---- procedure TInstantZeosDBOConnector.InternalStartTransaction; begin ! CheckConnection; ! // ZeosDBO check if AutoCommit is true when starting an explicit transaction, ! // changing AutoCommit to False ! if FConnection.AutoCommit then ! FConnection.StartTransaction; end; *************** *** 590,602 **** var i: Integer; - TargetParams: TParams; SourceParam, TargetParam: TParam; begin //don't call inherited - TargetParams := (DataSet as TZReadOnlyQuery).Params; for i := 0 to Pred(AParams.Count) do begin SourceParam := AParams[i]; ! TargetParam := TargetParams.FindParam(SourceParam.Name); if Assigned(TargetParam) then AssignParam(SourceParam, TargetParam); --- 652,663 ---- var i: Integer; SourceParam, TargetParam: TParam; begin //don't call inherited for i := 0 to Pred(AParams.Count) do begin SourceParam := AParams[i]; ! TargetParam := ! (DataSet as TZReadOnlyQuery).Params.FindParam(SourceParam.Name); if Assigned(TargetParam) then AssignParam(SourceParam, TargetParam); *************** *** 612,629 **** else TargetParam.AsInteger := Integer(SourceParam.AsBoolean); ! (* ! ftDateTime: ! begin ! TargetParam.DataType := ftTimeStamp; ! TargetParam.Value := SourceParam.AsDateTime; ! end; ! ftCurrency: ! begin ! TargetParam.DataType := ftBCD; ! TargetParam.Value := SourceParam.AsCurrency; ! end; ! *) ! else ! TargetParam.Assign(SourceParam); end; end; --- 673,678 ---- else TargetParam.AsInteger := Integer(SourceParam.AsBoolean); ! else ! TargetParam.Assign(SourceParam); end; end; *************** *** 1174,1181 **** RegisterClass(TInstantZeosDBOConnectionDef); TInstantZeosDBOConnector.RegisterClass; finalization TInstantZeosDBOConnector.UnregisterClass; end. - --- 1223,1237 ---- RegisterClass(TInstantZeosDBOConnectionDef); TInstantZeosDBOConnector.RegisterClass; + {$IFDEF D5} + if not Assigned(LoginDialogProc) then + LoginDialogProc := LoginDialogProcCompatibility; + {$ENDIF} finalization TInstantZeosDBOConnector.UnregisterClass; + {$IFDEF D5} + if @LoginDialogProc = @LoginDialogProcCompatibility then + LoginDialogProc := nil; + {$ENDIF} end. |
From: Joao M. <jcm...@us...> - 2005-11-22 22:28:58
|
Update of /cvsroot/instantobjects/Source/Brokers/IBX In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20466/Brokers/IBX Modified Files: InstantIBX.pas Log Message: Changed default UseDelimitedIdent state of UIB and IBX brokers to False Index: InstantIBX.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/IBX/InstantIBX.pas,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** InstantIBX.pas 10 Nov 2005 00:22:15 -0000 1.15 --- InstantIBX.pas 22 Nov 2005 22:28:46 -0000 1.16 *************** *** 48,52 **** const ! DefaultInstantIBXOptions = [ibxUseDelimitedIdents]; type --- 48,52 ---- const ! DefaultInstantIBXOptions = []; type |
From: Joao M. <jcm...@us...> - 2005-11-22 22:28:54
|
Update of /cvsroot/instantobjects/Source/Brokers/UIB In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20466/Brokers/UIB Modified Files: InstantUIB.pas Log Message: Changed default UseDelimitedIdent state of UIB and IBX brokers to False Index: InstantUIB.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/UIB/InstantUIB.pas,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** InstantUIB.pas 16 Nov 2005 21:39:31 -0000 1.17 --- InstantUIB.pas 22 Nov 2005 22:28:46 -0000 1.18 *************** *** 45,49 **** const ! DefaultInstantUIBOptions = [uibUseDelimitedIdents]; type --- 45,49 ---- const ! DefaultInstantUIBOptions = []; type |
From: Joao M. <jcm...@us...> - 2005-11-16 21:39:45
|
Update of /cvsroot/instantobjects/Source/Brokers/UIB In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3213/Brokers/UIB Modified Files: InstantUIB.pas InstantUIBConnectionDefEdit.dfm Log Message: Changes for Delphi 5 compatibility (login form and .dfm file) Index: InstantUIBConnectionDefEdit.dfm =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/UIB/InstantUIBConnectionDefEdit.dfm,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** InstantUIBConnectionDefEdit.dfm 21 Oct 2005 09:15:08 -0000 1.5 --- InstantUIBConnectionDefEdit.dfm 16 Nov 2005 21:39:31 -0000 1.6 *************** *** 4,8 **** BorderStyle = bsDialog Caption = 'UIB Connection' ! ClientHeight = 329 ClientWidth = 362 Color = clBtnFace --- 4,8 ---- BorderStyle = bsDialog Caption = 'UIB Connection' ! ClientHeight = 336 ClientWidth = 362 Color = clBtnFace *************** *** 19,23 **** object BottomBevel: TBevel Left = 0 ! Top = 292 Width = 362 Height = 2 --- 19,23 ---- object BottomBevel: TBevel Left = 0 ! Top = 299 Width = 362 Height = 2 *************** *** 29,33 **** Top = 0 Width = 362 ! Height = 292 Align = alClient BevelOuter = bvNone --- 29,33 ---- Top = 0 Width = 362 ! Height = 299 Align = alClient BevelOuter = bvNone *************** *** 141,145 **** object BottomPanel: TPanel Left = 0 ! Top = 294 Width = 362 Height = 35 --- 141,145 ---- object BottomPanel: TPanel Left = 0 ! Top = 301 Width = 362 Height = 35 *************** *** 147,153 **** BevelOuter = bvNone TabOrder = 1 - DesignSize = ( - 362 - 35) object OkButton: TButton Left = 204 --- 147,150 ---- Index: InstantUIB.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/UIB/InstantUIB.pas,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** InstantUIB.pas 12 Nov 2005 09:58:29 -0000 1.16 --- InstantUIB.pas 16 Nov 2005 21:39:31 -0000 1.17 *************** *** 148,152 **** uses Controls, InstantConsts, InstantUIBConnectionDefEdit, InstantUtils, ! TypInfo, InstantDBBuild, InstantIBFbCatalog; { TInstantUIBConnectionDef } --- 148,152 ---- uses Controls, InstantConsts, InstantUIBConnectionDefEdit, InstantUtils, ! TypInfo, InstantDBBuild, InstantIBFbCatalog, DbLogDlg; { TInstantUIBConnectionDef } *************** *** 387,400 **** LUserName := DataBase.UserName; LPassWord := DataBase.PassWord; ! if Assigned(LoginDialogProc) then begin ! if LoginDialogProc(FDataBase.DatabaseName, LUserName, LPassWord) then ! begin ! FDataBase.UserName := LUserName; ! FDataBase.PassWord := LPassWord; ! end; ! end ! else ! raise EDatabaseError.Create(SLoginPromptFailure); end; --- 387,395 ---- LUserName := DataBase.UserName; LPassWord := DataBase.PassWord; ! if LoginDialogEx(FDataBase.DatabaseName, LUserName, LPassWord, False) then begin ! FDataBase.UserName := LUserName; ! FDataBase.PassWord := LPassWord; ! end; end; |
From: Joao M. <jcm...@us...> - 2005-11-16 21:39:42
|
Update of /cvsroot/instantobjects/Source/Brokers/UIB/D5 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3213/Brokers/UIB/D5 Modified Files: IOUIB_D5.dpk Log Message: Changes for Delphi 5 compatibility (login form and .dfm file) Index: IOUIB_D5.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/UIB/D5/IOUIB_D5.dpk,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** IOUIB_D5.dpk 12 Nov 2005 00:34:06 -0000 1.5 --- IOUIB_D5.dpk 16 Nov 2005 21:39:30 -0000 1.6 *************** *** 31,35 **** JvUIBD5R, vcldbx50, ! IOCore_D5; contains --- 31,36 ---- JvUIBD5R, vcldbx50, ! IOCore_D5, ! IOIBFbCatalog_D5; contains |
From: David T. <dav...@us...> - 2005-11-15 22:29:19
|
Update of /cvsroot/instantobjects/Source/Design In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15603/Source/Design Modified Files: InstantAttributeEditor.pas Log Message: Fix for bug [1355946] - AV in Model Explorer for External Reference attributes Index: InstantAttributeEditor.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Design/InstantAttributeEditor.pas,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** InstantAttributeEditor.pas 8 Nov 2005 08:49:02 -0000 1.27 --- InstantAttributeEditor.pas 15 Nov 2005 22:29:11 -0000 1.28 *************** *** 634,642 **** end; ! procedure TInstantAttributeEditorForm.StorageNameEditChange( ! Sender: TObject); begin inherited; ! SubjectExposer.AssignFieldValue(StorageNameEdit.Field, StorageNameEdit.Text); UpdateControls; end; --- 634,642 ---- end; ! procedure TInstantAttributeEditorForm.StorageNameEditChange(Sender: TObject); begin inherited; ! if Assigned(StorageNameEdit.DataSource) then ! SubjectExposer.AssignFieldValue(StorageNameEdit.Field, StorageNameEdit.Text); UpdateControls; end; |
From: Joao M. <jcm...@us...> - 2005-11-12 13:44:41
|
Update of /cvsroot/instantobjects/Source/Design/D5 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14686/Design/D5 Removed Files: DclIOCore.dpk Log Message: Removed old core packages for Delphi 5 --- DclIOCore.dpk DELETED --- |
From: Joao M. <jcm...@us...> - 2005-11-12 13:44:41
|
Update of /cvsroot/instantobjects/Source/Core/D5 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14686/Core/D5 Removed Files: IOCore.dpk Log Message: Removed old core packages for Delphi 5 --- IOCore.dpk DELETED --- |
From: Nando D. <na...@us...> - 2005-11-12 09:58:36
|
Update of /cvsroot/instantobjects/Source/Brokers/UIB In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9445/Source/Brokers/UIB Modified Files: InstantUIB.pas Log Message: fixed bug #1145336 Index: InstantUIB.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/UIB/InstantUIB.pas,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** InstantUIB.pas 21 Oct 2005 09:15:08 -0000 1.15 --- InstantUIB.pas 12 Nov 2005 09:58:29 -0000 1.16 *************** *** 415,419 **** if SourceParam.IsNull then begin ! TargetParams.ByNameIsNull[SourceParam.Name]; end else --- 415,419 ---- if SourceParam.IsNull then begin ! TargetParams.ByNameIsNull[SourceParam.Name] := True; end else |
From: Joao M. <jcm...@us...> - 2005-11-12 00:34:16
|
Update of /cvsroot/instantobjects/Source/Core/D5 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24335/Core/D5 Added Files: IOCore_D5.dpk Log Message: Added suffix _D5 to Delphi 5 version of IOCore and DclIOCore packages; Fixed all Delphi 5 packages and package group to find IOCore_D5 --- NEW FILE: IOCore_D5.dpk --- package IOCore_D5; {$I '..\..\InstantPackageVersion.inc'} {$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 ON} {$VARSTRINGCHECKS ON} {$WRITEABLECONST ON} {$MINENUMSIZE 1} {$IMAGEBASE $400000} {$DESCRIPTION 'InstantObjects Run-Time Package (Delphi 5)'} {$RUNONLY} {$IMPLICITBUILD OFF} requires VCL50, VCLDB50; contains InstantUtils in '..\InstantUtils.pas', InstantClasses in '..\InstantClasses.pas', InstantConsts in '..\InstantConsts.pas', InstantRtti in '..\InstantRtti.pas', InstantCommand in '..\InstantCommand.pas', InstantPersistence in '..\InstantPersistence.pas', InstantExplorer in '..\InstantExplorer.pas', InstantDesignHook in '..\InstantDesignHook.pas', InstantCode in '..\InstantCode.pas', InstantTextFiler in '..\InstantTextFiler.pas', InstantPresentation in '..\InstantPresentation.pas', InstantAccessors in '..\InstantAccessors.pas', InstantConnectionManager in '..\InstantConnectionManager.pas', InstantImageUtils in '..\InstantImageUtils.pas', InstantPump in '..\InstantPump.pas', InstantConnectionManagerFormUnit in '..\InstantConnectionManagerFormUnit.pas' {InstantConnectionManagerForm}, InstantDBBuilderFormUnit in '..\InstantDBBuilderFormUnit.pas', InstantCustomDBEvolverFormUnit in '..\InstantCustomDBEvolverFormUnit.pas' {InstantCustomDBEvolverForm}, InstantDBEvolverFormUnit in '..\InstantDBEvolverFormUnit.pas' {InstantDBEvolverForm}, InstantDBEvolution in '..\InstantDBEvolution.pas', InstantDBBuild in '..\InstantDBBuild.pas'; end. |
From: Joao M. <jcm...@us...> - 2005-11-12 00:34:16
|
Update of /cvsroot/instantobjects/Source/Brokers/ZeosDBO/D5 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24335/Brokers/ZeosDBO/D5 Modified Files: IOZeosDBO_D5.dpk Log Message: Added suffix _D5 to Delphi 5 version of IOCore and DclIOCore packages; Fixed all Delphi 5 packages and package group to find IOCore_D5 Index: IOZeosDBO_D5.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/ZeosDBO/D5/IOZeosDBO_D5.dpk,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** IOZeosDBO_D5.dpk 18 Oct 2005 22:55:17 -0000 1.3 --- IOZeosDBO_D5.dpk 12 Nov 2005 00:34:07 -0000 1.4 *************** *** 29,34 **** requires ! IOCore, ! ZComponent; contains --- 29,34 ---- requires ! ZComponent, ! IOCore_D5; contains |
From: Joao M. <jcm...@us...> - 2005-11-12 00:34:16
|
Update of /cvsroot/instantobjects/Source/Catalogs/IBFb/D5 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24335/Catalogs/IBFb/D5 Modified Files: IOIBFbCatalog_D5.dpk Log Message: Added suffix _D5 to Delphi 5 version of IOCore and DclIOCore packages; Fixed all Delphi 5 packages and package group to find IOCore_D5 Index: IOIBFbCatalog_D5.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Catalogs/IBFb/D5/IOIBFbCatalog_D5.dpk,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** IOIBFbCatalog_D5.dpk 7 Sep 2005 23:37:16 -0000 1.4 --- IOIBFbCatalog_D5.dpk 12 Nov 2005 00:34:07 -0000 1.5 *************** *** 29,33 **** requires ! IOCore; contains --- 29,33 ---- requires ! IOCore_D5; contains |
From: Joao M. <jcm...@us...> - 2005-11-12 00:34:16
|
Update of /cvsroot/instantobjects/Source/Brokers/XML/D5 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24335/Brokers/XML/D5 Modified Files: DclIOXML_D5.dpk Ioxml_D5.dpk Log Message: Added suffix _D5 to Delphi 5 version of IOCore and DclIOCore packages; Fixed all Delphi 5 packages and package group to find IOCore_D5 Index: DclIOXML_D5.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/XML/D5/DclIOXML_D5.dpk,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** DclIOXML_D5.dpk 3 Sep 2005 08:03:12 -0000 1.4 --- DclIOXML_D5.dpk 12 Nov 2005 00:34:07 -0000 1.5 *************** *** 30,34 **** requires ! Ioxml_D5; contains --- 30,34 ---- requires ! IOXML_D5; contains Index: Ioxml_D5.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/XML/D5/Ioxml_D5.dpk,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Ioxml_D5.dpk 20 Oct 2005 08:04:00 -0000 1.6 --- Ioxml_D5.dpk 12 Nov 2005 00:34:07 -0000 1.7 *************** *** 1,3 **** ! package Ioxml_D5; {$I '..\..\..\InstantVersion.inc'} --- 1,3 ---- ! package IOXML_D5; {$I '..\..\..\InstantVersion.inc'} *************** *** 29,34 **** requires ! IOCore, ! VCLX50; contains --- 29,34 ---- requires ! VCLX50, ! IOCore_D5; contains |
From: Joao M. <jcm...@us...> - 2005-11-12 00:34:16
|
Update of /cvsroot/instantobjects/Source/Brokers/NexusDb/D5 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24335/Brokers/NexusDb/D5 Modified Files: DclIONexusDB_D5.dpk IONexusDB_D5.dpk Log Message: Added suffix _D5 to Delphi 5 version of IOCore and DclIOCore packages; Fixed all Delphi 5 packages and package group to find IOCore_D5 Index: DclIONexusDB_D5.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/NexusDb/D5/DclIONexusDB_D5.dpk,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** DclIONexusDB_D5.dpk 3 Sep 2005 08:03:11 -0000 1.2 --- DclIONexusDB_D5.dpk 12 Nov 2005 00:34:06 -0000 1.3 *************** *** 30,35 **** requires - vcl50, - IOCore, IONexusDB_D5; --- 30,33 ---- Index: IONexusDB_D5.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/NexusDb/D5/IONexusDB_D5.dpk,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** IONexusDB_D5.dpk 20 Oct 2005 08:23:02 -0000 1.3 --- IONexusDB_D5.dpk 12 Nov 2005 00:34:06 -0000 1.4 *************** *** 29,35 **** requires - vcl50, vclx50, ! IOCore; contains --- 29,34 ---- requires vclx50, ! IOCore_D5; contains |
From: Joao M. <jcm...@us...> - 2005-11-12 00:34:16
|
Update of /cvsroot/instantobjects/Source/Design/D5 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24335/Design/D5 Added Files: DclIOCore_D5.dpk Log Message: Added suffix _D5 to Delphi 5 version of IOCore and DclIOCore packages; Fixed all Delphi 5 packages and package group to find IOCore_D5 --- NEW FILE: DclIOCore_D5.dpk --- package DclIOCore_D5; {$I '..\..\InstantPackageVersion.inc'} {$R '..\..\Core\InstantPresentation.dcr'} {$R '..\..\Core\InstantExplorer.dcr'} {$R '..\..\Core\InstantPersistence.dcr'} {$R '..\..\Core\InstantConnectionManager.dcr'} {$R '..\..\Core\InstantPump.dcr'} {$R '..\..\Core\InstantDBEvolution.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 ON} {$VARSTRINGCHECKS ON} {$WRITEABLECONST ON} {$MINENUMSIZE 1} {$IMAGEBASE $400000} {$DESCRIPTION 'InstantObjects Design-Time Package (Delphi 5)'} {$DESIGNONLY} {$IMPLICITBUILD OFF} requires dsnide50, IOCore_D5; contains InstantWizard in '..\InstantWizard.pas', InstantClassEditor in '..\InstantClassEditor.pas' {InstantClassEditorForm: TIOBaseForm}, InstantCommandEditor in '..\InstantCommandEditor.pas' {InstantCommandEditorForm}, InstantDesignResources in '..\InstantDesignResources.pas' {InstantDesignResourceModule: TDataModule}, InstantDesignTools in '..\InstantDesignTools.pas', InstantDesignUtils in '..\InstantDesignUtils.pas', InstantDialog in '..\InstantDialog.pas' {InstantDialogForm}, InstantDualList in '..\InstantDualList.pas' {InstantDualListForm}, InstantEdit in '..\InstantEdit.pas' {InstantEditForm}, InstantModelExpert in '..\InstantModelExpert.pas', InstantModelExplorer in '..\InstantModelExplorer.pas' {InstantModelExplorerForm}, InstantOTA in '..\InstantOTA.pas', InstantReg in '..\InstantReg.pas', InstantUnitSelect in '..\InstantUnitSelect.pas' {InstantUnitSelectForm}, InstantAttributeEditor in '..\InstantAttributeEditor.pas' {InstantAttributeEditorForm}, InstantAbout in '..\InstantAbout.pas' {InstantAboutForm}; end. |
From: Joao M. <jcm...@us...> - 2005-11-12 00:34:16
|
Update of /cvsroot/instantobjects/Source/Brokers/FlashFiler/D5 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24335/Brokers/FlashFiler/D5 Modified Files: DclIOff_D5.dpk ioff_D5.dpk Log Message: Added suffix _D5 to Delphi 5 version of IOCore and DclIOCore packages; Fixed all Delphi 5 packages and package group to find IOCore_D5 Index: ioff_D5.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/FlashFiler/D5/ioff_D5.dpk,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ioff_D5.dpk 3 Sep 2005 08:03:11 -0000 1.4 --- ioff_D5.dpk 12 Nov 2005 00:34:06 -0000 1.5 *************** *** 1,3 **** ! package ioff_D5; {$I '..\..\..\InstantVersion.inc'} --- 1,3 ---- ! package IOff_D5; {$I '..\..\..\InstantVersion.inc'} *************** *** 29,37 **** requires - Vcl50, - Vcldb50, Vclx50, ff2_r50, ! IOCore; contains --- 29,35 ---- requires Vclx50, ff2_r50, ! IOCore_D5; contains Index: DclIOff_D5.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/FlashFiler/D5/DclIOff_D5.dpk,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** DclIOff_D5.dpk 3 Sep 2005 08:03:11 -0000 1.5 --- DclIOff_D5.dpk 12 Nov 2005 00:34:06 -0000 1.6 *************** *** 30,35 **** requires ! IOCore, ! ioff_D5; contains --- 30,34 ---- requires ! IOff_D5; contains |
From: Joao M. <jcm...@us...> - 2005-11-12 00:34:16
|
Update of /cvsroot/instantobjects/Source/Catalogs/MSSql/D5 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24335/Catalogs/MSSql/D5 Modified Files: IOMSSqlCatalog_D5.dpk Log Message: Added suffix _D5 to Delphi 5 version of IOCore and DclIOCore packages; Fixed all Delphi 5 packages and package group to find IOCore_D5 Index: IOMSSqlCatalog_D5.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Catalogs/MSSql/D5/IOMSSqlCatalog_D5.dpk,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** IOMSSqlCatalog_D5.dpk 8 Sep 2005 07:19:40 -0000 1.4 --- IOMSSqlCatalog_D5.dpk 12 Nov 2005 00:34:07 -0000 1.5 *************** *** 29,33 **** requires ! IOCore; contains --- 29,33 ---- requires ! IOCore_D5; contains |
From: Joao M. <jcm...@us...> - 2005-11-12 00:34:15
|
Update of /cvsroot/instantobjects/Source/PackageGroups/D5 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24335/PackageGroups/D5 Modified Files: DesignTimePackages.bpg RunTimePackages.bpg Log Message: Added suffix _D5 to Delphi 5 version of IOCore and DclIOCore packages; Fixed all Delphi 5 packages and package group to find IOCore_D5 Index: DesignTimePackages.bpg =================================================================== RCS file: /cvsroot/instantobjects/Source/PackageGroups/D5/DesignTimePackages.bpg,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** DesignTimePackages.bpg 2 Nov 2005 13:28:56 -0000 1.2 --- DesignTimePackages.bpg 12 Nov 2005 00:34:07 -0000 1.3 *************** *** 10,27 **** BRCC = $(ROOT)\bin\brcc32.exe $** #------------------------------------------------------------------------------ ! PROJECTS = dclIOCore.bpl dclIOBDE_D5.bpl dclIOIBX_D5.bpl dclIOXML_D5.bpl #------------------------------------------------------------------------------ default: $(PROJECTS) #------------------------------------------------------------------------------ ! dclIOCore.bpl: ..\..\Design\D5\dclIOCore.dpk $(DCC) ! dclIOBDE_D5.bpl: ..\..\Brokers\BDE\D5\dclIOBDE_D5.dpk $(DCC) ! dclIOIBX_D5.bpl: ..\..\Brokers\IBX\D5\dclIOIBX_D5.dpk $(DCC) ! dclIOXML_D5.bpl: ..\..\Brokers\XML\D5\dclIOXML_D5.dpk $(DCC) --- 10,27 ---- BRCC = $(ROOT)\bin\brcc32.exe $** #------------------------------------------------------------------------------ ! PROJECTS = DclIOCore_D5.bpl DclIOBDE_D5.bpl DclIOIBX_D5.bpl DclIOXML_D5.bpl #------------------------------------------------------------------------------ default: $(PROJECTS) #------------------------------------------------------------------------------ ! DclIOCore_D5.bpl: ..\..\Design\D5\DclIOCore_D5.dpk $(DCC) ! DclIOBDE_D5.bpl: ..\..\Brokers\BDE\D5\DclIOBDE_D5.dpk $(DCC) ! DclIOIBX_D5.bpl: ..\..\Brokers\IBX\D5\DclIOIBX_D5.dpk $(DCC) ! DclIOXML_D5.bpl: ..\..\Brokers\XML\D5\DclIOXML_D5.dpk $(DCC) Index: RunTimePackages.bpg =================================================================== RCS file: /cvsroot/instantobjects/Source/PackageGroups/D5/RunTimePackages.bpg,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** RunTimePackages.bpg 2 Nov 2005 13:28:56 -0000 1.2 --- RunTimePackages.bpg 12 Nov 2005 00:34:07 -0000 1.3 *************** *** 10,19 **** BRCC = $(ROOT)\bin\brcc32.exe $** #------------------------------------------------------------------------------ ! PROJECTS = IOCore.bpl IOIBFbCatalog_D5.bpl IOBDE_D5.bpl IOIBX_D5.bpl IOXML_D5.bpl #------------------------------------------------------------------------------ default: $(PROJECTS) #------------------------------------------------------------------------------ ! IOCore.bpl: ..\..\Core\D5\IOCore.dpk $(DCC) --- 10,19 ---- BRCC = $(ROOT)\bin\brcc32.exe $** #------------------------------------------------------------------------------ ! PROJECTS = IOCore_D5.bpl IOIBFbCatalog_D5.bpl IOMSSqlCatalog_D5.bpl IOBDE_D5.bpl IOIBX_D5.bpl IOXML_D5.bpl #------------------------------------------------------------------------------ default: $(PROJECTS) #------------------------------------------------------------------------------ ! IOCore_D5.bpl: ..\..\Core\D5\IOCore_D5.dpk $(DCC) *************** *** 21,24 **** --- 21,27 ---- $(DCC) + IOMSSqlCatalog_D5.bpl: ..\..\Catalogs\MSSql\D5\IOMSSqlCatalog_D5.dpk + $(DCC) + IOBDE_D5.bpl: ..\..\Brokers\BDE\D5\IOBDE_D5.dpk $(DCC) |
From: Joao M. <jcm...@us...> - 2005-11-12 00:34:15
|
Update of /cvsroot/instantobjects/Source/Brokers/UIB/D5 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24335/Brokers/UIB/D5 Modified Files: DclIOUIB_D5.dpk IOUIB_D5.dpk Log Message: Added suffix _D5 to Delphi 5 version of IOCore and DclIOCore packages; Fixed all Delphi 5 packages and package group to find IOCore_D5 Index: DclIOUIB_D5.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/UIB/D5/DclIOUIB_D5.dpk,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** DclIOUIB_D5.dpk 3 Sep 2005 08:03:11 -0000 1.5 --- DclIOUIB_D5.dpk 12 Nov 2005 00:34:06 -0000 1.6 *************** *** 30,36 **** requires - vcl50, - vcldb50, - IOCore, IOUIB_D5; --- 30,33 ---- Index: IOUIB_D5.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/UIB/D5/IOUIB_D5.dpk,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** IOUIB_D5.dpk 3 Sep 2005 08:03:11 -0000 1.4 --- IOUIB_D5.dpk 12 Nov 2005 00:34:06 -0000 1.5 *************** *** 29,42 **** requires - vcl50, - vcldb50, - IOCore, JvUIBD5R, ! vcldbx50; contains InstantUIBConnectionDefEdit in '..\InstantUIBConnectionDefEdit.pas' {InstantUIBConnectionDefEditForm}, ! InstantUIB in '..\InstantUIB.pas', ! InstantUIBConnection in '..\InstantUIBConnection.pas'; end. --- 29,39 ---- requires JvUIBD5R, ! vcldbx50, ! IOCore_D5; contains InstantUIBConnectionDefEdit in '..\InstantUIBConnectionDefEdit.pas' {InstantUIBConnectionDefEditForm}, ! InstantUIB in '..\InstantUIB.pas'; end. |
From: Joao M. <jcm...@us...> - 2005-11-12 00:34:14
|
Update of /cvsroot/instantobjects/Source/Brokers/IBX/D5 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24335/Brokers/IBX/D5 Modified Files: DclIOIBX_D5.dpk Ioibx_D5.dpk Log Message: Added suffix _D5 to Delphi 5 version of IOCore and DclIOCore packages; Fixed all Delphi 5 packages and package group to find IOCore_D5 Index: DclIOIBX_D5.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/IBX/D5/DclIOIBX_D5.dpk,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** DclIOIBX_D5.dpk 3 Sep 2005 08:03:11 -0000 1.4 --- DclIOIBX_D5.dpk 12 Nov 2005 00:34:06 -0000 1.5 *************** *** 30,35 **** requires ! IOCore, ! Ioibx_D5; contains --- 30,34 ---- requires ! IOIBX_D5; contains Index: Ioibx_D5.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/IBX/D5/Ioibx_D5.dpk,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Ioibx_D5.dpk 31 Oct 2005 13:49:56 -0000 1.5 --- Ioibx_D5.dpk 12 Nov 2005 00:34:06 -0000 1.6 *************** *** 1,3 **** ! package Ioibx_D5; {$I '..\..\..\InstantVersion.inc'} --- 1,3 ---- ! package IOIBX_D5; {$I '..\..\..\InstantVersion.inc'} *************** *** 29,35 **** requires ! IOCore, ! IOIBFbCatalog_D5, ! VCLIB50; contains --- 29,35 ---- requires ! VCLIB50, ! IOCore_D5, ! IOIBFbCatalog_D5; contains |
From: Joao M. <jcm...@us...> - 2005-11-12 00:34:14
|
Update of /cvsroot/instantobjects/Source/Brokers/BDE/D5 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24335/Brokers/BDE/D5 Modified Files: DclIOBDE_D5.dpk Iobde_D5.dpk Log Message: Added suffix _D5 to Delphi 5 version of IOCore and DclIOCore packages; Fixed all Delphi 5 packages and package group to find IOCore_D5 Index: DclIOBDE_D5.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/BDE/D5/DclIOBDE_D5.dpk,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** DclIOBDE_D5.dpk 3 Sep 2005 08:03:10 -0000 1.5 --- DclIOBDE_D5.dpk 12 Nov 2005 00:34:06 -0000 1.6 *************** *** 30,35 **** requires ! IOCore, ! Iobde_D5; contains --- 30,34 ---- requires ! IOBDE_D5; contains Index: Iobde_D5.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/BDE/D5/Iobde_D5.dpk,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Iobde_D5.dpk 20 Oct 2005 07:42:40 -0000 1.6 --- Iobde_D5.dpk 12 Nov 2005 00:34:06 -0000 1.7 *************** *** 1,3 **** ! package Iobde_D5; {$I '..\..\..\InstantVersion.inc'} --- 1,3 ---- ! package IOBDE_D5; {$I '..\..\..\InstantVersion.inc'} *************** *** 29,34 **** requires ! IOCore, ! VCLBDE50; contains --- 29,34 ---- requires ! VCLBDE50, ! IOCore_D5; contains |
From: Joao M. <jcm...@us...> - 2005-11-12 00:34:14
|
Update of /cvsroot/instantobjects/Source/Brokers/ADS/D5 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24335/Brokers/ADS/D5 Modified Files: DclIOADS_D5.dpk ioads_D5.dpk Log Message: Added suffix _D5 to Delphi 5 version of IOCore and DclIOCore packages; Fixed all Delphi 5 packages and package group to find IOCore_D5 Index: ioads_D5.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/ADS/D5/ioads_D5.dpk,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ioads_D5.dpk 3 Sep 2005 08:03:10 -0000 1.4 --- ioads_D5.dpk 12 Nov 2005 00:34:06 -0000 1.5 *************** *** 1,4 **** ! package ioads_D5; ! {$I '..\..\..\InstantVersion.inc'} --- 1,3 ---- ! package IOADS_D5; {$I '..\..\..\InstantVersion.inc'} *************** *** 29,37 **** requires - Vcl50, Vclx50, - Vcldb50, ADSD50, ! IOCore; contains --- 28,34 ---- requires Vclx50, ADSD50, ! IOCore_D5; contains Index: DclIOADS_D5.dpk =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/ADS/D5/DclIOADS_D5.dpk,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** DclIOADS_D5.dpk 3 Sep 2005 08:03:10 -0000 1.5 --- DclIOADS_D5.dpk 12 Nov 2005 00:34:06 -0000 1.6 *************** *** 30,35 **** requires ! IOCore, ! ioads_D5; contains --- 30,34 ---- requires ! IOADS_D5; contains |