AGB  ·  Datenschutz  ·  Impressum  







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

Event aus Komponente abfragen

Ein Thema von eddie11 · begonnen am 13. Sep 2007 · letzter Beitrag vom 13. Sep 2007
Antwort Antwort
eddie11

Registriert seit: 8. Nov 2005
Ort: Zossen bei Berlin
236 Beiträge
 
Delphi XE8 Professional
 
#1

Event aus Komponente abfragen

  Alt 13. Sep 2007, 14:25
Hi allerseits,

ich habe eine Komponente, die aus einer MessageQueue Nachrichten Empfangen kann. Diese Komponente erzeugt beim Empfang einer Nachricht ein Event

MessageReceived(out InMessage: Idispatch)

Ich möchte jetzt in meiner Anwendung auf dieses Event reagieren um die Message abzuholen. Wie kriege ich das Event aus der Komponente in die aufrufende Anwendung oder besser: was muss ich tun, damit in der Anwendung ein Event ausgelöst wird, wenn die Komponente das "MessageReceived"-Event auslöst?

danke
Eddie
Edgar Leifeld
Liebe Grüße aus Zossen bei Berlin

Die Kontramedüse ist verdrupelt!!!
  Mit Zitat antworten Zitat
eddie11

Registriert seit: 8. Nov 2005
Ort: Zossen bei Berlin
236 Beiträge
 
Delphi XE8 Professional
 
#2

Re: Event aus Komponente abfragen

  Alt 13. Sep 2007, 16:01
Habe was in .Net gefunden, dort gibt es "include", das macht genau das was ich will, gibt es so etwas auch in Delphi für Win32?
Edgar Leifeld
Liebe Grüße aus Zossen bei Berlin

Die Kontramedüse ist verdrupelt!!!
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Event aus Komponente abfragen

  Alt 13. Sep 2007, 16:10
Was spricht gegen einen Callback? Du deklarierst ein Property als Methoden- oder Prozedurzeiger und setzt dieses Property im Hauptprogramm, in der Komponente wird die Routine ausgelöst. Genau so macht es die VCL.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#4

Re: Event aus Komponente abfragen

  Alt 13. Sep 2007, 16:11
Normalerweise werden Events in Delphi für Win32 so abgehandelt, dass eine Komponente (wie du schon sagtest) verschiedene Events publiziert, die mit Event-Handlern belegt werden können.

Zum Beispiel TButton publiziert OnClick, ... Damit diese auch ausgelöst werden, müssen diese zugewiesen werden. Entweder über den Objekt-Inspektor oder Hartcodiert, sprich in deiner Klasse muss eine Prozedur deklariert werden, die den Kopf des Event-Handlers abbildet. Bei OnClick wäre das zB procedure ButtonClick(Sender: TObject). Würdest du das jetzt hartcodieren, würdest du sowas machen:
Delphi-Quellcode:
interface

type
  TForm1 = class (...)
    Button1: TButton;
    procedure FormCreate (Sender: TObject);
  public
    procedure myButtonClick (Sender: TObject);
  end;

implementation

procedure TForm1.FormCreate (Sender: TObject);
begin
  // Event zuweisen
  Button1.OnClick := myButtonClick;
end;

end.
Und für deinen Fall wird das auch nichts anderes sein. Nur fehlt mir generell 'n Überblick über das was du machen willst, um dein Beispiel hier zu verwenden. Das Prinzip sollte aber verständlich werden.
  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 21:31 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