![]() |
Button Prozedur in anderer Prozedur aufrufen
Der Titel ist Programm:
Wie rufe ich eine Button.Click Prozedur in einer anderen Procedur oder Function auf? Wenn ich einfach nur den Namen der Prozedur in einer anderen Aufrufe kommt die Fehlermeldung "Not enough actual Parameters" das hab ich bis jetzt probiert: -------------------- Prozedur Bla; begin tbutton2.click; end; -------------------- Prozedur Bla; begin button2.click; end; -------------------- Prozedur Bla; begin button2.click.execute; end; |
Re: Button Prozedur in anderer Prozedur aufrufen
Es fehlt der Sender:
Delphi-Quellcode:
button2.click( Nil);
|
Re: Button Prozedur in anderer Prozedur aufrufen
Delphi-Quellcode:
Oder als reguläre Prozedur:
procedure TFormWuppdi.TuWas;
begin Button1.Click; end;
Delphi-Quellcode:
[edit]@Neu-Mod: stimmt nicht, das wäre der Fall bei
procedure TuWas;
begin FormWuppdi.Button1.Click; end;
Delphi-Quellcode:
[/edit]
Button1Click(Sender); //ohne Punkt
|
Re: Button Prozedur in anderer Prozedur aufrufen
Stimmt, hab das als Methodennamen angesehen
|
Re: Button Prozedur in anderer Prozedur aufrufen
Zitat:
Welches tut empfehlt ihr mir für solche grundsatzfragen? |
Re: Button Prozedur in anderer Prozedur aufrufen
Zitat:
![]() |
Re: Button Prozedur in anderer Prozedur aufrufen
dann probier es mal aus ;)
ich schreib nur eben das Programm zuende. Dann poste ich code und stell die Source als Download bereit. |
Re: Button Prozedur in anderer Prozedur aufrufen
Hab ich: "zu viele Parameter" wie erwartet.
|
Re: Button Prozedur in anderer Prozedur aufrufen
Liste der Anhänge anzeigen (Anzahl: 4)
Ich schwör es funktioniert hier:
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Menus; type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; MainMenu1: TMainMenu; Starteclear1: TMenuItem; clear1: TMenuItem; procedure Button1Click(Sender: TObject); procedure clear1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin form1.clear1Click (Nil); end; procedure TForm1.clear1Click(Sender: TObject); begin edit1.Clear; end; end. source und exe im anhang als beweis :) [edit] in meinem Programm verwende ich das genau so wie hier als beweis in miniprogramm. |
Re: Button Prozedur in anderer Prozedur aufrufen
Natürlich funktioniert das so, schau Dir mein Edit in #3 nochmal an und dann vergleiche mal ganz genau mit Deinem Code.
|
Re: Button Prozedur in anderer Prozedur aufrufen
Ne, du hast ja was ganz anderes gemacht. :wink:
Entweder du rufst das hier auf: Button1.Click; Oder das hier: Button1Click(Nil); Man kann den Parameter aber nicht tauschen, also ein Button.Click(Nil) ist nicht möglich, wie DeddyH schon richtig sagte. Aber das hast du ja auch gar nicht gemacht, sondern Button1CLick(Nil); (In diesem Beispiel wird davon ausgegangen, dass der Button "Button1" heißt) @roter Kasten: Ich sende trotzdem ab, weil mein Post viel schöner ist. :stupid: Mit freundlichen Grüßen, Valle |
Re: Button Prozedur in anderer Prozedur aufrufen
ups xD stimmt :D tut mir leid ;)
nja delphi neuling ;D mein programm schiebt ne endlosschleife -.-' |
Re: Button Prozedur in anderer Prozedur aufrufen
Ich persönlich finde es schöner, den Code in eine eigene Prozedur auszulagern und die im jeweiligen OnClick aufzurufen. Wobei es meist auch nicht nötig ist, 2 Buttons zu haben, die das selbe bewirken.
Delphi-Quellcode:
Grüße, Matze
procedure TForm1.ClearIt;
begin Edit1.Clear; end; procedure TForm1.Button1Click(Sender: TObject); begin ClearIt; end; procedure TForm1.Clear1Click(Sender: TObject); begin ClearIt; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:02 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