21. marts 2010 - 17:14
Der er
2 løsninger
Clientdataset og OnPostError
Jeg bruger et clientdataset og vil gerne fange fejl som "violation key" eller "field must have a value" og vise mine egen danske fejlbeskeder i stedet for Delphis indbyggede.
Dertil har jeg udset clientdataset'ets OnPostError event som det oplagte valg. (ret mig gerne hvis jeg tager fejl).
Jeg har dog ikke fundet ud af, hvordan den bruges. Min hjælp i Delphi virker ikke, skal reinstalleres, og online har jeg intet fundet.
Er der en, der kender eventen og har et forslag.
21. marts 2010 - 17:40
#1
procedure TVinForm.Table1BeforePost(DataSet: TDataSet);
begin
if
Antal.Field.Value = 0 then
showmessagepos('Værdien i antal skal være større end 0',500,500);
if
Antal.Field.Value = 0 then
Datasetcancel1.Execute;
end;
21. marts 2010 - 18:08
#2
Du kan i eventen prøve flg. to kodestykker som inspiration. Måske kan de laves i en variant, der kan bruges hos dig.
if E.Message = 'Key violation.' then
begin
Showmessage('Fejl: '+ e.Message);
abort;
end;
If E.Classname = 'EDatabaseError' then
begin
ShowMessage('Fejl: '+e.classname);
abort
end;