[Delphi]Maskedit probleem

Pagina: 1
Acties:
  • 132 views sinds 30-01-2008
  • Reageer

  • Kwistnix
  • Registratie: Juni 2001
  • Laatst online: 14:49
Ik heb een probleem met de TMaskEdit component in Delphi.
Als ik de MaskEdit wil verlaten en er staat een ongeldige waarde in dan krijg ik een pop-up error: Invalid Input value, use esc to abandon changes.
(eerst kreeg ik daarvoor nog een EDBEditError, maar die heb ik door de compiler laten negeren).
Hoe krijg ik die pop-up melding weg? Liefst zou ik in de plaats voor die pop-up zelf een melding willen geven in een label of iets dergelijks.
Alvast bedankt.

  • Marv
  • Registratie: Oktober 2000
  • Laatst online: 11-06 06:52
Op vrijdag 24 mei 2002 11:30 schreef FallenAngel666 het volgende:
Ik heb een probleem met de TMaskEdit component in Delphi.
Als ik de MaskEdit wil verlaten en er staat een ongeldige waarde in dan krijg ik een pop-up error: Invalid Input value, use esc to abandon changes.
(eerst kreeg ik daarvoor nog een EDBEditError, maar die heb ik door de compiler laten negeren).
Hoe krijg ik die pop-up melding weg? Liefst zou ik in de plaats voor die pop-up zelf een melding willen geven in een label of iets dergelijks.
Alvast bedankt.
Misschien iets programmeren bij: onexit?

"Everything I've ever done or said is the complete opposite of what I've wanted" -- George


  • Kwistnix
  • Registratie: Juni 2001
  • Laatst online: 14:49
Heb ik al geprobeerd.
Een try...except in de on exit event van de MaskEdit, maar dan blijft die pop-up.

  • Aetje
  • Registratie: September 2001
  • Laatst online: 18-12-2025

Aetje

Troubleshooting met HAMERRR

Op vrijdag 24 mei 2002 11:30 schreef FallenAngel666 het volgende:
Ik heb een probleem met de TMaskEdit component in Delphi.
Als ik de MaskEdit wil verlaten en er staat een ongeldige waarde in dan krijg ik een pop-up error: Invalid Input value, use esc to abandon changes.
(eerst kreeg ik daarvoor nog een EDBEditError, maar die heb ik door de compiler laten negeren).
Hoe krijg ik die pop-up melding weg? Liefst zou ik in de plaats voor die pop-up zelf een melding willen geven in een label of iets dergelijks.
Alvast bedankt.
Op een maskedit krijg je een EDBEdit error? Hmz. Zeker dat je een maskedit gebruikt?

Voor een TDBEdit (en descentdant types zoals TDBMaskEdit) bestaat geloof ik de OnValidate waar je dit soort meuk in kan afvangen.

[offtopic]
Heejz Marv... Die babe ken ik geloof ik :)
Waar hebbu die pic vandaan :?

Forget your fears...
...and want to know more...


  • whoami
  • Registratie: December 2000
  • Laatst online: 17:57
Als je try-ed except en die error opvangt en uw custom foutmelding laat weergeven, dan zal enkel uw foutmelding getoond worden als je uw exe uitvoert door bv. op de exe te dubbelklikken in explorer.
Voer je uw project uit door op run te klikken in Delphi, dan krijg je wel de beide foutmeldingen, maar zoals ik al zei, als je het programma dan gewoon uitvoert, krijg je die Delphi exception niet meer en zie je enkel uw eigen foutboodschap.

https://fgheysels.github.io/


  • Marv
  • Registratie: Oktober 2000
  • Laatst online: 11-06 06:52
Op vrijdag 24 mei 2002 11:34 schreef Aetje het volgende:
[offtopic]
Heejz Marv... Die babe ken ik geloof ik :)
Waar hebbu die pic vandaan :?


Staat er trouwens niets van in de help FallenAngel666?

"Everything I've ever done or said is the complete opposite of what I've wanted" -- George


  • ArieProductions
  • Registratie: Januari 2002
  • Laatst online: 27-11-2024
Op vrijdag 24 mei 2002 11:36 schreef whoami het volgende:
Als je try-ed except en die error opvangt en uw custom foutmelding laat weergeven, dan zal enkel uw foutmelding getoond worden als je uw exe uitvoert door bv. op de exe te dubbelklikken in explorer.
Voer je uw project uit door op run te klikken in Delphi, dan krijg je wel de beide foutmeldingen, maar zoals ik al zei, als je het programma dan gewoon uitvoert, krijg je die Delphi exception niet meer en zie je enkel uw eigen foutboodschap.
De Delphi exceptions kan je uitzetten tijdens debuggen (ergens in de options), zodat het programma tijdens debuggen op dezelfde manier reageert ware het een echte EXE.

"Quidquid latine dictum sit, altum videtur" (Whatever is said in Latin sounds profound)


  • whoami
  • Registratie: December 2000
  • Laatst online: 17:57
Op vrijdag 24 mei 2002 11:42 schreef ArieProductions het volgende:

[..]

De Delphi exceptions kan je uitzetten tijdens debuggen (ergens in de options), zodat het programma tijdens debuggen op dezelfde manier reageert ware het een echte EXE.
Ja, ik dacht wel dat er zo'n optie was maar ik was te lui om het ff op te zoeken. Alhoewel Delphi open staat bij mij ;)

https://fgheysels.github.io/


  • Kwistnix
  • Registratie: Juni 2001
  • Laatst online: 14:49
Op vrijdag 24 mei 2002 11:34 schreef Aetje het volgende:

[..]

Op een maskedit krijg je een EDBEdit error? Hmz. Zeker dat je een maskedit gebruikt?

Voor een TDBEdit (en descentdant types zoals TDBMaskEdit) bestaat geloof ik de OnValidate waar je dit soort meuk in kan afvangen.

[offtopic]
Heejz Marv... Die babe ken ik geloof ik :)
Waar hebbu die pic vandaan :?
Ik heb voor maskedit wel een ValidateEdit methode gevonden, maar daarmee lukt het tot nu toe ook niet (weet ook niet precies wat ik er mee kan namelijk).

  • Kwistnix
  • Registratie: Juni 2001
  • Laatst online: 14:49
Dit probleem is nog steeds niet opgelost, m'n programma loopt er niet op vast, maar voor de gebruiksvriendlijkheid vind ik zo'n pop-up erg irritant en de melding is ook nog eens engels terwijl de rest van het programma nederlands is.

Edit: Om even te illustreren wat ik bedoel:

Afbeeldingslocatie: http://www.people.zeelandnet.nl/jelleklap/melding.gif
(dammit, zeelandnet loopt te kloten, kan nix meer linken op m'n gratis webspace :()

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Je kunt als 'oplossing' de OnException gebruiken van TApplication. Hier check je of het om een TDBMaskEdit exception gaat en zonodig de focus terug zetten op de Sender.

Wat ook een idee is ie een eigenlijk MaskEdit maken afgeleid van de TMaskEdit die dit soort dingen 'on board' heeft.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 06-09 14:04

Creepy

Tactical Espionage Splatterer

Als het alleen maar gaat om een aantal, waarom dan geen spinedit gebruiken?

Is er geen onleave event in die maskedit, zodat je daarin kan checken of de invoer geldig is, en zo niet, de focus niet laten veranderen? Kan me herinneren dat ik ooit zoiets gedaan heb, maar heb ff zo snel geen Delphi bij de hand.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

MaskEdit heeft een OnExit, maar de Excpetion vind al eerder plaats.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Delphi32
  • Registratie: Juli 2001
  • Laatst online: 10:26

Delphi32

Heading for the gates of Eden

De error wordt gegenereerd in mask.pas: TCustomMaskEdit.ValidateError. Deze methode is virtual.
Wil je een andere melding, dan zit er niets anders op dan een afgeleide maken van TCustomMaskEdit waarin je de ValidateError override. Dan ben je er vanaf. Anders lukt het niet.

edit:
jelmervos, je sig is een beetje oud ;)

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Mijn sig oud??? Waarom? :)

"The shell stopped unexpectedly and Explorer.exe was restarted."


Verwijderd

Mmm TMaskEdit, kan iemand mij een reden geven waarom je zoiets zou gebruiken.

  • Delphi32
  • Registratie: Juli 2001
  • Laatst online: 10:26

Delphi32

Heading for the gates of Eden

Op donderdag 30 mei 2002 00:28 schreef DiFool het volgende:
Mmm TMaskEdit, kan iemand mij een reden geven waarom je zoiets zou gebruiken.
Laten we het aan de topicstarter vragen, hij wil dat ding per se gebruiken :?
Als het Delphi Component Pallette net zo zou werken als de windows Start menu en Office menu's, dus de minder-gebruikte items verdwijnen vanzelf mn oma was weer haar programma's kwijt |:( , dan was TMaskEdit bij mij allang verdwenen ja. Wat een onding.

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Hoe doe je het dan met postcode velden? Check je die zelf ofzo bij OnExit?

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • whoami
  • Registratie: December 2000
  • Laatst online: 17:57
Op donderdag 30 mei 2002 16:03 schreef jelmervos het volgende:
Hoe doe je het dan met postcode velden? Check je die zelf ofzo bij OnExit?
Je kan natuurlijk alle bestaande postcodes in uw DB zitten hebben, en dan hoeft de gebruiker ze er maar uit te kiezen.

https://fgheysels.github.io/


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 06-09 14:04

Creepy

Tactical Espionage Splatterer

Op donderdag 30 mei 2002 16:03 schreef jelmervos het volgende:
Hoe doe je het dan met postcode velden? Check je die zelf ofzo bij OnExit?
Een check doen op het moment dat het veld z'n focus verliest. En een leuke handler in de keypress of keydown zodat je op de juiste plaatsen alleen een letter of cijfer in kan voeren.

Maar in dit geval lijkt me een maskedit wel op z'n plaats. Die foutmelding die dat ding geeft is echt wel af te vangen.

Of 2 velden, 1 voor het eerst deel, en 1 voor het tweede deel.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Delphi32
  • Registratie: Juli 2001
  • Laatst online: 10:26

Delphi32

Heading for the gates of Eden

Op donderdag 30 mei 2002 16:03 schreef jelmervos het volgende:
Hoe doe je het dan met postcode velden? Check je die zelf ofzo bij OnExit?
Ja, dat is *een* mogelijkheid.
Ik heb al heel wat met postcode-velden gewerkt, en een van de dingen die iedere keer weer bovenkomt is dat te weinig mensen eraan hadden gedacht dat er ook toevallig wel eens een belgische postcode ingevoerd moet kunnen worden. Tja, dan heb je toch een probleem als je TMaskEdit alleen gebruikt kan worden om NL postcodes in te voeren...

Ga maar na: de meest gebruikelijke manier van NAW data invoeren is nog steeds: naam, dan straat + nummer, dan postcode, dan land. Op het moment van invoer van postcode is het land dus nog NIET een vaststaand gegeven.

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Dan maar een vrij text veld. :)

"The shell stopped unexpectedly and Explorer.exe was restarted."

Pagina: 1