Can VE Viewer SDK be programmed to recognize Windows OS version
Currently we are using the 7.0 VE Viewer SDK as a basis for our projects. We are in the first stages of replacing this SDK with the current 8.0 SDK. Is there a way to use the current VEV 8.0 SDK to recognize windows OS version. Unfortunately, Windows 8 defaults the text size in the OS to 150%, where Windows 7 defaults the text size to 100%. Our work-around has been giving our customers written instructions on how the change the text size back to 100% in Windows 8 in order to use the previously published content based on Windows 7. The compliance rate on following the written instructions is not good. Is there a way, in VE Viewer SDK 8.0, to program in text size change to 100% magnification in Windows 8, vs. the default 150%, and then return the OS text magnification size back to 150% default on exiting?
Hi William,
There are no properties or methods in VE Viewer API that report the current Windows Version.
The best advice would be to use something from within the platform you're using, for example:
c# - How to determine which version of Windows? - Stack Overflow
Detect Windows Version With JavaScript - Stack Overflow
Regards,
Anthony Cassidy.
IMS for Visual Enterprise
SAP New Zealand
151 Queen Street, Auckland, New Zealand.
mailto:anthony.cassidy@sap.com
www.sap.com
View our ISO 14001 certifications
Hi Anthony, Here's a recent question from our software engineer on implementing the 8.0 VE Viewer. Can you or someone please help with this:Any help or guidance would be appreciated. Thanks. // Create the ActiveX Paul Delany Paul Delany axDeepView1 = new AxExploration3D.AxDeepView(); At this point we set assign some functions and set up some defaults for the viewer… axDeepView1.UseColorsFromFile = true; axDeepView1.SceneLoadedEvent += new AxExploration3D.IDeepViewEvents_SceneLoadedEventHandler(this.axDeepView1_SceneLoadedEvent); axDeepView1.Step += new AxExploration3D.IDeepViewEvents_StepEventHandler(this.axDeepView1_Step); axDeepView1.ProgressEvent += new AxExploration3D.IDeepViewEvents_ProgressEventHandler(axDeepView1_Progress); axDeepView1.SelectionChangedEvent += new AxExploration3D.IDeepViewEvents_SelectionChangedEventHandler(axDeepView1_SelectionChangedEvent); //// Hide left and right toolbars as well as context menu. axDeepView1.ShowGuiElement("left_toolbar", false); axDeepView1.ShowGuiElement("right_toolbar", false); axDeepView1.ShowGuiElement("right_click_menu", false); //// Load models from Application.xml file. axDeepView1.ExecuteCommand("Render Mode\\Display Renderer\\DirectX 9.0"); axDeepView1.RenderAPI = e3_RenderAPIConstants.e3API_DirectX9; axDeepView1.XRayOpacity = .30F; axDeepView1.LoadFile((String)e.Argument); It is around the point where we are setting these values, with the 8.0 Viewer, that we get a crash saying we are attempting to read/write to protected memory that is most likely corrupt or garbage. I was wondering what kind of updates does our project require to keep this crash from occurring? Will I need to add/change our dlls that we are using as references for the project? If so how do I go about this? (We are currently using Interop.Exploration3D.dll and AxInterop.Exploration3D.dll just for reference.) I would consult with our previous Software Engineer who implemented the solution but he does not recall our initial implementation of the viewer in our software. I have also attempted using the setup guide for embedding into .NET and adding the axControl via the toolbox but with no success, the machine I am using doesn’t have the referred registry keys in the same directory mentioned in the help guide. I manually added the keys, which we had defined in a separate directory, but I still can’t implement the COM control via the toolbox. (It still shows as greyed out). I have also attempted in code to create the control via the CreateControl() command… axDeepView1.CreateControl(); But again, I am still running into the same crash. I can give further insight into the project setup or my computer specs if that will help. Any help or guidance would be appreciated. Thanks.
Please disregard the above text. The copy/paste is not working well from this end. Regards, William Tucker
Hi Anthony, I'll try this again. Here's a recent question from one of our software engineers: To break it down, we are implementing the updated 8.0 VE Viewer in our software embedding it into the .NET framework. We already have the 7.0 as our currently embedded viewer and we are simply creating the viewer dynamically when we are prompted for loading a model… // Create the ActiveX control. axDeepView1 = new AxExploration3D.AxDeepView(); At this point we set assign some functions and set up some defaults for the viewer… axDeepView1.UseColorsFromFile = true; axDeepView1.SceneLoadedEvent += new AxExploration3D.IDeepViewEvents_SceneLoadedEventHandler(this.axDeepView1_SceneLoadedEvent); axDeepView1.Step += new AxExploration3D.IDeepViewEvents_StepEventHandler(this.axDeepView1_Step); axDeepView1.ProgressEvent += new AxExploration3D.IDeepViewEvents_ProgressEventHandler(axDeepView1_Progress); axDeepView1.SelectionChangedEvent += new AxExploration3D.IDeepViewEvents_SelectionChangedEventHandler(axDeepView1_SelectionChangedEvent); //// Hide left and right toolbars as well as context menu. axDeepView1.ShowGuiElement("left_toolbar", false); axDeepView1.ShowGuiElement("right_toolbar", false); axDeepView1.ShowGuiElement("right_click_menu", false); //// Load models from Application.xml file. axDeepView1.ExecuteCommand("Render Mode\\Display Renderer\\DirectX 9.0"); axDeepView1.RenderAPI = e3_RenderAPIConstants.e3API_DirectX9; axDeepView1.XRayOpacity = .30F; axDeepView1.LoadFile((String)e.Argument); It is around the point where we are setting these values, with the 8.0 Viewer, that we get a crash saying we are attempting to read/write to protected memory that is most likely corrupt or garbage. I was wondering what kind of updates does our project require to keep this crash from occurring? Will I need to add/change our dlls that we are using as references for the project? If so how do I go about this? (We are currently using Interop.Exploration3D.dll and AxInterop.Exploration3D.dll just for reference.) I would consult with our previous Software Engineer who implemented the solution but he does not recall our initial implementation of the viewer in our software. I have also attempted using the setup guide for embedding into .NET and adding the axControl via the toolbox but with no success, the machine I am using doesn’t have the referred registry keys in the same directory mentioned in the help guide. I manually added the keys, which we had defined in a separate directory, but I still can’t implement the COM control via the toolbox. (It still shows as greyed out). I have also attempted in code to create the control via the CreateControl() command… axDeepView1.CreateControl(); But again, I am still running into the same crash. I can give further insight into the project setup or my computer specs if that will help. Any help or guidance would be appreciated. Thanks.