Einzelnen Beitrag anzeigen

Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
624 Beiträge
 
Delphi XE6 Enterprise
 
#1

Seltsamer ClientDataSet-Fehler bei Locate (Delphi 7.1)

  Alt 1. Jun 2010, 17:09
Datenbank: TClientDataSet • Version: 7.1 • Zugriff über: Dateimodus
Ich habe zum Testen ein ClientDataSet erzeugt mit folgenden Angaben:

Delphi-Quellcode:
with ClientDataSet1 do begin
  Close;
  with Fielddefs do begin
    Add('zahl', ftInteger);
    Add('bool1', ftBoolean);
    Add('bool2', ftBoolean);
  end;
  CreateDataSet;
  LogChanges := false;
  AppendRecord([1, false, false]);
  AppendRecord([2, false, true]);
  AppendRecord([3, true, false]);
  AppendRecord([4, true, true]);
end;
Mit Delphi 5 kompiliert ergibt dann
ClientDataSet1.Locate('zahl;bool1;bool2', VarArrayOf([3, true, false]), []) ganz normal TRUE, aber mit Delphi 7 kompiliert bekomme ich eine EDatabase-Exception mit der Fehlermeldung "ClientDataSet1: Das Feld 'True' wurde nicht gefunden."?!

Kann mal jemand nachschauen, wie das bei neueren Delphi-Versionen ausschaut?


Nachtrag: Wenn ich "VarArrayOf([3, integer(true), integer(false)])" schreibe, dann gehts.
  Mit Zitat antworten Zitat