![]() |
Re: Sender???
was muss ich TEST übergeben damit er sender kennt?
|
Re: Sender???
sorry aber bitte helft mir mal denn er will für test ein parameter (ist ja klar ) aber wenn ich in test nicht sender:Tobject deklarieren würde,dann kennt er sender auch net
|
Re: Sender???
dann übergebe einfach ein object
|
Re: Sender???
Also entweder die komplizierte:
Code:
Oder die einfache, da weißt Du einfach im Objekt Inspektor beiden Komponenten die gleiche Ereignismethode zu ;-)
procedure TForm1.Button2Click(Sender: TObject);
begin TEST[color=#ff0000](Sender)[/color]; end; procedure TForm1.Button1Click(Sender: TObject); begin TEST[color=#ff0000](Sender)[/color]; end; ...:cat:... |
Re: Sender???
Stop! halt! Zurück!
Du machst einen Denkfehler! Was Du gemacht hast ist: Für jeden der beiden Buttons ein OnClickereigniss zu haben. Jetzt hast Du eine zusätzliche Procedure die in dem OnClick aufgerufen wird. Das macht so keine Sinn. Entweder Du schreibst deinen Code direckt in an OnClick des jeweiligen Buttons.
Delphi-Quellcode:
Oder Du weisst beiden Buttons die selbe OnClick Procedure zu.
procedure TForm1.Button2Click(Sender: TObject);
begin if Form1.OpenDialog1.Execute then begin ... end; end; procedure TForm1.Button2Click(Sender: TObject); begin Close; end; |
Re: Sender???
danke hunzt jetzt dürfte ich es können,danke nochmal an alle die mir geholfen haben
alex |
Re: Sender???
achso es sollten also die gleichen proceduren für mehrer buttons sein? klar macht ja auch mehr sinn
|
Re: Sender???
angenommen ich habe jetzt für zwei buttons jeweils eine onclick procedure geschrieben
diese will ich nun im objectinspector unter on click reinschreiben (die procedure heißt test) muss ich da nur test reinschrieben oder nochwas und muss ich hinter die procedure noch was schreiben? |
Re: Sender???
sorry nehm alles zurück habs hinbekommen es geht mit der onclick sache
danke |
Re: Sender???
Zitat:
hihi..... Es macht nur Sinn wenn bei allen das gleiche ausgeführt werden soll. Besser ist das zu erklären an einem Label. Angenommen Du hast auf deiner Form Labels in denen eine WEB-Adresse steht.
Delphi-Quellcode:
Jetzt möchtest Du bei einem Click auf ein Label das die entsprechende Seite im Browser geöffnet wird.
Label1.Caption := 'http:/www.delphipraxis.net';
Label2.Caption := 'http:/www.sharkys-home.de'; Label3.Caption := 'http:/www.borland.com'; Du könntest jetzt entweder für jedes Label ein OnClick schreiben:
Delphi-Quellcode:
Oder Du verwendest für alle drei Labels das gleiche OnClick:
procedure TForm1.Label1Click(Sender: TObject);
begin shellexecute(handle, 'open', PChar(Label1.Caption), nil, nil, sw_show); end; procedure TForm1.Label2Click(Sender: TObject); begin shellexecute(handle, 'open', PChar(Label3.Caption), nil, nil, sw_show); end; procedure TForm1.Label3Click(Sender: TObject); begin shellexecute(handle, 'open', PChar(Label3.Caption), nil, nil, sw_show); end;
Delphi-Quellcode:
Wie Du siehst spart man sich so einiges an Code und kann Fehler vermeiden.
procedure TForm1.Alle_LabelClick(Sender: TObject);
begin shellexecute(handle, 'open', PChar((Sender As TLabel).Caption), nil, nil, sw_show); end; Bei einem Button macht das natürlich nur Sinn wenn bei allen Buttons die Procedure aufgerufen wird. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:11 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