Das hier ist schon mal nicht so toll.
Delphi-Quellcode:
if testCDS_global.Active then
begin
testCDS_global.Open;
testCDS_global.EmptyDataSet;
end;
Wenn das CDS aktiv ist, dann soll er es öffnen? Nein, das kann es nicht sein.
Das würde ich erstmal ändern in:
Delphi-Quellcode:
if testCDS_global.Active then
begin
testCDS_global.EmptyDataSet;
testCDS_global.Close;
end;
Dann hast du für die Copy-proc ein leeres, geschlossenes ClientDataSet.