Solved

Having trouble converting VB to C#

Posted on 2006-10-21
14
227 Views
Last Modified: 2008-02-26
Hi,

I am trying to change a variable used in the MapPoint ActiveX control to hopefully get it to do what I need it to do.  I am trying to set a variable, UserControl, to true. But it throws the exception:

"Access is denied" when I try to set it to true.

I have been digging through the Help function, which uses VB only, and have found they have used an interesting term for the UserControl.  They say "Let".

Does anyone have any idea what I might try in C# to get past this exception?  If the property were read only, wouldn't it say so?  And how could it be read only if the help function shows that it's changable?

Thanks for the help.

Bob

  Dim objApp As New MapPoint.Application

  'Set up the application
  objApp.Visible = True
  objApp.UserControl = True

////

// a different function

    Dim objApp As New MapPoint.Application
    Dim objMap As MapPoint.Map
    Dim objLocNY As MapPoint.Location
    Dim objLocLA As MapPoint.Location
    Dim objCenter As MapPoint.Location
    Dim objTextbox As MapPoint.Shape

    'Set up application and create Location objects
    Let objApp.Visible = True
    Let objApp.UserControl = True
0
Comment
Question by:ba272
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 8
  • 6
14 Comments
 
LVL 63

Accepted Solution

by:
Fernando Soto earned 500 total points
ID: 17781741
Hi Bob;

I translated the VB code and tested it. Try this it worked for me.

      MapPoint.Application objApp = new MapPoint.Application();

      // Set up the application
      objApp.Visible = true;
      objApp.UserControl = true;

////

// a different function

      MapPoint.Application objApp = new MapPoint.Application();
      MapPoint.Map objMap;
      MapPoint.Location objLocNY;
      MapPoint.Location objLocLA;
      MapPoint.Location objCenter;
      MapPoint.Shape objTextbox;

      // Set up application and create Location objects
      objApp.Visible = true;
      objApp.UserControl = true;


Fernando
0
 

Author Comment

by:ba272
ID: 17781754
What do yo umake of my exception?  "Access denied"??
0
 
LVL 63

Expert Comment

by:Fernando Soto
ID: 17781909
Can you post the complete error message with the additional info.
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:ba272
ID: 17781934
private AxMapPoint.AxMappointControl axMappointControl1;


GetMap().Application.Visible = true; /// XXX dies here

private MapPoint.Map GetMap()
{
      try
      {
            return axMappointControl1.ActiveMap;
      }
      catch ( Exception ex )
      {
      handles.LogException( "UpdateStreetsDatabase.DeletePushpin()", ex, "" );
      }
return null;
}
0
 
LVL 63

Expert Comment

by:Fernando Soto
ID: 17781950
Can You post the message that is thrown when it gives the error. You normally get a message box with the message and additional information.
0
 

Author Comment

by:ba272
ID: 17781959
sorry.  coming right up.
0
 

Author Comment

by:ba272
ID: 17781977
     StackTrace      "   at MapPoint.Application.set_Visible(Boolean pVal)\r\n   at DMS.UpdateStreetsDatabase.inButton_Click(Object sender, EventArgs e) in c:\\texselogic\\projects\\dms\\updatestreetsdatabase.cs:line 712"      string
0
 

Author Comment

by:ba272
ID: 17781982
This line:

GetMap().Application.Visible = true; /// XXX dies here

is inside a button click handler
0
 

Author Comment

by:ba272
ID: 17782006
Fernando,

Here's the code from the Help function pertaining to setting the UserControl variable.


  Sub LeaveAppRunningAfterQuit()

  Dim objApp As MapPoint.Application
  Set objApp = CreateObject("mappoint.application")

  'Make the application visible
  objApp.Visible = True

  'Give the user control of the application
  objApp.UserControl = True

  End Sub
0
 
LVL 63

Expert Comment

by:Fernando Soto
ID: 17782645
Hi Bob;

I have not used MapPoint before in a project. I have MapPoint 2006 on my system and if you would like I can attempt to run your code on my system to see if I can find the problem. If you would like me to help in that way if you would upload your complete project to the EE web site http://www.ee-stuff.com/login.php and login with your user name and password and then click on the Expert Area tab. Then you will be able to upload a zip file of your project. After the upload they will give you a link, if you post that link I then will be able to download the file and have a look at it.

Fernando
0
 

Author Comment

by:ba272
ID: 17782670
Fernando,

Thanks so much for offering to help.  I had no idea that  EE had such a site for transmissions.

Maybe I can put together a small example program that we can work on together.

Thanks,
Bob

0
 
LVL 63

Expert Comment

by:Fernando Soto
ID: 17782674
Very Good. Also what version of MapPoint are you using, 2002, ..., 2006?
0
 

Author Comment

by:ba272
ID: 17792180
2004
0
 
LVL 63

Expert Comment

by:Fernando Soto
ID: 17792235
Have you completed the test project as you were going to do and upload it to the EE web site yet?
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
Attackers love to prey on accounts that have privileges. Reducing privileged accounts and protecting privileged accounts therefore is paramount. Users, groups, and service accounts need to be protected to help protect the entire Active Directory …
Are you ready to implement Active Directory best practices without reading 300+ pages? You're in luck. In this webinar hosted by Skyport Systems, you gain insight into Microsoft's latest comprehensive guide, with tips on the best and easiest way…

730 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question