2010-08-30 7 views
5

Ich versuche, _TLB importieren Einheiten für Outlook 2003, 2007 und 2010 (und auch andere OLE-Server) analog zu denen, die mit Delphi für Outlook 2000 und 2002 gebündelt. Ich konnte jedoch nicht die Typ Bibliothek importieren Generieren Sie auch den Code zum Erfassen von Ereignissen von den OLE-Servern, der in den gebündelten Einheiten gefunden wird. Die Option, „Gene Komponente Wrapper“ erzeugt nur Wrapper für Server, die direkt instanzierbare sind aber nicht für Objekte, die über Methoden anderer Objekte zurückgegeben werden, nur wie TInspector, TExplorer usw.Ist es möglich, dass Delphi automatisch Ereignisereigniscode für eine importierte OLE/COM-Typbibliothek generiert?

ich natürlich das Event-Handling-Code erstellen können ich selbst aber das wäre wirklich mühsame Arbeit.

Weiß jemand, ob der mit Delphi 2010 enthaltene Importer (tlibimp.exe) optimiert werden kann, um diesen Code zu generieren? Ich bezweifle wirklich, dass Borland in dem Tag die vorhandenen Outlook2000.pas und OutlookXP.pas Einheiten manuell erstellt hat ...

Gibt es vielleicht andere Tools, die das tun können?

+0

Oliver diesen Link http://chrisbensen.blogspot.com/2007/07/how-to-import-type-library- from-command.html – RRUZ

+0

@RRUZ: Danke. Ich kenne diesen Artikel. Das war eigentlich mein Ausgangspunkt. Aber leider gibt es keine Informationen über das Generieren von Event-Wrappern, besonders für nicht-erzeugbare Server ... –

Antwort

4

Gute Frage! Ich habe nie bemerkt, dass diese Komponenten nicht erstellt wurden (ich verwende nur Word_TLB). Nachdem ich ein wenig mit tlibimp gespielt habe, habe ich herausgefunden, dass Sie das -Yc+ Flag benötigen. Wahrscheinlich sind alle ignorierenden Flags standardmäßig aktiviert.

NB: Das ist auf Delphi 7 mit tlibimp.exe Version 7.0.4.453

+0

Danke, aber leider kein Glück damit. Ich habe zwei weitere Klassen ('TOutlookApplication' (einschließlich Ereignisse!) Und' TDoNotUseMeFolder' (?!)) Mit der '-Ya +' -Option, aber das ist es auch ... Noch keine 'TInspector' oder' TExplorer' in der generierten file ... :( –

+0

BTW: Die Befehlszeilenhilfe für 'tlibimp.exe' zeigt die Standardzustände für jede Option an und entsprechend (auch durch meine Tests verifiziert)' -Yc' ist bereits an (dh '+') von Standard –

+0

@Oliver Giesen: Ich habe tlibimp.exe von Delphi 7 verwendet. Dies sind die Standardoptionen, wenn ich /?: -C- -P + -Ic- -Ip- -Ha + -Hr + -Hs + -Cw- -Ps + - verwende. Pt- -O + -R + -XM- -W + -Wc + -Yc- -Yh -Yp- -Yr- -Ya- (Standard-C++ Optionen nicht enthalten), so habe ich nur die Option -Yc zu -Yc + geändert und es hat funktioniert –