Toon posts:

[delphi] probleem met opvangen edatabaseerror

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallow,

Ik zit met een probleempje in delphi. Ik heb een tabel waarin ik de gebruiker laat zoeken, hij kan zelf kiezen of hij op datum of op ordernummer zoekt. Indien hij op datum zoekt krijgt de maskedit waar de zoekstring ingevoerd moet worden een editmask voor een datum. Ik heb bij de onchange van deze maskedit het volgende staan:

try
Datamodule1.Orders.FindNearest([meZoek.Text]);
except
on eDatabaseError do ShowMessage('fout');
end;

Toch hangt het programma met een edatabaseerror als ik de sortering op datum zet (omdat hij zoekt naar de datum '__:__:____' wat natuurlijk geen geldige datum is). Waarom vang hij deze fout niet op en hoe kan ik dit anders oplossen?

avb, Ludwich

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 22-06 10:32

_Thanatos_

Ja, en kaal

Als je je applicatie vanuit Delphi opstart, worden exception altijd opgevangen door de debugger van Delphi en die laat hem altijd zien. Waarschijnlijk is dat degene waar je tegenaan loopt...

Probeer dus es je applicatie vanuit de verkenner ofzo handmatig op te starten en dan die exception te veroorzaken.

Anders gebruik je deze, dan weet je zeker dat ie opgevangen worden (en je merkt er gelijk ook niets meer van):
code:
1
2
3
4
5
try
Datamodule1.Orders.FindNearest([meZoek.Text]);
except
on Exception do {nix};
end;

Ohja, en je moet natuurlijk zeker weten dat dat het statement is waarop de exception aangeroepen wordt :+

日本!🎌


Verwijderd

Topicstarter
owke, hij hangt niet meer, maar geeft wel de fout '__-__-____' is not a valid date. Kan ik deze fout ook niet laten zien? Omdat de FindNearest in de onChange van de maskedit zit komt nou eerst 6x die foutmelding voordat ik een geldige datum heb ingevoerd.

avb

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 22-06 10:32

_Thanatos_

Ja, en kaal

ik zou hem dan in de OnExit zetten... of zelf iets bouwen dat een lege/ongeldige datum naar bijv. vandaag omzet.

日本!🎌