Announcement

Collapse
No announcement yet.

Ereignisse der DMO-COM Objekten der MSDE nutzen, aber wie??

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ereignisse der DMO-COM Objekten der MSDE nutzen, aber wie??

    Hallo,

    ich habe folgendes Problem. Ich möchte auf Ereignisse der DMO-COM Objekte reagieren können die mit der MSDE installiert werden. Dazu habe ich wie sonst auch über "Typbibliothek importieren" die Komponentenwrapper generieren lassen. Bis dahin alles gut, aber ich kann die Ereignisse nicht nutzen, da die Methode "InvokeEvent" ausmakiert ist. Ursache die Methoden der SinkObjekte in der Interface-Beschreibung der DMO-Typbibliothek besitzen keine DISPID und somit kann auch InvokeEvent die Ereignisse nicht weiterleiten.

    Wie soll den der Mechanismus der Ereignisse ohne diese DISPID überhaupt funktionieren?????

    Bitte um schnelle Hilfe

    Mfg

    Jörg Seihter

  • #2
    Hallo,

    wir werden es wohl niemals erleben, dass es eine Delphi-Version gibt, die eine beliebige Typbibliothek fehlerfrei importieren kann :-)

    Ich würde daher den Sourcecode der Wrapperkomponente vom Freeware-Tool <i>Delphi Event Sink Generator</i> (EventSinkImp.exe) generieren lassen (Download <i>http://www.techvanguards.com</i> ) und schauen, was dort passiert. In der Regel ist dieses Tool beim Import cleverer als Delphi.

    Wenn ich in VB.NET die Typbibliothek vom <i>Microsoft SQL DMO Object</i> einbinde und eine Variable mit <i>WithEvents</i> deklariere, bietet die IDE die Events zur Auswahl an:
    <pre>
    Dim WithEvents aObj As SQLDMO.Restore

    Private Sub aObj_Complete(ByVal Message As String) Handles aObj.Complete

    End Sub
    </pre>
    Daher muss der Zugriff auch in Delphi möglich sein, wenn man auf eine fehlerfrei importierte Typbibliothek zurückgreifen kann.
    &#10

    Comment


    • #3
      Hallo und besten Dank für den Tip mit dem Programm "EventSinkImp.exe". Jetzt läuft alles genau nach Plan :-)

      Mfg

      Jörg Seithe

      Comment

      Working...
      X