In der Zeile
Code: Alles auswählen
if MessageDlg('Diese Akte wirklich löschen?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
Das Programm kommt aus der Routine auch nicht mehr heraus. Der Dialog wird auch nicht angezeigt.
Code: Alles auswählen
procedure TfrAktenliste.btnDeleteAkteClick(Sender: TObject);
var
idx: integer;
begin
idx := GetAktenIndex;
if idx < 0 then
exit; // Bis hier alles OK
if MessageDlg('Diese Akte wirklich löschen?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then // und hier kracht es !
begin // Hier kommt er nie hin
A := AktenListe[idx];
AktenListe.DeleteByID(A.ID);
AktenListe.Delete(idx);
dgAkte.RowCount := dgAkte.RowCount - 1;
if idx >= AktenListe.Count then
idx := AktenListe.Count - 1;
dgAkte.Row := dgAkte.FixedRows + idx;
dgAkte.Invalidate;
end;
end;
Code: Alles auswählen
begin
Btns := GetPromptUserButtons(Buttons, CancelValue, DefaultIndex, ButtonCount,
False, mbYes);
Result := DialogResults[PromptUser(LineBreaksToSystemLineBreaks(aMsg), // hier kommt er nicht mehr raus
DialogIds[DlgType], Btns, ButtonCount, DefaultIndex, CancelValue)];
ReallocMem(Btns, 0);