Hallo Community,
habe mal ne kurze und bestimmt auch einfache Frage, ich habe eine Anwendugn entwickelt, die sowohl mit, als auch ohne PocketPC, verwendet werden können soll.
Die Anwendung beinhaltet einen Verweis auf die OpenNetCF.Desktop.Communication Bibliothek.
Mein Problem besteht darin, dass falls ein Kunde keinen PocketPC (also auch kein ActiveSync) hat, gibt es unter windows im SystemFolder die rapi.dll nicht.
logisch! ist ja auch kein Problem einfach mit FileExists abgefangen.
Jetzt habe ich aber einen Klassenmember von Typ OpenNet.Desktop.Communication.RAPI welcher (wie der Name erahnen lässt) bei der Instanzierung auf die rapi.dll aus dem windows system32 folder zugreift.
Folge >> Messagebox von OpenNet CF !!
jetzt habe ich den KlassenMember als object deklariert. Und wollte diesen dann nachher einfach dauerhaft in einen OpenNet.Desktop.Communication.RAPI Member casten. Die Lösung ist bestimmt einfach allerdings komm ich net drauf.
Hoffe jemand hat ne Idee.
Schon mal THX
Also ich würde sagen, eine neue Variable vom Typ OpenNet.Desktop.Communication.RAPI erstellen, und in diese Variable casten. Anders dürfte es nicht gehen.
A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee
Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.
Original von Thorsten1983
habe mal ne kurze und bestimmt auch einfache Frage, ich habe eine Anwendugn entwickelt, die sowohl mit, als auch ohne PocketPC, verwendet werden können soll.[...]
Mein Problem besteht darin, dass falls ein Kunde keinen PocketPC (also auch kein ActiveSync) hat, gibt es unter windows im SystemFolder die rapi.dll nicht.
Äh, was hat denn der Benutzer, wenn er keinen PocketPC hat? Luft? Normales Windows.
Man kann keine Anwendungen entwickeln, die sowohl auf dem PocketPC als auch auf normalem Windows laufen, zumindest nicht ohne reichlich IfDefs und Recompilation.
ne das ist eine Applikation die auf dem Desktop läuft und als Addon gibt es noch eine PocketPC version der Software.
Habe das Problem einfach umgangen, indem ich den member als object deklariert habe, dann habe ich geguckt ob ActiveSync vorhanden ist und es sich um eine PocketPC lizenz handelt.
Ist dies der Fall, habe ich einfach das Object in OpenNet...RAPI gecastet und an eine Methode weitergegeben die die benötigten Operateionen für mich macht.
THX nochmal
Dir ist aber schon klar, dass eine CF-Applikation (exe) nicht unter normalem .NET läuft und umgekehrt..... Grund sind die verschiedenen Framework-Referenzen.
CF und normales .NET sind allenfalls sourcecode-kompatibel.
ja klar 🙂
es gibt folgende Varianten des Programms
DESKTOP <--> POCKETPC
Hierbei kommunizieren die beiden Anwendungen über OpenNetCF
dann gibt es
DESKTOP
Reine Desktop anwendung
und es gibt
POCKETPC
Reine PocketPC Anwendung
Physikalisch sind es 2 Projekte 1x .Net Framework und 1x Compact Framework
jedes Programm schaut selbst nach in welcher Variante es vorliegt.