Instanz erzeugen
-
Hi,
ich versuche aus IXRTextBox eine Instanz zu erzeugen. Ich erhalte dabei aber immer die Fehlermeldung, dass aus einer abstrakten Klasse keine Instanz erzeugt werden kann...
Auf welche Weise kann ich aus dieser Klasse eine Instanz erzeugen, die ich dann bearbeiten kann (SetText(...), Set...)?
lg absolut_nooby
-
IXRTextBox scheint eine abtsrakte Klasse zu sein. Von ihr kann keine Instanz erzeugt werden. Entweder suchst du dir eine Klasse, die die abstrakten Methoden von IXRTextBox implementiert oder leitest selber eine konkrete Klasse von IXRTextBox ab.
-
Selber ein konkrete Klasse ableiten würde heißen, alle virtuellen Methoden in myClass zu deklarieren?!
In der MSDN steht zu der Klasse IXRTextBox folgendes:
When you create a class instance, use an IXRTextBoxPtr smart pointer instead of a raw interface pointer
Wenn ich nun den IXRTextBoxPtr nutze, kann ich das Projekt compilen, aber es stürzt dann ab!
Hilft mir das IXRTextBoxPtr irgendwie weiter?
-
Du musst dazu natürlich ein Objekt deiner abgeleiteten Klasse erstellen. Zur Weitergabe nutzt du nur den Pointer auf das Interface.
-
Ist dasselbe Problem wie hier: http://www.c-plusplus.net/forum/278814
Es ist ein (COM) Interface. Du benötigst eine konkrete Klasse um ein Objekt zu erstellen.Ich denke, Du sollst die Interfaces sowiso nicht selbst implementieren, sondern die COM Infrastruktur und die entsprechende Implementation benutzen.
Simon
Edit:
MSDN, Silverlight for Windows Embedded: http://msdn.microsoft.com/en-us/library/ee502198.aspx
Lies die Dokumentation und studiere die Beispiele!Edit2:
Guck mal hier ein Bsp. http://msdn.microsoft.com/en-us/library/ee503609.aspxEdit3:
Es sieht zwar wie COM aus, doch ich denke es ist eine an COM angelehnte API.
-
@theta: Vielen Dank, vorallem für das 2.Edit!!! genau so ein Beispiel habe ich gesucht, nur leider (selber) nicht gefunden. Man sollte sich am Besten immer ALLE Klassen die davon erben anschauen... und nach Beispielen durchsuchen...
VIELEN DANK!