AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Bei OLE Server auf Ereignisse reagieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bei OLE Server auf Ereignisse reagieren

Ein Thema von Berni68 · begonnen am 6. Jun 2009 · letzter Beitrag vom 12. Jun 2009
 
Berni68

Registriert seit: 9. Jan 2006
Ort: Villingen
162 Beiträge
 
Delphi XE5 Professional
 
#1

Bei OLE Server auf Ereignisse reagieren

  Alt 6. Jun 2009, 18:36
Hallo zusammen,

das ist ein Ausschnitt der automatisch generierten Datei beim Typbibliothekenimport:

Delphi-Quellcode:
// *********************************************************************//
// DispIntf: FileAccessEventsObject
// Flags: (4096) Dispatchable
// GUID: {3D67DF18-9BC6-4470-A9E3-C820CB4E821C}
// *********************************************************************//
  FileAccessEventsObject = dispinterface
    ['{3D67DF18-9BC6-4470-A9E3-C820CB4E821C}']
    property Type_: ObjectTypeEnum readonly dispid 0;
    property Parent: Application readonly dispid 2130706434;
    property Application: Application readonly dispid 2130706433;
  end;

// *********************************************************************//
// DispIntf: FileAccessEventsSink
// Flags: (4096) Dispatchable
// GUID: {E51041E7-5DB6-4951-9F76-3ACA9B2E2A66}
// *********************************************************************//
  FileAccessEventsSink = dispinterface
    ['{E51041E7-5DB6-4951-9F76-3ACA9B2E2A66}']
    procedure OnFileResolution(const RelativeFileName: WideString; const LibraryName: WideString;
                               var CustomLogicalName: {??PSafeArray} OleVariant;
                               BeforeOrAfter: EventTimingEnum; const Context: NameValueMap;
                               out FullFileName: WideString; out HandlingCode: HandlingCodeEnum); dispid 50335665;
    procedure OnFileDirty(const RelativeFileName: WideString; const LibraryName: WideString;
                          var CustomLogicalName: {??PSafeArray} OleVariant;
                          const FullFileName: WideString; const DocumentObject: Document;
                          BeforeOrAfter: EventTimingEnum; const Context: NameValueMap;
                          out HandlingCode: HandlingCodeEnum); dispid 50335666;
  end;

// *********************************************************************//
// Schnittstelle: _IRxFileAccessEvents
// Flags: (272) Hidden OleAutomation
// GUID: {A612930B-F89B-41DB-82B1-3E1B0ED4C095}
// *********************************************************************//
  _IRxFileAccessEvents = interface(IUnknown)
    ['{A612930B-F89B-41DB-82B1-3E1B0ED4C095}']
    function Get_Type_(out Result: ObjectTypeEnum): HResult; stdcall;
    function Get_Parent(out Result: Application): HResult; stdcall;
    function Get_Application(out Result: Application): HResult; stdcall;
  end;

// *********************************************************************//
// Schnittstelle: IRxFileAccessEvents
// Flags: (384) NonExtensible OleAutomation
// GUID: {32E4A318-C5E8-11D2-B77F-0060B0F159EF}
// *********************************************************************//
  IRxFileAccessEvents = interface(IUnknown)
    ['{32E4A318-C5E8-11D2-B77F-0060B0F159EF}']
    function OnFileResolution(const RelativeFileName: WideString; const LibraryName: WideString;
                               var CustomLogicalName: PSafeArray; out FullFileName: WideString;
                               out HandlingCode: HandlingCodeEnum): HResult; stdcall;
    function OnFileDirty(const RelativeFileName: WideString; const LibraryName: WideString;
                          var CustomLogicalName: PSafeArray; const FullFileName: WideString;
                          const DocumentObject: Document; out HandlingCode: HandlingCodeEnum): HResult; stdcall;
  end;
kann mir eventuell jemand erklären, wie im Client die procedure OnFileDirty deklariert, eingebunden oder sonstwas werden muss, damit der Client das Ereignis mitbekommt.

Ein Beispiel wäre nett und wohl sehr hilfreich.

Warum findet man hierzu eigentlich keinerlei QuellcodeBeispiele?
Kurioserweise findet man ettliche Beispiele wie man solche OLE-Server bastelt, aber nicht wie man sie verwendet (allenfalls total abstrakte Ausführungen (incl. Delphihandbuch) ohne praktischen nutzen.)
Bernhard
  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 20:03 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