ThinkGeo.com    |     Documentation    |     Premium Support

C#VS2008 HowDoISamples for MapSuite 4.0 Service Edition

Hi,


Where can I find the missing file TrackAndEditShapes.cs under the folder "Editing Feature Layers" in this project?

I understand this project should be the mirror image of its counterpart in the C# Winforms project, but this mirror file is missing in the Service sample project.


Thanks.


Franklin


 


 


 


 


 



Franklin,


Thanks for your post and questions.
 
I do not think the Service Edition does not contains the TrackAndEditShapes sample because the Track Shapes and Edit Shapes functionality was added in Desktop Edition, they do not exist in the Service Edition.
 
Any more questions please feel free to let me know.
 
Thanks.
 
Yale

Yale,


   I would like to know how TrackandEdit Shape can be done with MapSuite Service Edition 4.0. What would be those methods of MapEngine eqivalent to the following:


                       winformsMap1.TrackOverlay.TrackMode = TrackMode.None;

                        foreach (Feature feature in winformsMap1.TrackOverlay.TrackShapeLayer.InternalFeatures)

                        {

                            winformsMap1.EditOverlay.EditShapesLayer.InternalFeatures.Add(feature);

                        }

                        winformsMap1.EditOverlay.CalculateAllControlPoints();

                        winformsMap1.TrackOverlay.TrackShapeLayer.InternalFeatures.Clear();


                        winformsMap1.Refresh(new Overlay[] { winformsMap1.EditOverlay, winformsMap1.TrackOverlay });


Thanks for the help.


Franklin


 


 



Franklin,


Thanks for your feedback and questions.
 
I am afraid a whole bunch of work would be involved when we create the Track and Edit functionalities similar in desktop edition, I would recommend you to use the existing ones instead of creating ones from scratch.  Of course, this can be achieved finally as we have shown in our desktop edition.
 
The service edition has nothing to do with the mouse or keyboard events; instead, it provides very powerful and extensible APIs to use. While the desktop edition can be considered as an easy to use drag-and-drop control which a bunch of InterativeOverlays was integrated including TrackInterativeOverlay and EditIntertiveOverlay. Hope my explanations of difference make sense.
 
Any more questions please feel free to let us know.
 
Thanks.
 
Yale

Hi Yale, 
  
   I was thinking of a workaround of the existing “dll hell” due to the coexistence of 4.0 and 2.0 desktop edition dlls in my .net project space. 
 Do you know a mechanism by which one can make use of the two dlls which are virtually under same name? 
 Although i add references to the two desktop dlls under different names in VS2005 C# project and go through the compilation and build successfully, 
 the application encountered runtime exception: “Could not load the assembly ‘DesktopEdition, Version =4.0.0.0, Culture=neutral,PublicKeyToken=null’ or one of its dependencies. The located assembly’s manifest definition does not match the assembly” 
 Any idea to resolve the problem? Thanks a lot for your advice. 
  
 Franklin

Hi Yale, 
  
    I think the key to solve the 4.0 desktop edition dll load problem depends on resolving the mismatch between the assembly’s definition and the assembly new name, “DesktopEditionNew.dll”, because the assembly’s definition conforms to “DesktopEdition.dll” as originally defined by GeoThink. 
 However, in order to add the 4.0 dll reference, i have to rename it as “DesktopEditionNew.dll” so that it can coexist with the existing “DesktopEdition.dll”(2.55.5) in the project.  Is it possible that GeoThink can modify the assembly’s definition of the 4.0 dll such that it conforms to “DesktopEditionNew.dll”? This modification will allow us to sustain the existing application based on MapSuite 2.55.5 DesktopEdition while at the same time upgrade the application with the 4.0 Track&Edit Shapes feature. You know, it is very costly if we have to redo the application from scratch using 4.0 completely. May i know what you think? Thanks a lot. 
  
 Franklin

Franklin, 
  
 Thanks for your post and suggestions.  
  
 I have sent an email to my director David to see how we can do to resolve this issue? 
  
 Any feedback I will come back to you. 
  
 Thanks. 
  
 Yale 


Hi Yale, 
   Thanks a lot for sending the email. I really appreciate your effort. 
   Did  anybody try to do the same thing before?  
  
 Franklin

Franklin, 
  
 I do not encounter it before, and I do not think so because it cannot add two same name DLLs to one project, is not it? 
  
 Thanks. 
  
 Yale 


Yales, 
  
 Exactly. Why can’t we effectively change the name for the 4.0 dll, as suggested above,  such that the same name issue can be avoided then? 
 Thanks. 
  
 Franklin

Franklin, 
  
 Thanks for your feedback. 
  
 I agree with you the duplicated DLL names between MapSuite2.0 and MapSuite4.0, while it is not realistic to change the name directly because it is a great breaking change which will cause great inconvenience for many existing users. 
  
 Any more questions please feel free to let me know. 
  
 Thanks. 
  
 Yale 


Hi Yale, 
  
     I understand the inconvenience this may cause. Sorry about this. Perhaps this case is quite rare and can be dealt with a special arragement without affecting other users.  
  
 Franklin

Franklin,  
  
 As I have showed you in the other thread, please keep our contact to get a renamed 2.0 DLLs set. 
  
 Any more questions please feel free to let me know. 
  
 Thanks. 
  
 Yale 


Yale, 
  
    I got the renamed DLLs set. Thanks a lot.  
  
 Franklin

Hi Yale, 
 Have tried out the renamed dlls set. 
 I found that the new name "DesktopEdition2.0.dll" is not a valid name, because once I add the reference "DesktopEdition2.0" to my application project,  i include "using MapSuite.DesktopEdition 2.0" in corresponding C# file, which causes a warning message ";expected" under "2.0" in VS2005. Obvisously "using MapSuite.DesktopEdition2.0" cannot pass the compilation. Could you please change the dll name to "DesktopEdition2.dll" instead of "DesktopEdition2.0.dll" ? If I adopt "using MapSuite.DesktopEdition" then it defeats the purpose of this name change and has caused a series of runtime errors. 
  
 Thanks. 
  
  
  
 Franklin 
  


Franklin, 
  
 Yale is in holidays right now, I will reminder him to look at this post. 
  
 And when he back he will get your solution ASAP. 
  
 Thanks 
 James