AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ButtonClick wird nicht ausgeführt

Ein Thema von Ykcim · begonnen am 6. Sep 2012 · letzter Beitrag vom 7. Sep 2012
Antwort Antwort
Seite 1 von 3  1 23      
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
824 Beiträge
 
Delphi 10.4 Sydney
 
#1

ButtonClick wird nicht ausgeführt

  Alt 6. Sep 2012, 14:19
Hallo Zusammen,

ich arbeite mit Delphi xe2 Starter und habe ein Phänomen, dass ich mir nicht erklären kann und was ganz schön nervig ist.

Vereinzeln führen Buttons ihre ButtonClick Proceduren nicht mehr aus. Ich habe keine Ahnung, woran das liegen könnte...

Anbei mal ein Screenshot, dass die Procedure dem Button zugewiesen ist und die Procedure (ich habe jetzt, nachdem die alte Procudure nicht mehr funktionierte eine einfache genommen).
Delphi-Quellcode:
procedure TWSAgenda.ButtonZeitraumBearbeitenClick(Sender: TObject);
begin
  Showmessage('Hallo');
end;
Hat jemand einen Idee?

Vielen Dank
Ykcim
Miniaturansicht angehängter Grafiken
buttonclick.jpg  
Patrick
  Mit Zitat antworten Zitat
Benutzerbild von Jonas Shinaniganz
Jonas Shinaniganz

Registriert seit: 30. Aug 2011
249 Beiträge
 
Delphi XE5 Ultimate
 
#2

AW: ButtonClick wird nicht ausgeführt

  Alt 6. Sep 2012, 14:54
Das was du hier gepostet hast sieht richtig aus...

Hast du mal einen Haltepunkt in die
Zitat:
Showmessage('Hallo');
Zeile gesetzt und den Button zur Laufzeit betätigt?
Die Leiter der Entwicklungsabteilung dreht total am Mausrad!
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
824 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: ButtonClick wird nicht ausgeführt

  Alt 6. Sep 2012, 15:08
Ja, habe ich gemacht. Wenn ich auf den Button klicke, verfärbt ersich, wie es alle Buttons machen, die man klickt, aber er läuft nicht in die Procedur rein. Es ist so, als gäbe es die Procedur gar nicht.

Ich habe schon an einen Fehler in Delphi xe2 gedacht und das ganze System heute Morgen neu aufgesetzt... Aber leider ohne Erfolg...
Patrick
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#4

AW: ButtonClick wird nicht ausgeführt

  Alt 6. Sep 2012, 15:18
Wird evtl. irgendwo im Code der Eventhandler neu gesetzt?
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
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
824 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: ButtonClick wird nicht ausgeführt

  Alt 6. Sep 2012, 15:38
Nicht das ich das bewusst gemacht hätte...

Anbei der gesamte Code dieser Unit:
Delphi-Quellcode:
unit UnitAgenda;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
  Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Grids, Vcl.ExtCtrls,
  Vcl.Menus, Vcl.StdCtrls, Planner, AdvObj, BaseGrid, AdvGrid, Vcl.ImgList,
  W7Classes, W7Buttons, Vcl.Buttons, Codes;

type
  TWSAgenda = class(TFrame)
    PanelAgenda: TPanel;
    PanelZeitraum: TPanel;
    PanelAgendaListe: TPanel;
    Panel3: TPanel;
    Splitter3: TSplitter;
    Splitter4: TSplitter;
    PopupZeitraum: TPopupMenu;
    PopupAgenda: TPopupMenu;
    bearbeiten1: TMenuItem;
    N1: TMenuItem;
    Zeitraumhinzufgen1: TMenuItem;
    Zeitraumlschen1: TMenuItem;
    bearbeiten2: TMenuItem;
    N2: TMenuItem;
    AgendaPunkthinzufgen1: TMenuItem;
    AgendaPunktlschen1: TMenuItem;
    Panel1: TPanel;
    Panel2: TPanel;
    PanelZiele: TPanel;
    Planner1: TPlanner;
    GridZeitraum: TAdvStringGrid;
    GridZiele: TAdvStringGrid;
    ImageList1: TImageList;
    ButtonAgendaBearbeiten: TSpeedButton;
    ButtonAgendaLoeschen: TSpeedButton;
    ButtonAgendaNeu: TSpeedButton;
    Panel7: TPanel;
    Splitter5: TSplitter;
    Splitter6: TSplitter;
    Panel6: TPanel;
    Splitter1: TSplitter;
    Splitter2: TSplitter;
    ButtonZeitraumBearbeiten: TSpeedButton;
    ButtonZeitraumNeu: TSpeedButton;
    ButtonZeitraumLoeschen: TSpeedButton;
    ButtonZieleBearbeiten: TSpeedButton;
    ButtonZieleNeu: TSpeedButton;
    ButtonZieleLoeschen: TSpeedButton;
    procedure FrameResize(Sender: TObject);
    procedure Planner1ItemDelete(Sender: TObject; Item: TPlannerItem);
    procedure Planner1ItemInsert(Sender: TObject; Position, FromSel,
      FromSelPrecise, ToSel, ToSelPrecise: Integer);
    procedure ButtonAgendaLoeschenClick(Sender: TObject);
    procedure ButtonAGendaBearbeitenClick(Sender: TObject);
    procedure ButtonAgendaNeuClick(Sender: TObject);
    procedure ButtonZeitraumLoeschenClick(Sender: TObject);
    procedure ButtonZeitraumBearbeitenClick(Sender: TObject);
    procedure ButtonZieleBearbeitenClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

implementation

{$R *.dfm}

procedure TWSAgenda.FrameResize(Sender: TObject);
begin

  ImageList1.GetBitmap(64, ButtonZeitraumBearbeiten.Glyph);
  ImageList1.GetBitmap(18, ButtonZeitraumNeu.Glyph);
  ImageList1.GetBitmap(5, ButtonZeitraumLoeschen.Glyph);

  ImageList1.GetBitmap(64, ButtonZieleBearbeiten.Glyph);
  ImageList1.GetBitmap(18, ButtonZieleNeu.Glyph);
  ImageList1.GetBitmap(5, ButtonZieleLoeschen.Glyph);

  ImageList1.GetBitmap(64, ButtonAgendaBearbeiten.Glyph);
  ImageList1.GetBitmap(18, ButtonAgendaNeu.Glyph);
  ImageList1.GetBitmap(5, ButtonAgendaLoeschen.Glyph);

  Panel1.Height:=round(PanelAgenda.Height*0.21);
  PanelZeitraum.Width:=round(PanelAgenda.Width*0.45);
    GridZeitraum.ColWidths[0]:=25;
    GridZeitraum.ColWidths[1]:=round((GridZeitraum.Width)*0.20);
    GridZeitraum.ColWidths[2]:=round((GridZeitraum.Width)*0.20);
    GridZeitraum.ColWidths[3]:=round((GridZeitraum.Width)*0.41);
    GridZeitraum.ColWidths[4]:=(GridZeitraum.Width-GridZeitraum.ColWidths[0]-
                            GridZeitraum.ColWidths[1]-GridZeitraum.ColWidths[2])-
                            GridZeitraum.ColWidths[3]-25;

  //PanelZiele
    GridZiele.ColWidths[0]:=25;
    GridZiele.ColWidths[2]:=40;
    GridZiele.ColWidths[1]:=Gridziele.Width-GridZiele.ColWidths[0]-
                                            GridZiele.ColWidths[2]-25;

  //Übershriften
  //Zeitraum
  GridZeitraum.Cells[0,0]:='Nr';
  GridZeitraum.Cells[1,0]:='Von';
  GridZeitraum.Cells[2,0]:='Bis';
  GridZeitraum.Cells[3,0]:='Ort';
  GridZeitraum.Cells[4,0]:='KW';

  GridZiele.Cells[0,0]:='Nr';
  GridZiele.Cells[1,0]:='Ziel';
  GridZiele.Cells[2,0]:='Status';

end;

procedure TWSAgenda.Planner1ItemDelete(Sender: TObject; Item: TPlannerItem);
begin
  Planner1.FreeItem(Item);
end;

procedure TWSAgenda.Planner1ItemInsert(Sender: TObject; Position, FromSel,
  FromSelPrecise, ToSel, ToSelPrecise: Integer);
begin
  with Planner1.CreateItemAtSelection do
    begin
      Text.Text:='Item created at runtime on '+Formatdatetime('hh:nn dd/mm/yyyy',Now);
      Update;
    end;
end;

procedure TWSAgenda.ButtonAGendaBearbeitenClick(Sender: TObject);
begin
  if ButtonAgendaBearbeiten.Caption='Bearbeitenthen
    begin
      ButtonAgendaBearbeiten.Caption:='Speichern';
      ButtonAgendaBearbeiten.Glyph:=nil;
      ImageList1.GetBitmap(29, ButtonAgendaBearbeiten.Glyph);
      ButtonAgendaNeu.Visible:=true;
      ButtonAgendaLoeschen.Visible:=true;
    end
  else
    begin
      ButtonAgendaBearbeiten.Caption:='Bearbeiten';
      ButtonAgendaBearbeiten.Glyph:=nil;
      ImageList1.GetBitmap(64, ButtonAgendaBearbeiten.Glyph);
      ButtonAgendaNeu.Visible:=false;
      ButtonAgendaLoeschen.Visible:=false;
    end;
end;

procedure TWSAgenda.ButtonAgendaLoeschenClick(Sender: TObject);
begin
  PostKeyEx32(VK_delete, [], False);
end;

procedure TWSAgenda.ButtonAgendaNeuClick(Sender: TObject);
begin
  PostKeyEx32(VK_insert, [], False);
end;


procedure TWSAgenda.ButtonZeitraumBearbeitenClick(Sender: TObject);
begin
  if ButtonZeitraumBearbeiten.Caption='Bearbeitenthen
    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;
end;

procedure TWSAgenda.ButtonZeitraumLoeschenClick(Sender: TObject);
begin
  showmessage(inttostr(Panel3.Font.Size)+','+inttostr(Panel6.font.Size));
end;

procedure TWSAgenda.ButtonZieleBearbeitenClick(Sender: TObject);
begin
  if ButtonZieleBearbeiten.Caption='Bearbeitenthen
    begin
      ButtonZieleBearbeiten.Caption:='Speichern';
      ButtonZieleBearbeiten.Glyph:=nil;
      ImageList1.GetBitmap(29, ButtonZieleBearbeiten.Glyph);
      ButtonZieleNeu.Visible:=true;
      ButtonZieleLoeschen.Visible:=true;
    end
  else
    begin
      ButtonZieleBearbeiten.Caption:='Bearbeiten';
      ButtonZieleBearbeiten.Glyph:=nil;
      ImageList1.GetBitmap(64, ButtonZieleBearbeiten.Glyph);
      ButtonZieleNeu.Visible:=false;
      ButtonZieleLoeschen.Visible:=false;
    end;
end;

end.
Die drittletzte Procedure (ButtonZeitraumBearbeitenClick) und die letzte (ButtonZieleBearbeitenClick) funktionieren nicht mehr... Die gleiche Procedure wird noch an einer anderen Stellen ausgeführt (ButtonAGendaBearbeitenClick), bei der einen klappt es und bei den zweien nicht mehr... Gestern Abend klappte es noch und heute morgen habe ich nur neu compiliert und dann reagierten die Buttons nicht mehr...
Die Procedure soll eigentlich nur zwei Speedbuttons sicht bzw. unsichtbar machen und die Icons auf den Speedbutton steuern...
Patrick
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: ButtonClick wird nicht ausgeführt

  Alt 6. Sep 2012, 15:39
Funktioniert den irgendein Event bei diesen Buttons? Sind diese aktiv?
Markus Kinzler
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#7

AW: ButtonClick wird nicht ausgeführt

  Alt 6. Sep 2012, 15:40
Wie gross ist die CPU-Last?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#8

AW: ButtonClick wird nicht ausgeführt

  Alt 6. Sep 2012, 15:42
D.h. wenn Du einen Haltepunkt in die jeweils erste Zeile der Methode setzt, wird dieser nicht angesprungen? Übrigens ist es eher suboptimal, die Caption eines Buttons abzufragen und entsprechend zu reagieren, Du verlagerst damit die Logik in die Darstellung.
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
Benutzerbild von zyklame
zyklame

Registriert seit: 26. Aug 2005
Ort: Berlin
2 Beiträge
 
#9

AW: ButtonClick wird nicht ausgeführt

  Alt 6. Sep 2012, 15:46
Geh doch mal im Objektinspektor auf Ereignisse und guck dort ob unter OnClick deine procedure eingetragen ist.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#10

AW: ButtonClick wird nicht ausgeführt

  Alt 6. Sep 2012, 15:48
Laut Screenshot im Ausgangspost ist das der Fall, sonst wäre das auch mein erster Verdacht gewesen.
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 3  1 23      


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 02:44 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