kansu_makugen
Geocacher
Hi,
mein guter Freund Murphy hat mal wieder zugeschlagen.
Ich wollte heute einen letzten Test mit dem Update meiner Cartridge machen. Auf meinem HTC Desire HD rennt das Ding durch wie Sau. Finaler Input wird eingegeben, Cartridge auf complete gesetzt und Unlock Code als Item ins Inventory gemoved und fertig. Keine Probleme.
Auf meinem alten Nokia 5800XM schleicht sie eher - was ja zu erwarten war - aber läuft an sich fehlerfrei. Bis zum finalen Input. Ich gebe also die korrekte Antwort ein, es kommen die paar Messages, dass ich das ganz toll gemacht hab und dann...
Es blitzt ganz kurz eine Fehlermeldung auf - so kurz, dass man sie quasi gar nicht lesen kann - und ich lande wieder bei dem Item in der Final Zone, bei dem ich den Input starten kann. Kein Unlock Code im Inventory.
Ein Blick ins Log-File verrät mir folgendes:
Jetzt vermute ich :hellsehen: , da es ja eine testkompilierte Catridge ist, dass der Unlock Code leer ist und deshalb diese Exception kommt. Das Komische ist wie gesagt, dass WhereYouGo, was ja auf OpenWIG basiert, keinen Fehler bringt. Dort steht in der Item Description "Der Unlock Code lautet none."
Bevor ich jetzt anfange und zerpflücke meine gesamte Cartridge auf der Suche nach dem Fehler; kennt ihr dieses Phänomen? Liegt es nur an einem leeren String?
mein guter Freund Murphy hat mal wieder zugeschlagen.
Ich wollte heute einen letzten Test mit dem Update meiner Cartridge machen. Auf meinem HTC Desire HD rennt das Ding durch wie Sau. Finaler Input wird eingegeben, Cartridge auf complete gesetzt und Unlock Code als Item ins Inventory gemoved und fertig. Keine Probleme.
Auf meinem alten Nokia 5800XM schleicht sie eher - was ja zu erwarten war - aber läuft an sich fehlerfrei. Bis zum finalen Input. Ich gebe also die korrekte Antwort ein, es kommen die paar Messages, dass ich das ganz toll gemacht hab und dann...
Es blitzt ganz kurz eine Fehlermeldung auf - so kurz, dass man sie quasi gar nicht lesen kann - und ich lande wieder bei dem Item in der Final Zone, bei dem ich den Input starten kann. Kein Unlock Code im Inventory.
Ein Blick ins Log-File verrät mir folgendes:
Nun spreche ich keine Java, also ab ins Netz. Dort finde ich folgendes zu dieser Fehlermeldung:10:2:2|0.0|0.0|100.0|1.0|:: java.lang.StringIndexOutOfBoundsException
An der entprechenden Stelle des Log-Files vom Android Phone wird die Description des Unlock Code Items geändert, etwa in der FormEs wurde versucht auf ein einzelnes Zeichen eines Strings zu zugreifen. Das ist natürlich möglich, jedoch darf dabei der Zugriffsindex nicht außerhalb des zulässigen Bereichs liegen. Das erste Zeichen eines Strings hat den Index 0, das letzte Zeichen hat den Index n-1, wenn n die Länge des Strings ist. Dazwischen ist der Zugriff erlaubt. Hat der String die Länge 0, so ist demnach auch kein Index zulässig.
Code:
objUnlockCode.description="Der Unlock Code lautet "..string.sub(Player.CompletionCode, 1, 15).."."
Jetzt vermute ich :hellsehen: , da es ja eine testkompilierte Catridge ist, dass der Unlock Code leer ist und deshalb diese Exception kommt. Das Komische ist wie gesagt, dass WhereYouGo, was ja auf OpenWIG basiert, keinen Fehler bringt. Dort steht in der Item Description "Der Unlock Code lautet none."
Bevor ich jetzt anfange und zerpflücke meine gesamte Cartridge auf der Suche nach dem Fehler; kennt ihr dieses Phänomen? Liegt es nur an einem leeren String?