Moin...
Zitat:
Gleiche
OS Version auf allen Rechnern? Evtl. 32/64 Problematik?
W11, 64Bit überall gleich
Zitat:
Tritt das Problem bei einem speziellen Datensatz oder bei allen Datensätzen auf?
...nur ein Datensatz. Alle anderen lassen sich problemlos speichern. In der Zwischenzeit (3 Monate) hatte dieser Arbeitsplatz 3 verschiedene Datensätze die betroffen waren.
PS: In diesem "Modul" werden an diesem Platz ca. 100 Änderungen an verschieden Datensätzen gemacht. Nur dieser eine will nicht.
Zitat:
// korrekt
Distributor: 18.09.2024 14:24:15 - START FOnChangeGridBegin
Distributor: 18.09.2024 14:24:15 - END FOnChangeGridBegin
Distributor: 18.09.2024 14:24:15 - START Database.Write - 9025
Distributor: 18.09.2024 14:24:15 - END Database.Write - 9025
Distributor: 18.09.2024 14:24:15 - START Assign
Distributor: 18.09.2024 14:24:15 - END Assign
Distributor: 18.09.2024 14:24:15 - START FOnChangeGridEnd
Distributor: 18.09.2024 14:24:15 - END FOnChangeGridEnd
------
// Fehler
Distributor: 18.09.2024 14:24:50 - START FOnChangeGridBegin
Distributor: 18.09.2024 14:24:50 - END FOnChangeGridBegin
Distributor: 18.09.2024 14:24:50 - START Database.Write - 7242
Delphi-Quellcode:
procedure TFormDistributorLogic.SaveDistributor;
function CanSaveHistorie: Boolean;
begin
Result :=
not ((FModifiedDistributor.StateInternType = FOriginalDistributor.StateInternType)
and
(FModifiedDistributor.ResponsibleTo = FOriginalDistributor.ResponsibleTo)
and
(FModifiedDistributor.DocumentChoice = FOriginalDistributor.DocumentChoice));
end;
begin
if Assigned(FOnChangeGridBegin)
then
begin
FOnChangeGridBegin(Self);
end;
DMZU.Database.
Write(FModifiedDistributor, CanSaveHistorie);
// Historie siehe DB Trigger
FDistributorDatasource.Changed := True;
FModifiedDistributor.IsChanged := False;
// setzt auf normal
FOriginalDistributor.Assign(FModifiedDistributor);
if Assigned(FOnChangeGridEnd)
then
begin
FOnChangeGridEnd(Self);
end;
end;