P800 - Java Einsteigerproblem, der Emulator stürzt ab.

  • Hallo!


    Wollte gerade mal anfangen, mit JAVA und dem P800 zu programmieren, und hab erstmal sone Art HelloWorld-Programm geschrieben, welches ich Batzen nannte. Es sind ja ziemlich viele und eklige Schritte, die man da machen muss: Kompilieren, packen, aifbuilder, sismaker und wie sie alle heissen....


    Wenn ich jetzt aber den Emulator starte:


    C:\Programme\P800\UIQ-SDK\epoc32\release\winscw\udeb\pjava_g -Dcom.symbian.appName=Batzen -cd C:\Programme\P800\UIQ-SDK\erj\Batzen Batzen wait


    kommt die Fehlermeldung:


    Unable to change directory
    Unable to initialize threads: cannot find class java/lang/Thread
    Could not create the Java virtual machine


    Nun gibt es da ja einige Umgebungsvariablen, Pfade etc, also hier kommen sie:


    Das JavaTM 2 SDK, Standard Edition, Version 1.4.1 ist installiert in c:\Programme\j2sdk\


    Das Projekt liegt in C:\Programme\P800\UIQ-SDK\erj\Batzen. Darin sind alle Dateien, keine Unterverzeichnisse


    classpath:
    c:\Programme\j2sdk\lib;C:\Programme\P800\UIQ-SDK\epoc32\java\lib\classes.zip;C:\Programme\P800\UIQ-SDK\erj\classes;C:\Programme\P800\UIQ-SDK\erj\Ext\qawt.jar;C:
    \Programme\P800\UIQ-SDK\erj\ext\util.jar;C:\Programme\P800\UIQ-SDK\epoc32\java\ext\javaphone.jar


    epocroot:
    C:\Programme\P800\UIQ-SDK\


    Ich habe mich relativ eng an die Anleitung auf korelstar.de gehalten und auch vorher "devices -setdefault @UIQ_70:com.symbian.UIQ" aufgerufen, was auch immer das bewirkt.


    Kann mir bitte jemand sagen, wo das Problem liegt?


    vielen Dank,
    kernelpanic

  • Der Emulator erwartet, dass das Java-Programm auf Laufwerk T: liegt. Glücklicherweise kann man mit der Umgebungsvariable _epoc_drive_t ein virtuelles Laufwerk für den Emulator erzeugen (dieses wird auch nur im Emulator genutzt, in Windows selbst hast du dadurch kein Laufwerk T: ). Für dich bedeutet das folgendes:


    (einmal ausführen)
    SET _epoc_drive_t=C:\Programme\P800\UIQ-SDK\erj


    (Emulator starten)
    C:\Programme\P800\UIQ-SDK\epoc32\release\winscw\udeb\pjava_g -Dcom.symbian.appName=Batzen -cd T:\Batzen Batzen wait



    Hättest du die Batch-Dateien von meiner Anleitung genommen, hättest du das Problem nicht ;-) Es kann nämlich sein, dass bei dir noch mehr Umgebungsvariablen fehlen (z.B. epocroot). Guck dir am Besten mal die Batch-Dateien an.


    Kristof.

  • hi korelstar!


    Erstmal vielen Dank!


    Ich habe mir von anfang an Deine Batchdateien ageguckt und damit gearbeitet. Da ich die ganzen Zusammenhaenge aber noch nicht so richtig verstehe, bringt es mich nicht wirklich weiter, einfach Deine Batch Dateien auszufuehren.


    Sie sind aber super zum rumprobieren!


    Habs noch nicht ausprobiert, aber ich gehe einfach mal davon aus, dass das Problem dann behoben ist und Danke Dir ganz herzlich!


    kernelpanic

  • es geht jetzt tatsaechlich! super, danke!


    Ein Problem, das ich noch habe: Wenn ich Dein Beispielprogramm verwende, klappt es super im emulator, aber nachdem es im P800 installiert und gestartet wird, kommt nur einmal kurz "Starting.." in so einer kleinen blauen Box aufm Bildschirm. Nach zwei Sekunden verschwindet die Meldung wieder uns das war alles.


    Woran liegt das?


    Danke Dir!
    kernelpanic


    EDIT: Hab grad in den docs gelesen, dass ich das jdk 1.1.8 brauche, habe aber 1.4.1. Koennte es das sein? Welches benutzt Du?

  • Am JDK wird es wahrscheinlich nicht liegen. Zum Kompilieren benutze ich auch das neuste (1.4.1), lediglich der AIF-Builder braucht ein älteres JRE.


    Ich denke eher, dass es am qawt-Package liegt, das fehlt. Lies dir mal den Abschnitt "Java-Klassen für die Benutzeroberfläche UIQ" auf meiner Seite durch. Möglicherweise fehlt dir die qawt.jar.


    Kristof.

  • Moin!


    Nach ein paar Tagen habe ich jetzt meine erste Anwendung fertig. Ist bloss ein JAVA-Frontend fuer ein kleines Diskussions-Forum. (In Version 2 kann man dann evtl. von unterwegs Telefon-Treff lesen und schreiben :)


    Im Emulator funktioniert das Programm praechtig, auf dem P800 nicht. Es startet, aber die Buttons loesen aus irgendeinem Grund keine Aktionen aus. Auch wenn ich im Menue auf Exit gehe, fragt er im Emulator nach, ob man wirklich schliessen will und tut das nach einem JA auch. Auf dem P800 passiert nach "Exit" genau garnichts.


    Ich kann auch gerne die Quellen verschicken, falls das noetig ist.


    vielen Dank,
    kernelpanic


    EDIT: Das Programm stuerzt auf dem P800 (und nur da) auch hin und wieder ab: Programm: AWT-Server 00, Ursachencode: KERN-EXEC, Ursachennummer 3.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!