![]() |
procedure zur plausibilitätsprüfung
hi leute ich hab da mal was geschrieben um ne plausibilitätsprüfung für alle editfelder auf meinem form zu bekommen. dabei soll diese procedure in einem onclick-ereignis aufgerufen werden und sämtliche edit-felder überprüfen. ist ein edit feld leer soll es eine messagebox ausgeben und auf das feld fokussieren... allerdings bekomm ich einen fehler wenn ich versuche dieses procedure folgendermaßen auszuführen: plausi (sender:tedit) error:invalid class typecast ... kann mir da einer weiterhelfen?
Delphi-Quellcode:
[edit=Luckie]Delphi-Tags gesetzt. Mfg, Luckie[/edit]
procedure plausi (sender:tedit);
begin with (sender as tedit) do begin if (sender as tedit).text = '' then begin MessageDlg ('Please fill all required fields!',mtwarning,[mbok],0); (sender as tedit).SetFocus; end; end; end; |
Re: plausi heeeeelp :/
Bitte ändere den Titel des Threads. Der jetztige ist nicht sehr aussagekräftig. Und setzte bitte auch gleich die Delphi-Tags. Danke.
|
Re: procedure zur plausibilitätsprüfung
Wäre nett, wenn du uns noch den Fehler nennen würdest. :roll:
|
Re: plausi heeeeelp :/
Hallo und herzlich Willkommen palondo!
Dein Problem ist, dass du als Parameter bereits ein TEdit erhältst. Du kannst keinen TypeCast als TEdit auf ein TEdit machen, da es ja bereits ein TEdit ist. @Luckie Hat er doch: Zitat:
Rechtschreibfehler :roll: |
Re: procedure zur plausibilitätsprüfung
Die Delphi-Tags fehlen immer noch ([delphi]..[/ delphi])
Ich denke mal, daß du auf jeden Fall mal TObject anstatt TEdit im Prozedurkopf nehmen mußt. Und laß dann beim Aufruf das :TEdit weg, das brauchst du nicht. //Edit: OK, die Tags haben sich erübrigt :roll: |
Re: procedure zur plausibilitätsprüfung
Der Code weist drei Dinge auf die ich merkwürdig finde:
- Sender ist bereits ein TEdit, trotzdem wird der as-Operator verwendet... - es wird ein with-Block verwendet, aber trotzdem immer ge-castet... - ich vermute, dass es sich um eine Ereignisroutine handeln soll, allerdings ist es im Moment eine globale Funktion... |
Re: procedure zur plausibilitätsprüfung
Zitat:
|
Re: procedure zur plausibilitätsprüfung
erstmal danke für die schnellen antworten!
ich hab nun das ganze so geändert:
Delphi-Quellcode:
aufgerufen wird das ganze mit plausi(sender); in einem onclick-ereignis eines buttons.
procedure plausi(sender:tobject);
begin with sender as tedit do begin if (sender as tedit).text = '' then begin MessageDlg ('Please fill all required fields!',mtwarning,[mbok],0); (sender as tedit).SetFocus; end; end; end; jedoch bekomm ich wieder diesen fehler: invalid class typecast mein procedure kopf sieht folgendermaßen aus:
Delphi-Quellcode:
var
ProductDefinitionForm: TProductDefinitionForm; procedure plausi(sender:tobject); <<<<<< hier hab ich den aufgeführt |
Re: procedure zur plausibilitätsprüfung
Zitat:
Delphi-Quellcode:
property OnClick: TNotifyEvent;
Code:
type TNotifyEvent = procedure (Sender: TObject) [color=red]of object[/color];
|
Re: procedure zur plausibilitätsprüfung
Laß mal die Typecasts innerhalb des WITH-Blocks weg. Vielleicht geht es dann.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz