Solved

Having trouble converting VB to C#

Posted on 2006-10-21
14
225 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
  • 8
  • 6
14 Comments
 
LVL 62

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 62

Expert Comment

by:Fernando Soto
ID: 17781909
Can you post the complete error message with the additional info.
0
 

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 62

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
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

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 62

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 62

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 62

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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

We all know that functional code is the leg that any good program stands on when it comes right down to it, however, if your program lacks a good user interface your product may not have the appeal needed to keep your customers happy. This issue can…
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
Windows 10 is mostly good. However the one thing that annoys me is how many clicks you have to do to dial a VPN connection. You have to go to settings from the start menu, (2 clicks), Network and Internet (1 click), Click VPN (another click) then fi…

867 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

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now