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
Seite 1 von 2  1 2      
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
847 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;
The angels have the phone box.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 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
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: ButtonClick Procedure aufrufen

  Alt 26. Feb 2013, 13:11
Kommt der Fehler auch, wenn Du die 3 Destroy-Aufrufe am Ende der Abbrechen-Methode auskommentierst?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
OsCor

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

AW: ButtonClick Procedure aufrufen

  Alt 26. Feb 2013, 13:26
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
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: ButtonClick Procedure aufrufen

  Alt 26. Feb 2013, 13:29
http://docwiki.embarcadero.com/Libra...icture.Destroy
Zitat:
Rufen Sie Destroy nicht direkt in einer Anwendung auf. Verwenden Sie stattdessen die Methode Free. Die Methode Free überprüft, ob die TPicture-Referenz bereits nil ist und ruft Destroy nur bei Bedarf auf.
Was im Übrigen für alle Objekte gilt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 09:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz