Are you unable to run the JavaME SDK 3.0 emulator on Windows 7? Workaround found!
By Robin Smidsrød on May 8, 2010 | In Software Development
If you get this error message when trying to run midlets through the built-in emulator of the JavaME SDK 3.0, try disabling DEP for runMidlet.exe.
Error message given by Netbeans and/or Eclipse:
*** Error ***
Failed to connect to device 0!
Reason:
Emulator 0 terminated while waiting for it to register!
Data Execution Prevention (DEP) configuration can be found at the following place in Windows: Control Panel > System Security > System > Advanced system Settings > Advanced tab > Performance > Data Execution Prevention.
Add this file to the DEP exclusion list:
<javame-install-dir>\runtimes\cldc-hi-javafx\bin\runMidlet.exe
If things work for you now, complain loudly to Sun (now Oracle) that they need to make software without buffer overflows.
Personally I filed a bug-report against the JavaME SDK 3.0. You should do that too, or make your voice heard on the same bug-report that you're having this problem as well.
6 comments
(Don't know how you figured that out but you're a freakin' genius!!)
For me the emulators worked, but after installing nokia's sdk everything was ruined.
@Ressy Using Process Monitor from sysinternals.com indicated that the .exe had a buffer overflow error. Data Execution Prevention (DEP) is designed to block that kind of thing, because it is a potential security threat. Putting the .exe into the exception list allows it to overflow as much as it wants. Sun/Oracle should really fix their code so that hacks like these are not required.It might be that the Nokia emulator is experiencing a similar problem. Looking at Process Monitor while you're trying to start your MIDLet should probably identify why some .exe misbehaves.
A very long time that a i have to solve this problem.
Comments are closed for this post.
| « Apple, the devil in our midst | How to get a PSGI app running with mod_fastcgi on Ubuntu with Apache2 » |



