AGB  ·  Datenschutz  ·  Impressum  







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

Ereigniss zur Laufzeit zuweisen ?

Offene Frage von "Urba"
Ein Thema von Urba · begonnen am 14. Feb 2004 · letzter Beitrag vom 14. Feb 2004
Antwort Antwort
Seite 1 von 2  1 2      
Urba

Registriert seit: 8. Dez 2002
Ort: Ketsch
120 Beiträge
 
Delphi 6 Personal
 
#1

Ereigniss zur Laufzeit zuweisen ?

  Alt 14. Feb 2004, 11:39
Hallo Leute,

Ich möchte einer Komponente ein Ereigniss erst zur Lauzeit zuordnen - wie kann ich das am besten realisieren.

Also beispielsweise das OnMouseDown-Ereigniss einer TImage erst zuweisen nachdem irgendwas geschehen ist.

Danke schonmal
Urba
Es gibt keine blöden Fragen, nur blöde Antworten
  Mit Zitat antworten Zitat
Bobator
(Gast)

n/a Beiträge
 
#2

Re: Ereigniss zur Laufzeit zuweisen ?

  Alt 14. Feb 2004, 11:55
http://www.delphipraxis.com/topic152...fzeit+zuweisen
  Mit Zitat antworten Zitat
Urba

Registriert seit: 8. Dez 2002
Ort: Ketsch
120 Beiträge
 
Delphi 6 Personal
 
#3

Re: Ereigniss zur Laufzeit zuweisen ?

  Alt 14. Feb 2004, 11:59
Vielen Dank, aber muss die Prozedur denn unbedingt auf einer Form liegen. Dies war so bei allen Beispielen der Fall die ich gefunden habe. Ich erstelle eine Kompo zur Laufzeit als Prozedur innerhalb einer Unit und somit habe ich keine Form
Es gibt keine blöden Fragen, nur blöde Antworten
  Mit Zitat antworten Zitat
Bobator
(Gast)

n/a Beiträge
 
#4

Re: Ereigniss zur Laufzeit zuweisen ?

  Alt 14. Feb 2004, 12:39
hi,

ich kann mir nur schwer vorstellen, was du meinst. poste bitte ein wenig sourcecode.
  Mit Zitat antworten Zitat
Urba

Registriert seit: 8. Dez 2002
Ort: Ketsch
120 Beiträge
 
Delphi 6 Personal
 
#5

Re: Ereigniss zur Laufzeit zuweisen ?

  Alt 14. Feb 2004, 12:43
Es sind Komponenten ohne grafisches Interface (vielleicht war mein anfänglicher Text etwas verwirrend) und ich habe eine Variable abc in meiner Unit. In dieser Unit ist ebenfalls eine prozedur createkompo , welche dieser Kompo ihre Werte zuweist und sie erstellt.

Hoffe das ist etwas einleuchtender.
Es gibt keine blöden Fragen, nur blöde Antworten
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#6

Re: Ereigniss zur Laufzeit zuweisen ?

  Alt 14. Feb 2004, 12:45
In welcher Klasse die Ereignis-Procedure steht ist eigentlicht egal!
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Bobator
(Gast)

n/a Beiträge
 
#7

Re: Ereigniss zur Laufzeit zuweisen ?

  Alt 14. Feb 2004, 12:47
Delphi-Quellcode:
procedure ImageMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
// Tue Irgendwas
end;

procedure zuweisen;
begin
  Image1.OnMouseDown:=ImageMouseDown;
end;
war es das was du meintest?
  Mit Zitat antworten Zitat
Urba

Registriert seit: 8. Dez 2002
Ort: Ketsch
120 Beiträge
 
Delphi 6 Personal
 
#8

Re: Ereigniss zur Laufzeit zuweisen ?

  Alt 14. Feb 2004, 12:51
Aber wenn jetzt das Ereigniss OnDisplay wäre und ich folgende Prozeduren habe

Code:
procedure DisplayProcedure(Variablen ...);
begin
  //(...)
end;

procedure createkompo;
begin
  //(...)
  kompo.OnDisplay := DisplayProcedure;
end;
Dann funktioniert es nicht. Ich bekomme die Meldung "Incompatible types : 'method pointer and regular procedure'". Es liegt aber definitiv nicht an den Variablen, dass ich dort eine vergessen hätte oder so (100%)
Es gibt keine blöden Fragen, nur blöde Antworten
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Ereigniss zur Laufzeit zuweisen ?

  Alt 14. Feb 2004, 13:10
Die procedure muss zu einer klasse gehören. Denn wie der Compiler schon rummeckert ist es sonst eine procedure und kein Pointer. Erst wenn du eine instanz von deiner klasse erstellt hast wird die procedure auch im speicher verfügbar sein...
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#10

Re: Ereigniss zur Laufzeit zuweisen ?

  Alt 14. Feb 2004, 14:25
Zitat von SirThornberry:
Die procedure muss zu einer klasse gehören.
Falsch
Der folgende Source tritt den Beweis an.
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;



implementation

{$R *.dfm}

procedure ImageOnClickEvent(Sender : TObject);
begin
  ShowMessage('Auf TImage geklickt');
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  aImage : TImage;
begin
  aImage:=TImage.Create(Self);
  aImage.Parent:=Self;
  aImage.Top:=20;
  aImage.Left:=20;
  With aImage.Picture.Bitmap do
    begin
    Width:=aImage.Width;
    Height:=aImage.Height;
    Canvas.Rectangle(0,0,Width,Height);
    end;
  @aImage.OnClick:=@ImageOnClickEvent;
end;

end.
  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 23:42 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