Esempio n. 1
0
        private void Operate(object obj)
        {
            switch (operateenum)
            {
            case OperateEnum.OperateEnum_UpgradeVersion:
            {
                if ((Angle != -130) && Angle != (-130 + 360))
                {
                    break;
                }

                new Thread(() =>
                    {
                        if (string.IsNullOrEmpty(version))
                        {
                            displayMsg = "版本号不能为空!";
                            return;
                        }
                        foreach (var item in ruanjianList)
                        {
                            if (item.Banbenhao == version)
                            {
                                displayMsg = "版本号已存在!";
                                return;
                            }
                        }

                        if (!File.Exists(filePath))
                        {
                            displayMsg = "请输入有效文件路径!";
                            return;
                        }
                        else
                        {
                            FileInfo fileinfo = new FileInfo(filePath);
                            if (fileinfo.Length > 0x6400000)
                            {
                                displayMsg = "文件不能大于100M";
                                return;
                            }
                        }

                        displayMsg = "";
                        Angle      = -130 + 1;

                        try
                        {
                            FileStream stream = new FileStream(filePath, FileMode.Open, FileAccess.Read);

                            byte[] array = new byte[stream.Length];
                            stream.Read(array, 0, (int)stream.Length);
                            stream.Close();

                            WorkServer.addRuanjianbao("0", version, Marshal.UnsafeAddrOfPinnedArrayElement(array, 0), array.Length, Marshal.GetFunctionPointerForDelegate(_addtablecallbackdelegate), true);
                            QueryRuanjianbao(null);
                        }
                        catch (Exception e)
                        {
                            string str = e.Message;
                        }
                    }).Start();
            }
            break;
            }
        }