Zitat:
Ich brauche unbedingt ein statisches Array, denn die Methode TCustomClientDataSet.FindKey akzeptiert NUR ein statisches...
Oh oh, mich dünkt, ich hatte mal ein ähnliches Problem und konnte nur nur dadurch helfen, indem ich das FindKey neu geschrieben habe. Es ist ja im Grunde genommen nur eine art Filter: Du scanst alle Datensätze durch, bis der Datensatz dem Array Of Const entspricht. So schwer ist das doch nicht:
Delphi-Quellcode:
Function MyFindKey (aDataset : TDataset; aFields : Array Of String; aValues : Array Of Variant) : Boolean;
Var
i : Integer;
Begin
While not aDataset.eof do begin
i := Low (aFields);
Result := True;
While Found and (i <= High (aFields)) do
If aDataset [aFields[i]] <> aValues[i] Then
Result := False;
If Result Then
Exit;
aDataSet.Next;
end;
Result := False
End;
So, oder ähnlich sollte es klappen. Performance sollte akzeptabel sein.