im Code
Code: Alles auswählen
if qryAuftrag.State = dsEdit then
begin
qryAuftrag.Post; //<<< hier hängt das Programm
qryAuftrag.ApplyUpdates;
end;
steigt mein Programm komplett aus. Der Debugger zeigt nur ............ hinter den Adressen an. Dies tritt allerdings nur mit den Zeos-Versionen der letzten 6 Monate auf.
Wenn ich das Release starte, kommt an der Stelle Access Violation.
Hat jemand hierzu eine Idee, wie ich den Fehler weiter eingrenzen oder beseitigen kann?
Hier mal der vollständige Programmteil:
Code: Alles auswählen
if IDAuftrag > 0 then
begin
OpenSQLSet(qryAuftrag, 'Select * from Auftraege Where idauftrag = ' + IntToStr(IDAuftrag));
F := TfrmAuftrag.Create(nil);
if qryAuftragsListe.FieldByName('colorn').AsVariant <> NULL then
F.pnlHeader.Color := qryAuftragsListe.FieldByName('colorn').AsVariant;
try
F.ShowModal;
if DoSave then
begin
if qryAuftrag.State = dsEdit then
begin
qryAuftrag.Post;
qryAuftrag.ApplyUpdates;
end;
qryAuftragsListe.Refresh;
qryAuftragsListe.Locate('idauftrag', qryAuftrag.FieldByName('idauftrag').AsInteger, []);
Result := True;
end
else
begin
qryAuftrag.CancelUpdates;
Result := False;
end;
finally
FreeAndNil(F);
end;
end;
In der Form befinden sich TDBMemo und TDBEdit-Felder, welche an die DB angebunden sind. Die DB ist MYSQL 5.7