AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi ButtonClick Procedure aufrufen
Thema durchsuchen
Ansicht
Themen-Optionen

ButtonClick Procedure aufrufen

Ein Thema von SyntaxXx · begonnen am 7. Apr 2012 · letzter Beitrag vom 28. Feb 2013
Antwort Antwort
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#1

ButtonClick Procedure aufrufen

  Alt 7. Apr 2012, 15:00
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:
procedure klickmich;
begin
TForm1.Button1Click;
end;
Oder so ähnlich.
Bekomme es einfach nicht hin


Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  //Ganz viele Codezeilen
end;
Diese Procedure möchte ich in einer anderen aufrufen.

Geändert von SyntaxXx ( 7. Apr 2012 um 15:03 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Coffeecoder
Coffeecoder

Registriert seit: 27. Apr 2011
242 Beiträge
 
Delphi 6 Enterprise
 
#2

AW: ButtonClick Procedure aufrufen

  Alt 7. Apr 2012, 15:04
Hi,
Versuch mal:
Delphi-Quellcode:
...
   Button1.OnClick(Sender); // <-- Sender vergessen, nachträglich eingefügt
...
Coffeecoder

Geändert von Coffeecoder ( 7. Apr 2012 um 15:19 Uhr)
  Mit Zitat antworten Zitat
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#3

AW: ButtonClick Procedure aufrufen

  Alt 7. Apr 2012, 15:14
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:
prucedure TForm1.Button1Click(Sender:TObject; parameter1 : string; parameter2 : integer);
begin
//Code
end;
Doch leider bekomme ich dann immer Fehlermeldungen, bzw. er will die Verweise löschen, da die procedure dann nicht mehr bekannt ist.

Fehlermeldung: Für Sender ist Vorgabewert erforderlich

Geändert von SyntaxXx ( 7. Apr 2012 um 15:16 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Coffeecoder
Coffeecoder

Registriert seit: 27. Apr 2011
242 Beiträge
 
Delphi 6 Enterprise
 
#4

AW: ButtonClick Procedure aufrufen

  Alt 7. Apr 2012, 15:20
Sonst erzähle einmal was du machen willst oder zeige bitte mehr Code.
Coffeecoder
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
901 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: ButtonClick Procedure aufrufen

  Alt 7. Apr 2012, 15:25
Du kannst z.B. die Prozedur direkt aufrufen, ggf. mit Nil als Sender, wenn du den dort nicht brauchst:
Button1Click(Nil); Oder du rufst die Click-Methode auf.
Button1.Click;
Being smart will count for nothing if you don't make the world better. You have to use your smarts to count for something, to serve life, not death.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#6

AW: ButtonClick Procedure aufrufen

  Alt 7. Apr 2012, 15:28
Und das ist, warum man in Eventhandlern keine Geschäftslogik unterbringt.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
OsCor

Registriert seit: 1. Jan 2009
Ort: Kenzingen, Südbaden
99 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: ButtonClick Procedure aufrufen

  Alt 26. Feb 2013, 13:04
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:
    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!
   .
   .…
Für Hinweise dankbar:
Oswald
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 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