Browse Source

--- Merging r14302 into '.':
U tests/utils/redir.pp
U installer/install.pas
--- Merging r14302 into 'packages/unzip/src/unzip51g.pp':
G packages/unzip/src/unzip51g.pp
--- Merging r14302 into '.':
G .

git-svn-id: tags/release_2_4_0@14303 -

marco 15 years ago
parent
commit
4ca7619e83
3 changed files with 13 additions and 4 deletions
  1. 1 1
      installer/install.pas
  2. 11 2
      packages/fcl-db/src/sqlite/customsqliteds.pas
  3. 1 1
      tests/utils/redir.pp

+ 1 - 1
installer/install.pas

@@ -98,7 +98,7 @@ program install;
 
 
 
 
      maxpacks=30;
      maxpacks=30;
-     maxpackages=28;
+     maxpackages=29;
      maxdefcfgs=1024;
      maxdefcfgs=1024;
 
 
      HTMLIndexExt = '.htx';
      HTMLIndexExt = '.htx';

+ 11 - 2
packages/fcl-db/src/sqlite/customsqliteds.pas

@@ -658,7 +658,7 @@ begin
   else
   else
     FieldOffset := FieldDefs.Count + FCalcFieldList.IndexOf(Field);
     FieldOffset := FieldDefs.Count + FCalcFieldList.IndexOf(Field);
 
 
-  if State <> dsCalcFields then
+  if not (State in [dsCalcFields, dsInternalCalc]) then
     FieldRow := PPDataRecord(ActiveBuffer)^^.Row[FieldOffset]
     FieldRow := PPDataRecord(ActiveBuffer)^^.Row[FieldOffset]
   else
   else
     FieldRow := PPDataRecord(CalcBuffer)^^.Row[FieldOffset];
     FieldRow := PPDataRecord(CalcBuffer)^^.Row[FieldOffset];
@@ -1220,11 +1220,20 @@ end;
 function TCustomSqliteDataset.Lookup(const KeyFields: String; const KeyValues: Variant; const ResultFields: String): Variant;
 function TCustomSqliteDataset.Lookup(const KeyFields: String; const KeyValues: Variant; const ResultFields: String): Variant;
 var
 var
   TempItem: PDataRecord;
   TempItem: PDataRecord;
+  SaveState: TDataSetState;
 begin
 begin
   CheckBrowseMode;
   CheckBrowseMode;
   TempItem := FindRecordItem(FBeginItem^.Next, KeyFields, KeyValues, [], False);
   TempItem := FindRecordItem(FBeginItem^.Next, KeyFields, KeyValues, [], False);
   if TempItem <> nil then
   if TempItem <> nil then
-    Result := TempItem^.Row[FieldByName(ResultFields).FieldNo - 1]
+  begin
+    SaveState := SetTempState(dsInternalCalc);
+    try
+      CalculateFields(PChar(@TempItem));
+      Result := FieldByName(ResultFields).Value;
+    finally
+      RestoreState(SaveState);
+    end;
+  end
   else
   else
     Result := Null;
     Result := Null;
 end;  
 end;  

+ 1 - 1
tests/utils/redir.pp

@@ -90,7 +90,7 @@ const
 
 
 Implementation
 Implementation
 
 
-{$if defined(macos) or defined(windows) or defined(shell_implemented)}
+{$if defined(macos) or defined(windows) or defined(shell_implemented) or defined(go32v2)}
 {$define usedos}
 {$define usedos}
 {$endif}
 {$endif}