Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   ButtonClick wird nicht ausgeführt (https://www.delphipraxis.net/170233-buttonclick-wird-nicht-ausgefuehrt.html)

Klaus01 6. Sep 2012 16:57

AW: ButtonClick wird nicht ausgeführt
 
.. ein Schuss ins Blaue - kann das etwas mit den LiveBindings zu tun haben?

Grüße
Klaus

Ykcim 6. Sep 2012 17:05

AW: ButtonClick wird nicht ausgeführt
 
Liste der Anhänge anzeigen (Anzahl: 1)
@mkinzler
Nein, dann haben sie nicht alle den gleichen Owner - siehe Anhang.

Aber um noch einmal auf die Frage von gmc616 zurückzukommen:
Ich habe ein Hauptformular, auf dem in PageControls verschiedene Frames liegen. Auf einem dieser Frames ist ein weiteres Frame mit eingebunden, um das es hier geht.
Also Form
--> Frame
--> Frame (hier passiert der Fehler)
Kann das Fehler verursachen?

@Klaus01
Mit LiveBindings arbeite ich nicht - damit kenne ich mich garnicht aus...

himitsu 6. Sep 2012 17:09

AW: ButtonClick wird nicht ausgeführt
 
Sind da irgendwo Actions verbaut?

Wäre es nicht soeine blöde Starter, dann hätte ich empfohlen mal die Debug-DCUs zu aktivieren und einen Haltepunkt in die Button-Klick-Methode der VCL reinzumachen.

Ykcim 6. Sep 2012 17:11

AW: ButtonClick wird nicht ausgeführt
 
Hört auf nachzudenken: Ich habe gerade das Frame mal direkt im HauptForm platziert und siehe da, jetzt funktioniert es.

Kann mir jemand erklären, was da passiert? Ist das ein no-go, wenn ich ein Frame in einem Frame platziere?

Danke
Ykcim

Ykcim 6. Sep 2012 17:25

AW: ButtonClick wird nicht ausgeführt
 
Liste der Anhänge anzeigen (Anzahl: 2)
Korrektur!
Ich habe das Frame gerade aus dem anderen Frame herausgelöscht und wieder neu eingesetzt - dann funktioniert es fast wieder.

Warum kann das sein?

Das fast deshalb, weil er irrationaler Weise bei dem einen Button die Reihenfolge der Buttons vertauscht und erst ab dem zweiten Mal sie wieder korrek anordnet.

Das erste Mal drücken: Anhang1 Press1.jpg
Das zweite Mal drücken: Anhang2 Press2.jpg

Warum???

Delphi-Quellcode:
  if ButtonZeitraumBearbeiten.Caption='Bearbeiten' then
    begin
      ButtonZeitraumBearbeiten.Glyph:=nil;
      ImageList1.GetBitmap(29, ButtonZeitraumBearbeiten.Glyph);
      ButtonZeitraumBearbeiten.Caption:='Speichern';
      ButtonZeitraumNeu.Visible:=true;
      ButtonZeitraumLoeschen.Visible:=true;
    end
  else
    begin
      ButtonZeitraumBearbeiten.Caption:='Bearbeiten';
      ButtonZeitraumBearbeiten.Glyph:=nil;
      ImageList1.GetBitmap(64, ButtonZeitraumBearbeiten.Glyph);
      ButtonZeitraumNeu.Visible:=false;
      ButtonZeitraumLoeschen.Visible:=false;
    end;
Vielen Dank
Ykcim

blawen 6. Sep 2012 21:09

AW: ButtonClick wird nicht ausgeführt
 
Ich hatte bei einem Projekt mit ähnlichen Problemen zu kämpfen, schlussendlich habe ich mich wieder von den Frames abgewendet.

Zitat:

Zitat von gmc616 (Beitrag 1181864)
Kann es sein, dass dein Formular, auf welches du den Frame platzierst, den Klick deiner Buttons abfängt?

Zumindest war es bei mir so, dass die MainForm alles abgefangen hat und ich das ganze "manuell weitergeleitet" habe.

Ykcim 6. Sep 2012 21:45

AW: ButtonClick wird nicht ausgeführt
 
Ich habe jetzt mein Programm so umgebaut, dass ich keine Frames auf Frames mehr habe, sondern wennn noch Frames, dann direkt auf dem Hauptformular.

Damit ist der Fehler weg und alles klappt wieder so wie gewünscht.

Vielen Dank an Alle für die Unterstützung.

Gruß und noch einen schönen Abend
Ykcim

gmc616 7. Sep 2012 12:54

AW: ButtonClick wird nicht ausgeführt
 
Ich kenne das Problem.

Man baut einen Frame mit einem Button drauf und definiert ein OnClick-Event (TFrame1.OnButton1Click).
Danach baut man den Frame in eine Form ein. Der Button funzt im Programm, alles bestens.

Jetzt kann man aber dem Button auf dem Frame ein weiters OnClick-Event in der Form zuweisen (TForm1.OnFrame1Button1Click).

Klick man dann im Programm auf diesen Button, wird nicht die OnClick-Prodedure des Frames gerufen, sondern die der Form. Und wenn im TForm1.OnFrame1Button1Click kein Code steht ... :zwinker: Ich denke genau das ist hier der Fall.

Nun kann es passieren, dass man beim basteln die Form und den Frame in der IDE verwechselt, schließlich sehen beide "Fenster" fast gleich aus. Ein einfacher Doppelklick auf dem Button des Frames in der Form-Ansicht reicht, damit die IDE ein TForm1.OnFrame1Button1Click einfügt und damit quasi den TFrame1.OnButton1Click überschreibt.

Normalerweise, wenn in diesen Event-Proceduren kein Code steht, entfernt die IDE diese Events und Proceduren wieder automatisch beim speichern bzw kompilieren, so das das eigentliche Event (des Frames) wieder "ziehen" müsste. Normalerweise ... , allerdings nicht immer, zb. dann, wenn ein Syntax-Fehler im Code der Form enthalten ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:27 Uhr.
Seite 3 von 3     123   

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