![]() |
DispInterface in Programm nutzen?
Hallo,
ich versuche zur Zeit Map & Guide Routingfunktionalität in ein Delphi Programm zu integrieren. Um auf die Funktionen und Attribute zuzugreifen binde ich eine vorgefertigte Unit ein. In dieser sind viele Deklarationen folgender Art. Wie kann ich diese jedoch nun in meinem Programm nutzen? Im konkreten Beispiel möchte ich z.B. in meinem Programm auf das OnRouteCalculated event reagieren.
Delphi-Quellcode:
Thanx Salomon
// *********************************************************************//
// DispIntf: IMGCRoutingEvents // Flags: (4096) Dispatchable // GUID: {1230E29A-F89D-41F0-B65C-E0675451ECF6} // *********************************************************************// IMGCRoutingEvents = dispinterface ['{1230E29A-F89D-41F0-B65C-E0675451ECF6}'] procedure OnRouteCalculated(success: WordBool); dispid 1; procedure OnOptimized(success: WordBool); dispid 2; procedure OnWayPointsChanged; dispid 3; procedure OnOptionsChanged; dispid 4; procedure OnRouteReseted; dispid 5; end; |
Re: DispInterface in Programm nutzen?
Das war relativ knifflig.
Aber du mist eine EventDispatch (IUnknown, IDispatch) programmieren. Welches via Invoke die Nachrichten erhält. Da das relative viel zu erklären ist! Schau doch mal die Excel-Automationsdateien an (vorallem OleServer.pas). Dort ist sowas implementiert. |
Re: DispInterface in Programm nutzen?
Danke für die Hinweise, schau ich mir gleich mal an.
Wenn ich dann konkretere Fragen habe werde ich dich als Experten nerven ;) Thanx Salomon |
Re: DispInterface in Programm nutzen?
I. d. R. wird vom Delphi-TLB-Importer eine Wrapper-Klasse erstellt, welche die Events als "normale" Delphi-Events in der generierten Wrapper-Klasse bereitstellt.
Falls der Delphi-Automatismus nicht funktioniert, so kannst Du ja mal ![]() |
Re: DispInterface in Programm nutzen?
Die Wrapper Klasse konnte ich mit dem TLB Importer schon anlegen. Wir haben hier in Firma aus Sicherheitsgründen nur einen zentralen I-Net Zugang :( Ich probiers dannn mal weiter und schau gegen Mittag hier nochmal rein.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 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