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.