Dávam tu kód. Viem, že sa Ti zježia vlasy na hlave, ale už tu nič nerieš
procedure TCustomDB.ShowException(const E: EFDDBEngineException; const ContenSupplement: string);var
TaskDlg: TAdvTaskDialog;
begin
TaskDlg := TAdvTaskDialog.Create(nil);
TaskDlg.Clear;
TaskDlg.Title := 'Chyba pri práci s databázou';
TaskDlg.Icon := tiError;
TaskDlg.FooterIcon := tfiWarning;
TaskDlg.Footer := 'Vami požadované zmeny nebudú zapísané';
TaskDlg.ExpandControlText := 'Zobraz menej';
TaskDlg.CollapsControlText := 'Zobraz viac';
TaskDlg.CommonButtons := [cbOK];
TaskDlg.DialogPosition := dpOwnerFormCenter;
FGetFDExceptionText.GetTextContenInstruction(E, FConten, FInstruction);
try
TaskDlg.Instruction := FInstruction;
if Length(ContenSupplement) = 0 then
TaskDlg.Content := FConten
else
TaskDlg.Content := FConten + sLineBreak + sLineBreak + ContenSupplement;
TaskDlg.ExpandedText := E.Message;
TaskDlg.Execute;
finally
TaskDlg.Free;
end;
end;
procedure TGetFDExceptionText.GetTextContenInstruction(const E: EFDDBEngineException; var AConten,
AInstruction: string);
begin
case E.Kind of
ekOther: GetTextOther(AConten, AInstruction);
...
else
AInstruction := 'Neznámy druh chyby.';
AConten := 'Vrátená chyba nie je v zozname chýb.';
end;
Assert(AInstruction <> '', ' sting Instruction is empty ');
end;
procedure TGetFDExceptionText.GetTextOther(var AConten, AInstruction: string);
begin
// The error does not fall into any of the CATEGORIES listed below
AInstruction := 'Bližšie neurčená chyba.';
AConten := 'Databáza nedokázala identifikovať druh chyby.';
end;
Toto bolo len také odskočenie.
Teraz sa snažím, dosť silné slovo

, pochopiť ako mám riešiť výnimky v celom programe na základe mnou založeného vlákna v časti Obecné. Je celkom možné, že ak tie výnimky pochopím a vyriešim, tak tieto veci vypadnú.