![]() |
Delphi-Version: 2009
Type von IDispatch
Hallo zusammen...
Ich hab mir einen Schnipsel Code nach Delphi übersetzt. Es geht um Microsoft MapPoint, falls das zukünftigen Suchenden bei der Forensuche hilft. Im original Codeschnipsel (hab ihn leider schon verworfen, gelöscht und find ihn im netz nicht wieder) wird geprüft ob sich ein Location-Typ oder ein PushPin-Typ hinter dem IDispatch verbirgt und nur das dann auch gecasted. So wie man es normal halt auch machen würde. Das MSDN hat mir verraten, dass an der Stelle nichts Anderes vorkommen kann. Nehme ich jetzt mal ungeprüft so hin. Meine vorläufige Lösung funktioniert zwar, ist aber irgendwie ziemlich häßlich.
Delphi-Quellcode:
Das muss doch eleganter gehen, oder? Nur so für die Code-Performance und meinen Seelenfrieden.var Loc: Location; Pin: PushPin; [..] try Loc:=(GottenDispatch as Location); except Pin:=(GottenDispatch as PushPin); end; Gruß, Toni |
AW: Type von IDispatch
![]() PS: Das wird vom AS intern auch verwendet. Und wenn man direkt hingeht, dann kommt man auch ohne die Exception des AS aus. (IS=Prüfen und AS=UmwndelnOderErschießen) |
AW: Type von IDispatch
Delphi-Quellcode:
if Supports(GottenDispatch, Location, Loc) then
// mach was mit Loc else if Supports(GottenDispatch, PushPin, Pin) then // mach was mit Pin else ; // und nu? |
AW: Type von IDispatch
Gleich so viel schöner der Code. :-D
Vielen Dank euch Beiden. Toni |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:24 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 by Thomas Breitkreuz