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!
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:
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.
Comment from: cozmint Visitor
Thank you very much for sharing!
Comment from: Jose Visitor
Comment from: Ressy Visitor
God Bless You!
(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.
Comment from: Member
@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.
Comment from: Nuno Visitor
Thanks a lot...
A very long time that a i have to solve this problem.
Comment from: Niks Visitor
For the same OS(Windows 7), with wtk 2.5 the emulator stopped working after half a second in eclipse Ide. So for that what could be the solution.