![]() |
IInterface -> Variant
Hi,
wie kann ich den Typ IInterface in den Typ Variant umwandeln? Ich versuche, ein Formular an eine Funktion per IInterface zu übergeben (das funktioniert), da ich aber die pas bzw. dcu-dateien von dem formular das per IInterface übergeben wird nicht benutzen will (das tool soll keine freeware sein), möchte ich die IInterface-Variable in den Typ variant umwandeln, um in der funktion wieder mit dem Formular zu arbeiten, ungefähr so:
Delphi-Quellcode:
hmm könnt ihr mir da wohl weiterhelfen?
procedure meineprozedur(Form:IInterface);
var V:Variant; begin v := form; //das funtzt bei mir zwar, aber dann kommt in der nächsten zeile n fehler... v.memo1.text := 'meintext'; end; |
Re: IInterface -> Variant
Interfaces die über Variants und somit über späte Bindung verfügen sollen müssen von IDispatch abstammen.
Gruß Hagen |
Re: IInterface -> Variant
Zitat:
hab deinen tip gerade ausprobiert, dann kommt allerdings in der runtime ne fehlermeldung "EIntfCastError - Schnittstelle nicht unterstützt" hier mein testcode:
Delphi-Quellcode:
hmm wieso funtzt das net :|
var V:variant;
I:IDispatch; begin i := (form1 as idispatch); v := i; v.button1.caption := 'test'; end; |
Re: IInterface -> Variant
implementiert form1 ein Interface, das von IDispatch abstammt oder IDispatch??
Ich denke du hast negaH falsch verstanden. Ein Typecast macht das nicht |
Re: IInterface -> Variant
hi,
ich hab n einfaches IDispatch, das das formular in ne variable packt, bei der man allerdings keine extra unit braucht, z.b. wie beim webbrowser die property document... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:23 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