AGB  ·  Datenschutz  ·  Impressum  







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

On-Ereigniss ersetzen

Ein Thema von LoL · begonnen am 5. Sep 2005 · letzter Beitrag vom 5. Sep 2005
Antwort Antwort
LoL
(Gast)

n/a Beiträge
 
#1

On-Ereigniss ersetzen

  Alt 5. Sep 2005, 09:36
Moin,

ich hab folgendes Problem:
Ich habe ein Fenster in dem etwas aus einer Listbox ausgewählt werden soll und darunter ein Knopf. Die Routine auf dem Knopf soll auch ausgeführt werden wenn ich einen doppelklick auf die Listbox mache. Die Routine wenn man auf den Button drückt funktioniert einwandfrei. Für den dblKlick auf die Listbox verwende ich folgenden Code:

  @OnDblClick := @btbtn_okClick; Funktioniert auch soweit: Die Routine wird aufgerufen. Komischerweise "hängt" sich dann mein Programm auf, aber eine Endlosschleife ist es nicht habe ich schon überprüft, denn der Code ist abgearbeitet nur kann ich auf dem Form dann irgendwie nichts mehr machen...

Worann kann das liegen? Wenn ihr nochmehr Code wollt einfach sagen
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: On-Ereigniss ersetzen

  Alt 5. Sep 2005, 09:40
Hi Christoph,

hast du es schonmal so probiert:

ListBox.OnDblClick := btbtn_on_okClick; Grüße vom marabu
  Mit Zitat antworten Zitat
LoL
(Gast)

n/a Beiträge
 
#3

Re: On-Ereigniss ersetzen

  Alt 5. Sep 2005, 09:44


Ich hab das eventuell etwas falsch dargestellt.
Der Button wird zur Laufzeit erstellt genau wie die Listbox. Also weise ich dem Button sowie der Listbox die Routine zu:

Delphi-Quellcode:
@Button.OnClick := @Machwas;
@ListBox.OnDblClick := @Machwas;
Und da das ja einfach nur ne procedure ist nehm ich da den Pointer...
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#4

Re: On-Ereigniss ersetzen

  Alt 5. Sep 2005, 09:49
Zitat von LoL:
...Der Button wird zur Laufzeit erstellt genau wie die Listbox.
Hai Christoph,

trotzdem wollte es eigentlich so gehen wie von marabu beschrieben.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: On-Ereigniss ersetzen

  Alt 5. Sep 2005, 09:55
Vielleicht überzeugt dich ja das:

Delphi-Quellcode:
unit DemoFrm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TDemoForm = class(TForm)
    DemoButton: TButton;
    ListBox: TListBox;
    procedure DemoButtonClick(Sender: TObject);
    procedure ButtonClick(Sender: TObject);
  private
    MyButton: TButton;
  end;

var
  DemoForm: TDemoForm;

implementation

{$R *.dfm}

procedure TDemoForm.DemoButtonClick(Sender: TObject);
begin
  if Assigned(MyButton) then
    MyButton.Free;
  MyButton := TButton.Create(self);
  MyButton.Parent := self;
  MyButton.Top := DemoButton.Top + 100;
  MyButton.Left := DemoButton.Left;
  MyButton.Caption := 'So geht es';
  MyButton.OnClick := ButtonClick;
  ListBox.OnDblClick := ButtonClick;
end;

procedure TDemoForm.ButtonClick(Sender: TObject);
begin
  ShowMessage('Hi');
end;

end.
marabu
  Mit Zitat antworten Zitat
LoL
(Gast)

n/a Beiträge
 
#6

Re: On-Ereigniss ersetzen

  Alt 5. Sep 2005, 10:36
Nun das habe ich nun gemacht trotzdem das selbe wie vorher auch:

Delphi-Quellcode:
  Tfrm_GraphEdit = class(TForm)
    lb_graphen: TListBox;
    btbtn_ok: TBitBtn;
    procedure btbtn_okLoadGraph(Sender : TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
{...}
btbtn_ok.OnClick := btbtn_okLoadGraph;
lb_graphen.OnDblClick := btbtn_okLoadGraph;
komischer weise entsteht das problem immer noch.
Ich weis nicht mehr weiter

Wie kann es sein das das Programm mit dem Button funktioniert aber mit einem Doppelklick sich aufhängt????
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#7

Re: On-Ereigniss ersetzen

  Alt 5. Sep 2005, 10:38
Hai LoL,

wie sieht den der Code für deine Klick-Procedure aus?
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#8

Re: On-Ereigniss ersetzen

  Alt 5. Sep 2005, 10:44
Könnte da vielleicht ein unbedachter Typecast des Parameters Sender im Eventhandler der Übeltäter sein?
Christian
Der Computer hilft mir, Probleme zu lösen, die ich ohne Computer nicht hätte.
  Mit Zitat antworten Zitat
LoL
(Gast)

n/a Beiträge
 
#9

Re: On-Ereigniss ersetzen

  Alt 5. Sep 2005, 11:13
Seltsam
Ich hab Delphi geschlossen, neugestartet, neucompiliert und jetzt gehts???
Naja hauptsache ich hab den doofen Fehler nichtmehr
  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:28 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