![]() |
Per Quelltext Sender und Key übergeben -> Fehler
hallo,
ich möchte diese funktion aufrufen aus einer anderen unit aufrufen: procedure TForm1.AuftragArtikel(Sender: TObject; var Key: Char); wie mache ich das nun? habe schon folgendes probiert:
Delphi-Quellcode:
leider klappt nichts davon. ich erhalte immer folgende fehlermeldung:
Form1.AuftragArtikel(TEdit(Form1.FindComponent('NewEditAuftragArtNr_' + inttostr(i))), #13);
Form1.AuftragArtikel(TEdit(Form1.FindComponent('NewEditAuftragArtNr_' + inttostr(i))), '#13'); Form1.AuftragArtikel(TEdit(Form1.FindComponent('NewEditAuftragArtNr_' + inttostr(i))), pchar(#13)); Form1.AuftragArtikel(TEdit(Form1.FindComponent('NewEditAuftragArtNr_' + inttostr(i))), pchar('#13)); "die typen der tatsächlichen und realen var-parameter müssen übereinstimmen". wo liegt nun mein fehler? der sender müsste eigentlich richtig sein ... hoffe ich :-) danke vielmals gruß tkliewe [edit=sakura] [delphi]-Tags Mfg, sakura[/edit] |
Re: Per Quelltext Sender und Key übergeben -> Fehler
Ich denke auf jeden Fall, dass die 2 oberen #13 auch PChar(#13) heißen muss. Vielleicht irre ich mich auch.
|
Re: Per Quelltext Sender und Key übergeben -> Fehler
#13 ist schon richtig (für Char)
aber #13 ist eine Konstante und in der Prozedurendeklaration hast du das als Variable deklariert.
Delphi-Quellcode:
procedure TForm1.AuftragArtikel(Sender: TObject; Key: Char);
Form1.AuftragArtikel(TEdit(Form1.FindComponent('NewEditAuftragArtNr_' + inttostr(i))), #13); Und da du es ja schon als TEdit übergibst, solltest du's eventuell auch TEdit annehmen.
Delphi-Quellcode:
procedure TForm1.AuftragArtikel(Sender: TEdit; Key: Char);
Form1.AuftragArtikel(TEdit(Form1.FindComponent('NewEditAuftragArtNr_' + inttostr(i))), #13); |
Re: Per Quelltext Sender und Key übergeben -> Fehler
hallo,
@ himitsu leider klappt das so auch nicht. immer noch die gleiche fehlermeldung. gruß tkliewe |
Re: Per Quelltext Sender und Key übergeben -> Fehler
Ist "AuftragArtikel" ein Eventhandler, der auf Tastatureingaben reagiert?
Wenn ja, dann mache einfach das hier:
Delphi-Quellcode:
Das drückt in dem Control die Entertaste und lässt sie wieder los.
Var
fcComp : TWinControl; i : Integer; Begin i := 1; fcComp := FindComponent('NewEditAuftragArtNr_' + IntToStr(i)) As TWinControl; While fcComp <> Nil Do Begin SendMessage(fcComp.Handle, WM_KEYDOWN, ord(#13), 0); SendMessage(fcComp.Handle, WM_KEYUP, ord(#13), 0); inc(i); fcComp := FindComponent('NewEditAuftragArtNr_' + IntToStr(i)) As TWinControl; End; End; |
Re: Per Quelltext Sender und Key übergeben -> Fehler
Hallo,
himitsu hat recht. Evt hat er es vielleicht etwas verschlüsselt ausgedrückt.
Delphi-Quellcode:
Das Parameter Key ist ein VAR-Parameter. Da kann man keine Konstante übergeben.
procedure TForm1.AuftragArtikel(Sender: TObject; var Key: Char);
So geht es:
Delphi-Quellcode:
var
aChar : Char begin aChar:=#13; Form1.AuftragArtikel(TEdit(Form1.FindComponent('NewEditAuftragArtNr_' + inttostr(i))), aChar); end; |
Re: Per Quelltext Sender und Key übergeben -> Fehler
hallo,
mit der methode von Jens Schumann hat es geklappt. vielen dank an alle. mfg tkliewe |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:35 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