Browse Source

* Made OpenCursorcomplete virtual
* Moved all stuff in DoInternalClose to CloseCursor

git-svn-id: trunk@6262 -

joost 18 years ago
parent
commit
9c2de3308c
2 changed files with 10 additions and 16 deletions
  1. 9 14
      fcl/db/dataset.inc
  2. 1 2
      fcl/db/db.pp

+ 9 - 14
fcl/db/dataset.inc

@@ -189,6 +189,14 @@ end;
 Procedure TDataset.CloseCursor;
 Procedure TDataset.CloseCursor;
 
 
 begin
 begin
+  DoBeforeScroll;
+  DoBeforeClose;
+  FreeFieldBuffers;
+  ClearBuffers;
+  SetBufListSize(0);
+  SetState(dsInactive);
+  InternalClose;
+  DoAfterClose;
   FInternalOpenComplete := False;
   FInternalOpenComplete := False;
 end;
 end;
 
 
@@ -393,19 +401,6 @@ begin
   FEOF := (FRecordcount = 0);
   FEOF := (FRecordcount = 0);
 end;
 end;
 
 
-Procedure TDataset.DoInternalClose;
-
-begin
-  DoBeforeScroll;
-  DoBeforeClose;
-  FreeFieldBuffers;
-  ClearBuffers;
-  SetBufListSize(0);
-  SetState(dsInactive);
-  InternalClose;
-  DoAfterClose;
-end;
-
 Procedure TDataset.DoOnCalcFields;
 Procedure TDataset.DoOnCalcFields;
 
 
 begin
 begin
@@ -844,7 +839,7 @@ begin
       end;
       end;
     end
     end
   else if not value and (Fstate <> dsinactive) then
   else if not value and (Fstate <> dsinactive) then
-    DoInternalClose;
+    CloseCursor;
 end;
 end;
 
 
 procedure TDataset.Loaded;
 procedure TDataset.Loaded;

+ 1 - 2
fcl/db/db.pp

@@ -1000,7 +1000,6 @@ type
     FInternalOpenComplete: Boolean;
     FInternalOpenComplete: Boolean;
     Procedure DoInsertAppend(DoAppend : Boolean);
     Procedure DoInsertAppend(DoAppend : Boolean);
     Procedure DoInternalOpen;
     Procedure DoInternalOpen;
-    Procedure DoInternalClose;
     Function  GetBuffer (Index : longint) : Pchar;
     Function  GetBuffer (Index : longint) : Pchar;
     Function  GetField (Index : Longint) : TField;
     Function  GetField (Index : Longint) : TField;
     Procedure RegisterDataSource(ADatasource : TDataSource);
     Procedure RegisterDataSource(ADatasource : TDataSource);
@@ -1073,7 +1072,7 @@ type
     procedure InternalInsert; virtual;
     procedure InternalInsert; virtual;
     procedure InternalRefresh; virtual;
     procedure InternalRefresh; virtual;
     procedure OpenCursor(InfoQuery: Boolean); virtual;
     procedure OpenCursor(InfoQuery: Boolean); virtual;
-    procedure OpenCursorcomplete;
+    procedure OpenCursorcomplete; virtual;
     procedure RefreshInternalCalcFields(Buffer: PChar); virtual;
     procedure RefreshInternalCalcFields(Buffer: PChar); virtual;
     procedure RestoreState(const Value: TDataSetState);
     procedure RestoreState(const Value: TDataSetState);
     Procedure SetActive (Value : Boolean); virtual;
     Procedure SetActive (Value : Boolean); virtual;