Ein VB6-Projekt läuft nicht unter Windows CE oder Windows Mobile, deshalb haben wir nach einer Möglichkeit gesucht ein bestehendes VB6 Programm zu kompilieren.

Drei gefundene Möglichkeiten:

  • eVB: eine auf VBScript basierende Sprache, die mobile Geräte bedient; wird nicht mehr unterstützt
  • AppForge: Die IP-Rechte gingen an Oracle, welche für die AppForge-Produkte aber keinen Support geben. (Quelle)
  • VB.NET: Die am ehesten nutzbare Option, um ein VB-Projekt auf ein mobiles Gerät zu bringen

Abhängig von der Entwicklungsumgebung (Visual Studio 2005, 2008 oder 2012) sind unter Umständen weitere SDKs zu installieren. Grund ist einerseits eine entsprechende Debugging-Umgebung und andererseits die Möglichkeit, die Applikation entsprechend zu veröffentlichen.  Ein Vorteil, durch die .NET-Entwicklung, ist die Portabilität der Anwendung,  auf jedem  System, mit einer bestimmten .NET-Umgebung, sollte  das Programm laufen.

vb.net unter Windows CE:
http://www.codebase.com/support/kb/?article=C01109

Entwickeln und testen für Mobile
OS: http://msdn.microsoft.com/de-de/library/bb384033%28v=vs.90%29.aspx

1. Schritt: Umwandlung in VB.NET-Projekt

Probleme hierbei bereiten Funktionen, die nicht übernommen wurden bzw. gänzlich andere Strukturen aufweisen. Auch Besonderheiten bezüglich der Datentyp-Restriktionen sind zu beachten. Größte Unwägbarkeit kann zum Tragen kommen, wenn Listen oder Arrays (in Controls) als Start-Index nicht mehr die 1, sondern die 0 benutzen. (Details siehe Microsoft-Seite)

Beispiele:

  • Funktion Unload(): existiert in VB.NET nicht mehr
  • Array als Parameter muss die Dimension, die später genutzt wird, schon mitbringen und darf nicht allgemein als Array angegeben werden
  • Prozedurdeklaration „As Any“: explizit genutzten Datentyp angeben und die Deklaration in den entsprechenden Fällen überladen
  • Formulare können nicht einfach in eine lokale Variable des Typs Form übergeben werden, um dann auf die Controls dieser zugreifen zu können. Dementsprechend müssen Parameter-Typen angepasst werden, da sie andernfalls gecastet werden müssen oder gleich den entsprechenden Typ als Parameter mitbringen müssen.

 

Der Versuch wurde wegen nicht absehbarer Unwägbarkeiten abgebrochen. Das Programm „LTS“ bleibt unter VB6 bestehen, es funktioniert entgegen anderer Meinungen auch auf 64 Bit Systemen, somit besteht kein akuter Veränderungsbedarf mehr.