Re: POOM - Pocket PC 2003 - Visual Studio .NET 2003 - eMbedded Visual C++ 4.0
From: Peter Foot [MVP] (feedback_at_no-spam.inthehand.com)
Date: 12/14/04
- Next message: robert: "Re: Forms - Dialogs"
- Previous message: Tim Johnson: "Re: New ARM SA1100 processor not supported?"
- In reply to: MRenkema: "POOM - Pocket PC 2003 - Visual Studio .NET 2003 - eMbedded Visual C++ 4.0"
- Next in thread: MRenkema: "Re: POOM - Pocket PC 2003 - Visual Studio .NET 2003 - eMbedded Visua"
- Messages sorted by: [ date ] [ thread ]
Date: Tue, 14 Dec 2004 08:30:06 -0000
1.Your device is ARM based, so installing the x86 version to it will not
work.
2.Your device is Pocket PC 2003
3.You need at least eVC 4.0 Service Pack 2, but you should use the latest SP
available.
4.eVB is deprecated and will not be supported on any future devices. While
current eVB applications may run on PPC2003 by installing the eVB runtimes,
you can't develop with eVB directly on a PPC2003 device - eVB 3.0 only
allows debugging on PPC2000/PPC2002 devices.
5.MissingMethodException is likely to be due to a missing native dll or
incorrect version for your CPU. Also since only a subset of the POOM
functionality is implemented and working in the GotDotNet sample you may
have hit a method which is not implemented or correctly implemented in the
native dll. For example the GotDotNet sample has no support for marshalling
dates.
To use SysAllocString make sure you link to oleaut32.lib in the project
settings.
Peter
-- Peter Foot Windows Embedded MVP www.inthehand.com | www.opennetcf.org "MRenkema" <NoSpam@NoSpam.NoSpam> wrote in message news:39452778a1e4304d0a93886c0ac635d7@localhost.talkaboutcomputing.com... > Hi there, > > I am in the process of writing an application to write appointments into > the Pocket PC calendar using the Pocket Outlook Object Model. My > development environment is .NET 2003, and I have spent a few days > researching the issues regarding managed .NET's inability to communicate > with the native POOM APIs. > > I still don't know exactly why .NET cannot talk to the POOM API directly, > I would have expected it to be similar to communicating with the windows > API but that is not too important. Apparently the .NET CF one hasn't been > written yet so we have to use the POOM API developed a number of years > ago. > > The two solutions that are available seem to be the InTheHand one and the > GotDotNet one. I have managed to get the InTheHand demo to work, but I > would prefer to use the code sample provided by GotDotNet as it would mean > not having to rely on a third-party. > > I am using an i-Mate device that is running Pocket PC Version 4.20.0 > (Build 14053). I believe this to be Pocket PC 2003 (not 2nd edition). > > The device says that it has an Intel PXA263 processor, but when I view the > device information from eMbedded Visual C++ 4.0's Remote System > Information tool it says the processor is a StrongARM. The table in the > following page suggests that this is an ARM processor: > http://www.pixagent.com/pocketitp11/processors.html > > I have tried copying the GotDotNet pre-packaged cab file for the ARM > processor to the device and opening it - it appeared to install correctly > but the GotDotNet C# application did not run, throwing a > System.MissingMethodException. > > I then tried to copy the x86 cab file to the device and to install it but > the installation failed. This suggests to me that the processor is indeed > an ARM processor. > > The System.MissingMethodException is similar to an exception that I had > when attempting to get the InTheHand solution to work using an older > version of their demo that only had support for the emulator. When I got > the later version of the demo and installed it all worked fine - the > exception may have referred to the dll not being able present or able to > be seen by the app. > > I have installed eMbedded Visual Tools 3.0 and also eMbedded Visual C++ > 4.0 (with SP4 and the Pocket PC 2003 SDK). I think that I have to use > eMbedded Visual C++ 4.0 to write native code for Pocket PC 2003, as > eMbedded Visual Tools 3.0 is intended for Pocket PC 2002 and there does > not appear to be an eMbedded Visual Basic 4.0 in existence. > > When I try to recompile the GotDotNet native dll using eMbedded Visual C++ > 4.0 (SP4) I get a few errors. I am attempting to compile for Pocket PC > 2003, Win32 (WCE ARMV4). > > The errors are: > --------------------Configuration: PocketOutlook - Win32 (WCE ARMV4) > Debug-------------------- > Linking... > Creating library ARMV4Dbg/PocketOutlook.lib and object > ARMV4Dbg/PocketOutlook.exp > pocketoutlook.obj : error LNK2019: unresolved external symbol > SysFreeString referenced in function IRecipient_put_Address > pocketoutlook.obj : error LNK2019: unresolved external symbol > SysAllocString referenced in function IRecipient_put_Address > pocketoutlook.obj : error LNK2019: unresolved external symbol > CoCreateInstance referenced in function IPOutlookApp_Create > ARMV4Dbg/PocketOutlook.dll : fatal error LNK1120: 3 unresolved externals > Error executing link.exe. > > PocketOutlook.dll - 4 error(s), 0 warning(s) > > When I look at the code for IRecipient_put_Address I cannot see any > difference to other usages of SysFreeString or SysAllocString in other > procedures. The code for this is shown below: > > HRESULT > IRecipient_put_Address(IRecipient* thisPtr, LPCTSTR pwsz) > { > BSTR bz = SysAllocString(pwsz); > HRESULT hResult = thisPtr->put_Address(bz); > SysFreeString(bz); > return hResult; > } > > The IPOutlookApp_Create procedure looks like this: > > HRESULT > IPOutlookApp_Create(IPOutlookApp** pApp) > { > return CoCreateInstance(CLSID_Application, NULL, > CLSCTX_INPROC_SERVER, > IID_IPOutlookApp, > reinterpret_cast<void**>(pApp)); > } > > I am unsure of what step to take next, so any comments are definately > welcome. > > So to summarize: > 1. Is the Intel PXA263 processor an ARM processor? > 2. Is Pocket PC Version 4.20.0 (Build 14053) a version of Pocket PC 2003? > 3. Do I need to use eMbedded Visual C++ 4.0 (SP4) to develop for Pocket PC > 2003? > 4. Is there an eMbedded Visual Basic 4.0 for development for Pocket PC > 2003? > 5. Do I need to recompile the GotDotNet cabs using eMbedded Visual C++ 4.0 > (SP4) and is this the reason why the C# code failed to run with the > System.MissingMethodException when the ARM pre-packaged cab file was > installed onto the device? > 6. Why won't the eMbedded Visual C++ 4.0 dll compile? > > Thanks in advance, > Michael Renkema > Segar Associates > Auckland > New Zealand >
- Next message: robert: "Re: Forms - Dialogs"
- Previous message: Tim Johnson: "Re: New ARM SA1100 processor not supported?"
- In reply to: MRenkema: "POOM - Pocket PC 2003 - Visual Studio .NET 2003 - eMbedded Visual C++ 4.0"
- Next in thread: MRenkema: "Re: POOM - Pocket PC 2003 - Visual Studio .NET 2003 - eMbedded Visua"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|