Community of MapPoint and Virtual Earth Users and Developers
This is a discussion on AddPushPin() throws exception in VC++ within the MapPoint 2006/2009 Discussion forums, part of the Map Forums category; Hi, I have a problem adding pushpins to a map using MS VC ++ 6.0. This is my code: theApp.LockMapPointApp(); ...
| |||||||
| Today's Posts | Twitter Feed | Register | Blogs | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| |||
| AddPushPin() throws exception in VC++ I have a problem adding pushpins to a map using MS VC ++ 6.0. This is my code: theApp.LockMapPointApp(); // Create a new pushpin object to represent the antenna: pPin = new CPushpin; // Open the MapPoint map... // theApp.GetMapPointApp() returns a MapPoint.Application object... theApp.GetMapPointApp().OpenMap( m_csMapPointFile, FALSE ); // Find the location where the antenna needs to be placed: CLocation loc; loc = theApp.GetMapPointApp().GetActiveMap().GetLocation ( dblLatitude, dblLongitude, 0 ); if ( bCenterOn ) // Center on the newly added pin... loc.GoTo(); try { CMap1 map = theApp.GetMapPointApp().GetActiveMap(); // Add the pushpin and set the name (if any)... if ( ! csName.IsEmpty() ) *pPin = map.AddPushpin( loc, csName ); else *pPin = map.AddPushpin( loc, "<Nameless>" ); } catch ( COleDispatchException *ex ) { dwLastError = ::GetLastError(); iErrNo = errno; ex->GetErrorMessage( szError, 1024 ); theApp.Log( LOG_MAP_ERROR, m_iId, _T("MapPoint OleDispatchException while adding PushPin: %s"), szError ); } // Save the pushpin reference instance ... // Do some settings... ... theApp.UnlockMapPointApp(); --- End code --- It is the "*pPin = map.AddPushpin( loc, csName );" line of code that throws the exception. Any kind of help would be appreciated... Many thanks, Radboud PS: Another application using a MappointControl object works just fine... |
| ||||
|
I usually use MapPoint in C++ without MFC. I assume csName is an MFC CString? The problem might be because the COM interface is expecting its own flavour of string (eg. a BSTR), rather than a 'smart CString object'. I've just looked at my code (non-MFC, and using STL), and I pass an STL string to a MapPoint method by converting it to a (const char*). When receiving data (ie. querying a field) I have to go via VARIANTs. Note that your hard-coded string constants are also of type (const char*). Richard
__________________ Winwaed Software Technology LLC http://www.winwaed.com See http://www.mapping-tools.com for MapPoint Tools See the Geoweb Guru for online mapping |
| |||
|
Instead of define pPin as a pointer and allocate an object then reassign *pPin as you did. ================== You would define Pushpin JustPin; JustPin = map.AddPushpin( loc, (LPCTSTR)csName ); ===================== Let me know if this helps. |
![]() |
| Tags |
| addpushpin, exception, throws |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
| |
| ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| addpushpin - need help to get started | BWard | MapPoint 2006/2009 Discussion | 7 | 12-19-2005 02:15 PM |
| AddPushPin | Anonymous | MapPoint 2006/2009 Discussion | 0 | 03-01-2004 10:41 AM |
| addPushpin | nringdahl | MapPoint 2006/2009 Discussion | 1 | 01-27-2004 09:09 AM |
| AddPushpin with more data than Loc and name possible? | Anonymous | MapPoint 2006/2009 Discussion | 5 | 03-17-2003 06:11 PM |
| AddPushpin | Monique | MapPoint 2006/2009 Discussion | 3 | 08-20-2002 01:26 AM |
Ibiza Holiday
Visit the party capital of Europe with an Ibiza holiday! Check out the deals online on UlookUbook...