AGB  ·  Datenschutz  ·  Impressum  







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

COM Events

Ein Thema von MarLe · begonnen am 20. Dez 2007 · letzter Beitrag vom 26. Jun 2008
Antwort Antwort
MarLe

Registriert seit: 13. Jan 2005
83 Beiträge
 
Delphi XE2 Professional
 
#1

COM Events

  Alt 20. Dez 2007, 16:52
Hallo,
Ich würde gerne Events von einem COM-Objekt benutzen.
lt. Suche hab ich folgende gefunden:
Zitat:
Wenn du die Typbibliothek importierst kannst per Checkbox angeben ob ein Delpi-Wrapper erzeugt werden. Wenn die Typdefinition passend ist erzeugt Delphi auch den Wrapper mit passend eingehängter Eventschnittstelle, sprich du kannst du Events genauso verwenden wie bei einem TEdit das OnChange-Event.

Importier dir doch die Typlibrary und lass dir von Delphi ein passendes VCL-Objekt mit passend verknüpfter Eventschnittstelle erstellen.
Unter VB.net funktioniert folgendes
Zitat:
Public WithEvents objError As XYZ.Error

Private Sub objError_OnError(ByVal ...)
Wie setze ich das in Delphi um???
bzw. wie finde ich auch aus der Wrapperdatei den passenden VCL-Objektnamen?

Gruß
MarLe
  Mit Zitat antworten Zitat
SyntaxError

Registriert seit: 19. Jun 2008
16 Beiträge
 
Delphi 2006 Enterprise
 
#2

Re: COM Events

  Alt 19. Jun 2008, 16:16
Hallo,

Mir ist nicht ganz klar was du mit VCL-Objektnamen meinst? Könntest du das näher erläutern? Wenn du einen Delphi-Wrapper für ein COM Objekt erstellst, dann sind die Events ja in der Klasse ersichtlich.
Gruss
  Mit Zitat antworten Zitat
MarLe

Registriert seit: 13. Jan 2005
83 Beiträge
 
Delphi XE2 Professional
 
#3

Re: COM Events

  Alt 26. Jun 2008, 15:18
Hallo,

Ja die jeweiligen Eventbezeichnungen kenne ich schon, aber ich schaffe die Umsetzung von vb auf Delphi nicht.
In vb sind das zwei Zeilen, wie würden diese in Delphi ausschauen, wie muss ich da was deklarieren?

Delphi-Quellcode:
var
  objErrorEvent: xxyyzz_TLB.XYZ.ErrorEvent;

procedure TForm1.???.OnError(...);
Gruß
MarLe
  Mit Zitat antworten Zitat
Brainshock

Registriert seit: 26. Nov 2004
Ort: 37345
214 Beiträge
 
Delphi 7 Professional
 
#4

Re: COM Events

  Alt 26. Jun 2008, 16:04
Keine Ahnung ob du das meinst, aber hier mal ein Beispiel mit Hilfe der Powerpoint_TLB.


Powerpoint_TLB.pas

Delphi-Quellcode:
type
  TPowerPointApplicationSlideShowOnPrevious = procedure(ASender: TObject; const Wn: SlideShowWindow) of object;

TPowerPointApplication = class(TOleServer)
private
  FOnSlideShowOnPrevious: TPowerPointApplicationSlideShowOnPrevious;
published
  property OnSlideShowOnPrevious: TPowerPointApplicationSlideShowOnPrevious
    read FOnSlideShowOnPrevious write FOnSlideShowOnPrevious;
end;
Unit1.pas

Delphi-Quellcode:
TForm1 = class(TForm)
private
  FPowerpointApp: TPowerPointApplication;
  procedure DoSlideShowOnPrevious(ASender: TObject; const Wn: SlideShowWindow);
public
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  FPowerpointApp:= TPowerPointApplication.Create(Self);
  FPowerpointApp.OnSlideShowOnPrevious:= DoSlideShowOnPrevious; // <- Event zuweisen
end;

procedure TForm1.DoSlideShowOnPrevious(ASender: TObject; const Wn: SlideShowWindow);
begin
  // mache was beim Wechsel...
end;
Matthias
  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 06:29 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