Announcement

Collapse
No announcement yet.

Programm läuft nicht auf Handheld

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Programm läuft nicht auf Handheld

    Hallo, ich versuche mich gerade daran, ein Programm für einen Casio Handheld (DT-X10) zu schreiben. <br>
    Auf dem Handheld ist das Compact Framework installiert und ich dachte (ganz blauäugig) ich könnte mal eben mit Delphi 2005 eine Windows Forms Anwendung schreiben (mir reicht ja schon mal die "Hallo Welt"-Geschichte zum testen). Die Exe habe ich erstellt und auch auf den Handheld kopiert. Wenn ich die aber starte, dann erhalte ich nur Fehlermeldungen (missing managed exception etc). <br><br>
    Kann mir jemand sagen, was ich brauche, damit eine in Delphi 2005 erstellte .NET Anwendung auf dem Handheld läuft ? <br><br>
    Gruß<br>
    Holger

  • #2
    Ich kann dir nichts zu Delphi sagen, aber generell gilt, dass zwar die Namespaces gleich heissen (z.B. Windows.Forms), aber andere Assemblies referenzieren. Genauso musst du auch den MsCorLib-Verweis auf das CF-Pendant ändern.

    .NET-Assemblies sind zwar auf der Bytecode-Ebene kompatibel, aber wenn du mit einer normalen WinForms-Anwendung auf einen PDA gehst, fehlen die ganzen Assemblies auf dem Ding, denn dort ist nur CF installiert.

    Das ist wie bei Java. Da gibt es ein spezielles Handy-Profile (Mobile Edition, ME). Wenn du versucht mit einer 08/15-Java-Anwendung aufs Handy zu gehen, fehlen dort auch die Klassen des normalen SE-Frameworks.

    Mein Tip: Lösche mal alle Referenzen und füge die CF-Assemblies per Hand ein. Macht sonst eigentlich der Projekt-Wizard für WinForms- oder CF-WinForms-Anwendungen.

    Und eine Warnung: Dem CF (1.0) fehlt so ziemlich alles was an .NET schön und komfortabel ist. Sehr bescheiden ist die Zusammenarbeit mit unmanaged Code (da prockelt man die Bits förmlich per Hand aus dem Speicher) sowie die XML-Unterstützung. Zudem ist das Framework aus meiner Sicht sehr buggy. An etliche Features des PocketPC kommt man nur über unmanaged Code-Aufrufe ran. Das Einspielen der ServicePacks ist ein Muß, aber schwierig wegen HardReset (Neuinstallation der ServicePacks notwendig). Dazu kommt, dass MS es nicht für nötig befunden hat, dem CF eine eigene Hilfe zu spendieren. Wo nur Methoden oder Klassen fehlen ist das zu verschmerzen, aber wenn Methoden schlicht anders funktionieren als ihre "großen Brüder" (z.B. Path.Combine), darauf aber mit keiner Zeile eingegangen wird, dann ist das mehr als ärgerlich.

    Für halbwegs anständige Programmierung unter CF empfehle den Einsatz eines Addon-Frameworks: SmartDeviceFramework (SDF). Open-Source: http://www.opennetcf.org. Es bügelt die schlimmsten Schwächen des CF aus und stellt etliches an wichtiger Funktionalität zur Verfügung.

    Aber PDAs sind nunmal Spielzeug.... :

    Comment


    • #3
      1, Eine normale Windows-Form-Anwendung wird generell nicht auf dem .NET-Framework laufen, da dort (wie der Name schon vermuten läßt) einiges am Framework fehlt, was in den Winforms-Exes vorhanden ist. Du mußt also ein Projekt für CF erstellen. Und da kommen wir schon zum Punkt 2<br><br>

      2, Delphi unterstützt (eigentlich keine IDE außer VS.NET) keine CF in der IDE, da die entsprechenden GUI-Designer nicht im (CF-)Framework vorhanden sind, sondern direkt in die IDE entwickelt wurden. Ohne IDE-Unterstützung soll es möglich sein Programme für CF zu kompilieren.
      In den Newsgroups von Borland und in den Blogs wurde darauf schon öfters eingegangen

      Comment


      • #4
        Vielen Dank für die schnellen Anworten. Das mit der fehlenden Unterstützung für das CF habe ich gerade schon in einem Beitrag von Andreas Kosch gefunden... Sehr traurig. War das doch eigentlich der Grund für mich, mich mit Delphi 2005 anzufreunden... <br>
        ich schaue mir mal SharpDevelop an, ob das für mich eine Alternative ist... <br>
        Gruß<br>
        Holge

        Comment

        Working...
        X