| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 | 
							- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using System.Runtime.InteropServices;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- using System.Windows.Forms;
 
- namespace IMCS.Device.HeiDenHainBase
 
- {
 
-     public static class MyHelper
 
-     {
 
-         #region "public static methods"
 
-         public static string CheckDncVersion(int mayor = 0, int minor = 0, int revision = 0, int build = 0)
 
-         {
 
-             int[] requiredVersion = new int[] { mayor, minor, revision, build };
 
-             int[] installedVersion = null;
 
-             string strVersionComInterface = null;
 
-             HeidenhainDNCLib.JHMachine machine = null;
 
-             try
 
-             {
 
-                 machine = new HeidenhainDNCLib.JHMachine();
 
-                 strVersionComInterface = machine.GetVersionComInterface();
 
-                 if (strVersionComInterface.Contains("."))
 
-                     installedVersion = strVersionComInterface.Split('.').Select(n => Convert.ToInt32(n)).ToArray();
 
-                 else
 
-                     installedVersion = strVersionComInterface.Split(',').Select(n => Convert.ToInt32(n)).ToArray();
 
-                 // check if installed COM component meets minimum application requirement
 
-                 if (!CheckVersion(requiredVersion, installedVersion))
 
-                 {
 
-                     string strRequiredVersionComInterface = requiredVersion[0] + "." +
 
-                                                             requiredVersion[1] + "." +
 
-                                                             requiredVersion[2] + "." +
 
-                                                             requiredVersion[3];
 
-                     string strInstalledVersionComInterface = installedVersion[0] + "." +
 
-                                                              installedVersion[1] + "." +
 
-                                                              installedVersion[2] + "." +
 
-                                                              installedVersion[3];
 
-                     // --- close application, because HeidenhainDNC version dos not meer minimum application requirement
 
-                     MessageBox.Show(
 
-                                "Your HeidenhainDNC version does not meet minimum application requirement!" + Environment.NewLine + Environment.NewLine +
 
-                                "Installed version\t: " + strInstalledVersionComInterface + Environment.NewLine +
 
-                                "Required version\t: " + strRequiredVersionComInterface + Environment.NewLine + Environment.NewLine +
 
-                                "The application has to be closed." + Environment.NewLine,
 
-                                "Verify HeidenhainDNC version",
 
-                                MessageBoxButtons.OK,
 
-                                MessageBoxIcon.Error);
 
-                     Application.Exit();
 
-                 }
 
-             }
 
-             catch (COMException)
 
-             {
 
-                 // --- close application, because can't use HeidenhainDNC COM component (reinstall ?)
 
-                 MessageBox.Show(
 
-                            "Can't use HeidenhainDNC COM interface!" + Environment.NewLine +
 
-                            "The application has to be closed." + Environment.NewLine +
 
-                            "Please reinstall HeidenhainDNC.",
 
-                            "Verify HeidenhainDNC version",
 
-                            MessageBoxButtons.OK,
 
-                            MessageBoxIcon.Error);
 
-                 Application.Exit();
 
-             }
 
-             catch (Exception)
 
-             {
 
-                 // --- something went wrong by verifying HeidenhainDNC version -------- 
 
-                 DialogResult dr;
 
-                 dr = MessageBox.Show(
 
-                                 "Problem verifying HeidenhainDNC version!" + Environment.NewLine +
 
-                                 "Possibly the application can't be executed properly." + Environment.NewLine +
 
-                                 "Do you want to proceed anyway?" + Environment.NewLine,
 
-                                 "Verify HeidenhainDNC version",
 
-                                 MessageBoxButtons.YesNo,
 
-                                 MessageBoxIcon.Question);
 
-                 if (dr == System.Windows.Forms.DialogResult.No)
 
-                     Application.Exit();
 
-             }
 
-             finally
 
-             {
 
-                 if (machine != null)
 
-                     Marshal.ReleaseComObject(machine);
 
-             }
 
-             return strVersionComInterface;
 
-         }
 
-         public static void ShowComException(int ErrorCode, string ClassName = null, string MethodName = null)
 
-         {
 
-             // --- build caption for COM exception message box ----------------------
 
-             string strMessageBoxCaption = "COM Exception";
 
-             if (!String.IsNullOrEmpty(ClassName) && !String.IsNullOrEmpty(MethodName))
 
-                 strMessageBoxCaption = ClassName + " --> " + MethodName;
 
-             // --- build text for COM exception message box -------------------------
 
-             string strExceptionMessage = "HRESULT: 0x" + Convert.ToString(ErrorCode, 16) + Environment.NewLine;
 
-             HeidenhainDNCLib.DNC_HRESULT hr = (HeidenhainDNCLib.DNC_HRESULT)ErrorCode;
 
-             strExceptionMessage += Enum.GetName(typeof(HeidenhainDNCLib.DNC_HRESULT), hr);
 
-             // --- show message box -------------------------------------------------
 
-             MessageBox.Show(strExceptionMessage, strMessageBoxCaption, MessageBoxButtons.OK, MessageBoxIcon.Error);
 
-         }
 
-         public static void ShowException(Exception ex, string ClassName = null, string MethodName = null)
 
-         {
 
-             // --- build caption for COM exception message box ----------------------
 
-             string strMessageBoxCaption = "Exception";
 
-             if (!String.IsNullOrEmpty(ClassName) && !String.IsNullOrEmpty(MethodName))
 
-                 strMessageBoxCaption = ClassName + " --> " + MethodName;
 
-             // --- build text for COM exception message box -------------------------
 
-             string strExceptionMessage = ".NET Exception:" + Environment.NewLine +
 
-                                          ex.Message + Environment.NewLine;
 
-             // --- show message box -------------------------------------------------
 
-             MessageBox.Show(strExceptionMessage, strMessageBoxCaption, MessageBoxButtons.OK, MessageBoxIcon.Error);
 
-         }
 
-         #endregion
 
-         #region "private static methods"
 
-         private static bool CheckVersion(int[] requiredVersion, int[] installedVersion)
 
-         {
 
-             if (requiredVersion.Length != 4 || installedVersion.Length != 4)
 
-                 throw (new Exception());
 
-             for (int i = 0; i < installedVersion.Length; i++)
 
-             {
 
-                 if (installedVersion[i] > requiredVersion[i])
 
-                     break;
 
-                 if (installedVersion[i] == requiredVersion[i])
 
-                     continue;
 
-                 return false;
 
-             }
 
-             return true;
 
-         }
 
-         #endregion
 
-     }
 
-     public class MyDirectoryEntry
 
-     {
 
-         public string Name { get; set; }
 
-         public DateTime TimeStamp { get; set; }
 
-         public double FileSize { get; set; }
 
-         // directory entry attributes
 
-         public bool ReadOnly { get; set; }
 
-         public bool Hidden { get; set; }
 
-         public bool Dir { get; set; }
 
-         public bool System { get; set; }
 
-         public bool Modified { get; set; }
 
-         public bool Locked { get; set; }
 
-     }
 
- }
 
 
  |