![]() |
ButtonClick Procedure aufrufen
Sorry das ich mit sowas nerven muss, aber durch das ganze Starren auf Codezeilen habe ich gerade einen kleinen Blackout.
Könnte mir bitte greade wer verraten, wie die z.B. die ButtonClick Prozedur in einer anderen Procedure aufrufen kann?
Delphi-Quellcode:
Oder so ähnlich.
procedure klickmich;
begin TForm1.Button1Click; end; Bekomme es einfach nicht hin :oops:
Delphi-Quellcode:
Diese Procedure möchte ich in einer anderen aufrufen.
procedure TForm1.Button1Click(Sender: TObject);
begin //Ganz viele Codezeilen end; |
AW: ButtonClick Procedure aufrufen
Hi,
Versuch mal:
Delphi-Quellcode:
...
Button1.OnClick(Sender); // <-- Sender vergessen, nachträglich eingefügt ... |
AW: ButtonClick Procedure aufrufen
Ne funktioniert leider nicht.
Aber es würde mir auch helfen, wenn ihr mir sagen könntet,wie ich bei der procedure Parameter mitgeben kann. Sprich so sollte es aussehen:
Delphi-Quellcode:
Doch leider bekomme ich dann immer Fehlermeldungen, bzw. er will die Verweise löschen, da die procedure dann nicht mehr bekannt ist.
prucedure TForm1.Button1Click(Sender:TObject; parameter1 : string; parameter2 : integer);
begin //Code end; Fehlermeldung: Für Sender ist Vorgabewert erforderlich |
AW: ButtonClick Procedure aufrufen
Sonst erzähle einmal was du machen willst oder zeige bitte mehr Code.
|
AW: ButtonClick Procedure aufrufen
Du kannst z.B. die Prozedur direkt aufrufen, ggf. mit Nil als Sender, wenn du den dort nicht brauchst:
Delphi-Quellcode:
Oder du rufst die Click-Methode auf.
Button1Click(Nil);
Delphi-Quellcode:
Button1.Click;
|
AW: ButtonClick Procedure aufrufen
Und das ist, warum man in Eventhandlern keine Geschäftslogik unterbringt.
|
AW: ButtonClick Procedure aufrufen
Hallo,
ich erlaube mir, diesen Faden aus der Versenkung zu holen, weil ich eine fast identische Problemstellung habe, die durch die Hilfeposts nicht behoben werden konnte. Teilaufgabe: Druck auf Button „Abbrechen” setzt einfach alle Eingabe-Elemente zurück (Ereignis btnAbbrechenClick). Um beim Neueingeben eines Datensatzes diesen Reset ebenfalls durchzuführen, rufe ich ihn in der gezeigten Weise auf - die Versionen mit Nil oder ohne Klammer (wie im vorhergehenden Beitrag) werden vom Compiler moniert. Der vorgestellte Code funktioniert zwar, aber: Nach dem Schließen des Programmes wird mir per Messagefenster angezeigt, dass ein Fehler vorliege und zwar eine fehlerhafte Zeigeroperation. Ich dachte, ich hätte das Problem auf einfache Weise gelöst :? Was mache ich denn falsch?
Delphi-Quellcode:
Für Hinweise dankbar:
procedure btnAbbrechenClick(Sender: TObject);
procedure FormShow(Sender: TObject); procedure TabSheet2Show(Sender: TObject); procedure btnNeuClick(Sender: TObject); procedure btnSaveClick(Sender: TObject); procedure Button1Click(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; Warentext : String; const Bildpfad = … EN = '0'; ZN = '00'; DN = '000'; implementation {$R *.dfm} procedure TForm1.btnAbbrechenClick(Sender: TObject); begin edtPfad.Clear; cbTyp.ItemIndex := 0; edtPreis.Clear; edtBezAlt.Clear; cbMetallFarbe.ItemIndex := 0; edtSteinFarben.Clear; edtPerlenFarbe.Clear; edtHoehe.Clear; edtLieferant.Clear; chAktiv.Checked := True; memBem.Clear; Image1.Picture.Destroy; Image2.Picture.Destroy; Image3.Picture.Destroy; end; procedure TForm1.btnNeuClick(Sender: TObject); var ArtAnz : Integer; ArtBez : String; begin btnAbbrechenClick(Sender); <-------- Hier steckt der Wurm drin! . .… Oswald |
AW: ButtonClick Procedure aufrufen
Kommt der Fehler auch, wenn Du die 3 Destroy-Aufrufe am Ende der Abbrechen-Methode auskommentierst?
|
AW: ButtonClick Procedure aufrufen
Nein. Aber, da hätten wir das Problem ja schon gelöst.
Ah, jetzt habe ich mal einfach alle mir sonst noch sinnvoll erscheinenden Methoden ausprobiert. Die einzige, die keinen Fehler hervorruft, ist CleanUpInstance. Also darauf wäre ich im Leben nicht gekommen! Zunächst mal Danke für diesen tollen Schnellschuß :-) Kannst du mir denn auch erklären, was da schiefgeht bei der Methode Destroy (ein Image beinhaltete kein Bild)? Oswald |
AW: ButtonClick Procedure aufrufen
![]() Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:04 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