Ahoi!
Ich hätte folgendes Problem: ich möchte meine Datenbank nach jeder Änderung physisch (d.h. die Post-Methode reicht mir nicht) auf der Festplatte speichern. Dazu wird im AfterPost-Ereignis die folgende Prozedur aufgerufen:
Delphi-Quellcode:
procedure TForm1.Datenbank2Disk(Datenbank: TDataSet);
var LetzterIndex: Word;
begin
LetzterIndex:=Datenbank.RecNo;
with Datenbank do
begin
Close;
Open;
Edit;
RecNo:=LetzterIndex;
end;
// ShowMessage('Trallala.');
end;
Die Variable "LetzterIndex" soll gewährleisten, dass nach der Speicherung wieder auf den letzten Datensatz zurückgesprungen wird. Dies funktioniert soweit alles auch ganz gut.
Problematisch wird es aber, wenn ich im unmittelbaren Anschluss an die with-Anweisung den ShowMessage-Befehl (oder auch andere Befehle) gebe. Das Dialogfenster wird dann nur halbfertig angezeigt (d.h. kein Button vorhanden und wo der Text erscheinen sollte gibt es nur einen weissen Balken). Zudem zeigt der Taskmanager eine Programmauslastung von 98% an und das Programm reagiert nicht mehr. Gebe ich nach dem with-Block innherhalb der Prozedur keine Anweisung mehr, gibt es dieses Problem nicht.
Weiß jemand, woran das liegen könnte?