AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Problem mit COM Event Automation - EventSinkImp
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit COM Event Automation - EventSinkImp

Ein Thema von megaplage · begonnen am 27. Jan 2007 · letzter Beitrag vom 14. Mai 2007
 
megaplage

Registriert seit: 27. Jan 2007
8 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Problem mit COM Event EventSinkImp

  Alt 27. Jan 2007, 09:41
Vielen Dank, aber daran liegt es nicht. Habe D2005 verwendet.

Hier mal ein Beispiel meiner Versuche mit dem Ereignis SessionLogout

aus der TLB:

Delphi-Quellcode:
_CallbackSessionLogout = interface;
_CallbackSessionLogoutDisp = dispinterface;
ISessionLogoutSubscriptionCallbackEvents = dispinterface

  _CallbackSessionLogout = interface(IDispatch)
    ['{C5F3FBC2-5ACE-37C2-A400-B146B40B9656}']
  end;

  _CallbackSessionLogoutDisp = dispinterface
    ['{C5F3FBC2-5ACE-37C2-A400-B146B40B9656}']
  end;

  ISessionLogoutSubscriptionCallbackEvents = dispinterface
    ['{D99CA617-21FD-345D-9936-C23238B7AB4F}']
    procedure OnLogout; dispid 1610743808; !!! diese Zeile fehlt in der unit vom PASTLWTR : 1.2 ???
  end;

  _SessionLogoutSubscription = interface(IDispatch)
    ['{8B4C37BD-43ED-3215-8259-968FD8102B81}']
    function Get_ToString: WideString; safecall;
    function Equals(obj: OleVariant): WordBool; safecall;
    function GetHashCode: Integer; safecall;
    function GetType: _Type; safecall;
    procedure add_OnLogout(const value: _CallbackSessionLogout); safecall;
    procedure remove_OnLogout(const value: _CallbackSessionLogout); safecall;
    property ToString: WideString read Get_ToString;
  end;

  _SessionLogoutSubscriptionDisp = dispinterface
    ['{8B4C37BD-43ED-3215-8259-968FD8102B81}']
    property ToString: WideString readonly dispid 0;
    function Equals(obj: OleVariant): WordBool; dispid 1610743809;
    function GetHashCode: Integer; dispid 1610743810;
    function GetType: _Type; dispid 1610743811;
    procedure add_OnLogout(const value: _CallbackSessionLogout); dispid 1610743812;
    procedure remove_OnLogout(const value: _CallbackSessionLogout); dispid 1610743813;
  end;

  CoCallbackSessionLogout = class
    class function Create: _CallbackSessionLogout;
    class function CreateRemote(const MachineName: string): _CallbackSessionLogout;
  end;
1. Versuch : Verwendung der von EventSinkImp generierten Event-Wrapper

Er erzeugt eine Klasse TCC_APIISessionLogoutSubscriptionCallbackEvents, die habe ich so bemüht wie es in der Hilfe gesagt wird -> Interface wird connected aber wenn es zum Ereignis kommen soll keine Reaktion.

Delphi-Quellcode:
te:=session.GetSessionLogoutSubscription;
test:=TCC_APIISessionLogoutSubscriptionCallbackEvents.Create(self);
test.OnLogout:=oncclogout;
test.Connect(te);

2. Versuch : direkte Programmierung wie bei http://www.techvanguards.com/ beschrieben

Geht teilweise aber wenn es interessant wird können Klassen nicht gecastet werden oder Objekt nicht registriert und so Sachen

Ich vermute ja dass ich irgendwie die Methode add_OnLogout(const value: _CallbackSessionLogout); verwenden muss aber das endet mit besagten Fehlern

So, wenn jemand durch das Thema ist sollte er mit diesen Informationen zurechtkommen - lt. den Angaben diverser Delphi COM Seiten ?!
  Mit Zitat antworten Zitat
 


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 16:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz