Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
End Users
Pocket PCActiveSyncMultimediaEBooksWirelessSmartPhones
Developers
Windows MobileSmartPhonesWinCE ProgrammingVB for WinCEVC++ for WinCEPlatform BuilderTest Tools
PocketPC DirectoryFree SoftwareWeb Resources
Related Topics
PalmMobile PhonesMore Topics ...

Pocket PC Forum / Developers / VC++ for WinCE / July 2008

Tip: Looking for answers? Try searching our database.

eVC: sdk question

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Acha - 21 Jul 2008 17:39 GMT
Hi folks, I am trying to compile a project and this appears near the end. The
.exe has been created.

An application targeting a standard SDK for windows CE .NET and built for
the ARMV4I CPU cannot be run on the emulator device. In order to run this
application on any cpu other than the emulator, you will have to install an
SDK that is compatable with the standard SDK for windows CE .NET, then target
a shadow platform pertaining to that SDK. Please see the evc help
documentation for additional details.

I am completly baffled on this one. I have done a search on some of the key
words "shadow platform" even emulator but found nothing. Any help would be
appreciated.

Thanks,

Mike
Paul G. Tobey [eMVP] - 21 Jul 2008 18:09 GMT
Don't use Standard SDK.  It's not "standard", nor is it the SDK for any real
device.  Windows CE is not like desktop Windows.  There's not a huge set of
things that every computer you want your code to run on will have.  Windows
CE is *entirely* under the control of the device OEM.  He might have display
support, OR NOT.  Further, there might be support for windows, dialogs,
message loops, OR NOT.  It should be clear that, in this situation, you must
have a specific SDK for a specific device.  Windows Mobile devices, since
they are all supposed to be relatively standard, all share the same basic
SDK, but that's the exception, when you're talking about general Windows
CE-based devices.  Each device OEM should have an SDK for each device they
sell and you need to use the right one to make your EXE.

The real problem here is that the emulator that eVC knows about is
**X86**-based, NOT ARM-based.  The EXE that you generate for ARM probably
would run, assuming that the emulator target you actually try to run it on
has the Standard SDK components built into its operating system.  However,
eVC doesn't know about the ARM emulator and can't do the right thing with
it.  Why the error message is so screwy, I suppose, is explained by the fact
that eVC had been out for years before the ARM emulator was ever released,
so this probably didn't get much of a test.

The basic action for you, though, is "install and use the SDK for your
*actual target device*".

Paul T.

> Hi folks, I am trying to compile a project and this appears near the end.
> The
[quoted text clipped - 17 lines]
>
> Mike
Acha - 22 Jul 2008 19:31 GMT
Thanks Paul, I was supposidily sent the sdk and it seemed to install OK, it
shows up in the help menu. I will contact the supplier with this query now I
know what it is all about.

The exe does run on the target cpu.

Mike

> Don't use Standard SDK.  It's not "standard", nor is it the SDK for any real
> device.  Windows CE is not like desktop Windows.  There's not a huge set of
[quoted text clipped - 43 lines]
> >
> > Mike
Acha - 25 Jul 2008 18:49 GMT
Hi Paul,

I have attached the device, I have gone to Build - Set active platform , I
can see my device and have selected it. EVC locks up!

ActiveSync is working, the syncronise files option has been selected only.
The question is what files should be selected? Does EVC do this automaticaly?

The other thing I have noticed - when I select the active WCE configuration
and change it to my device an error message comes up. "The resource file is
open for editing, continuing will unload the resource file". So I click OK,
and EVC locks up again!

Mike

> Thanks Paul, I was supposidily sent the sdk and it seemed to install OK, it
> shows up in the help menu. I will contact the supplier with this query now I
[quoted text clipped - 51 lines]
> > >
> > > Mike
Acha - 26 Jul 2008 11:43 GMT
I can see the target CPU on remote file viewer so activesync is working.

Perhaps I should be using VS2005?

> Hi Paul,
>
[quoted text clipped - 66 lines]
> > > >
> > > > Mike
Paul G. Tobey [eMVP] - 28 Jul 2008 17:02 GMT
Communication with the specific device is too device-specific for us to be
of any more help.  I would *not* change development environments, at this
point, until you have consulted with the device OEM about how to communicate
with it via Platform Manager and eVC (PM is the piece that eVC uses, along
with the remote tools).

If it were me, I'd first create a new project in eVC, now that you have the
right SDK installed.  Make sure that you select the correct processor family
that matches what your target device has in the new project wizard.  Once
the program creation is done, there should be a drop-down listbox in the
toolbar for eVC that shows devices that you may choose to target.  One of
them should say "My Device Type", or whatever your device is called.  MAKE
SURE THAT IT DOES NOT SAY ANYTHING ABOUT THE STANDARD SDK.  If you have the
Standard SDK installed and install another, specific device SDK, you'll get
entries like My Device Type - Standard SDK.  THAT IS NOT WHAT YOU WANT.
Once you have selected the right SDK, there is another drop-down list in the
toolbar that should allow you to choose the actual processor for which to
compile and whether to do a debug or non-debug build.  Make sure that you
choose Debug, of course, but also the real processor in the device.  For
example, if one of our devices includes a custom emulator for the device, we
might see x86 Emulator, *AND* x86 in the list.  You have to choose the right
one or your code will not run.  Finally, there should be a third drop-down
list in the eVC toolbar which indicates the actual target device on which to
run the code.  This might include My Device Type Device and My Device Type
Emulator, if your device SDK has an emulator for the device.  Make sure to
choose My Device Type Device to select the real device.

Beyond that, again, it's device-specific.  Our devices tell how to talk to
them from eVC and Visual Studio in the manual; I'd assume that most devices
do the same...

Paul T.

>I can see the target CPU on remote file viewer so activesync is working.
>
[quoted text clipped - 102 lines]
>> > > >
>> > > > Mike
Acha - 29 Jul 2008 09:08 GMT
Thanks Paul, I got it working. I am not sure how but it works!!

I downloaded SP3, tried to install it, then right at the end it said there
was some script missing, so it uninstalled itself, similarily with SP4.

I tried again and it worked, so either a file was replaced by one of the SPs
or my firewall finaly woke up and allowed eVc to communicate with the WCE
device.

Thank you for your help.

> Communication with the specific device is too device-specific for us to be
> of any more help.  I would *not* change development environments, at this
[quoted text clipped - 135 lines]
> >> > > >
> >> > > > Mike
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.