COM-DLL für Windows Mobile
Hallo Zusammen,
gibt es für Windows Mobile (ab Version 6) die Möglichkeit eine DLL zu schreiben und zu registrieren, welche dann per Javascript vom Pocket IE aufgerufen werden kann. Auf einem Desktop Rechner funktioniert dies einfach mit dem registrieren der geschriebenen DLL mit REGASM und dem Javascript Aufruf
var xmlObj = new ActiveXObject("MyNamespace.MyProgId");
Wenn ich dies allerdings auf Windows Mobile versuche hat bisher keiner meiner versuchten Wege zum Erfolg geführt.
Wer hat soetwas schon einmal gemacht, oder kann mir sagen ob es überhaupt funktioniert? Muss die DLL in C++ geschrieben werden, oder geht es auch mit C#?
Vielen Dank schonmal.
ASI
Liste der Anhänge anzeigen (Anzahl: 1)
AW: COM-DLL für Windows Mobile
Bisher noch nicht gemacht, aber du kannst sie wohl nicht in c# schreiben. Diese Klassenbibliotheken DLLs die du mit C# machen kannst, sind dann eben .NET-CF-Erweiterungen, also wenn du Funktionen und Namespaces in mehreren Projekten benutzen willst und die deswegen gleich in eine DLL-Datei packst. Aber diese sind keine normalen DLLs, die haben keine export-Funktion in dem eigentlichen Sinn, welche für die COM-Api ja notwendig ist.
AW: COM-DLL für Windows Mobile
Ok, vielen Dank für den Hinweis.
Dann müsste die DLL wahrscheinlich in C++ geschrieben werden, oder wie sehe ich das?
Hat das schon jemand gemacht und diese dann erfolgreich am Gerät registriert?
Vielen Dank für weitere Hinweise.
ASI
AW: COM-DLL für Windows Mobile
Fürs Registrieren gibt's verschiedene Möglichkeiten, die in der ersten Antwort dieses Threads beschrieben sind: Register a dll on windows ce (Englisch)
AW: COM-DLL für Windows Mobile
Mmmh, ok. Ich habe 2 dieser Möglichkeiten probiert, allerdings ohne Erfolg.
REGSRVCE meldet das die Datei nicht registriert werden kann da keine COM Assembly
und bei einer CAB Datei kann beim .NET CF nicht ausgewählt werden, das diese direkt registriert werden soll.
Bisher versuche ich nur ein "Hello World" Aufruf so ans laufen zu bekommen, nur scheitert es immer beim registrieren und ich habe keine Kombination gefunden welche funktionieren müsste:
Folgende Einstellmöglichkeiten stehen zur Auswahl:
Visual Studio Projekttyp (Klasse, Klasse für intelligente Geräte, C++ Projekt)?
Registrierungsart (die 3 genannten aus dem Thread klingen sinnvoll)?
Sonstige Einstellungen um im Pocket IE die DLL zu kennen?
Im Moment bin ich ratlos welcher Weg aufgrund von technischen Gegebenheiten auszuschließen ist (z.B. C# Klasse?) und welcher Weg sicher zum Ziel führt.
AW: COM-DLL für Windows Mobile
Hallo Zusammen,
um eine DLL in Windows Mobile im Pocket IE verwenden zu können, MUSS diese in C++ entwickelt worden sein und am einfachsten über ein Bereitstellungsprojekt (CAB) hochgeladen werden. Der Pocket IE unterstützt außerdem nicht den Befehl new ActiveX(...) sondern die DLL muss mittels GUID als <object classid....> in den HTML Code eingebunden werden um damit per Javascript zugreifen zu können.
Dieses SDK Beispielprojekt hat mich der Lösung zu dem Problem entscheidend weiter gebracht:
http://msdn.microsoft.com/en-us/library/bb158780.aspx
Vielen Dank.