Commit c533fa80 authored by 周磊's avatar 周磊

1.版本1.8.3→1.8.4→1.8.5→1.8.6→1.8.7

2.解决FID检测器位于中和后时,保护温度却以前检测为准 的问题
3.解决上次优化联机速度带来的HMI更新搜不到IP问题
4.现在startup配置网口名称后,实际不存在会重新搜索其他网口(以前会陷入死循环,一直搜索网络)
5.修改选项布局,解决部分被遮挡问题
6.解决先开启软件,后开启色谱通讯不上的问题
7.增加打印(ckvoc````.dll)相关
parent ec29faf8
......@@ -18,7 +18,7 @@ namespace GcDevicePc
private string FID1version = "";
private string FID2version = "";
private string TCD1version = "";
public AboutForm()
{
InitializeComponent();
......@@ -42,7 +42,7 @@ namespace GcDevicePc
this.fid1ver.Text = this.FID1version;
this.fid2ver.Text = this.FID2version;
this.tcdver.Text = this.TCD1version;
this.PCver.Text = this.Hmiversion + "/1.8.3";
this.PCver.Text = this.Hmiversion + "/"+MDIBase.PCVersion;
}
}
}
......@@ -481,6 +481,7 @@ namespace GcDevicePc
int opensys = ini.ReadInteger("StartUp", "打开系统");
int runtype = ini.ReadInteger("StartUp", "运行类型");
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.DataFolder = ini.ReadString("DataFolder", "历史数据");
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.FileClassification = ini.ReadString("DataFolder", "分级文件夹");
int Version = ini.ReadInteger("Version", "VersionType");
string uname = ini.ReadString("User", "Name");
string upwd = ini.ReadString("User", "Password");
......@@ -705,16 +706,17 @@ namespace GcDevicePc
}
CheckFolderandFile(0, tmpMainFolder);
if (!String.IsNullOrEmpty(Name))
{
tmpSubFolder = Path.Combine(tmpMainFolder, Name);
CheckFolderandFile(0, tmpSubFolder);
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.DataFolder = tmpSubFolder;
}
else
{
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.DataFolder = tmpMainFolder;
}
//if (!String.IsNullOrEmpty(Name))
//{
// tmpSubFolder = Path.Combine(tmpMainFolder, Name);
// CheckFolderandFile(0, tmpSubFolder);
// globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.DataFolder = tmpSubFolder;
// //历史数据HW改为路径自定义
//}
//else
//{
// globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.DataFolder = tmpMainFolder;
//}
#if Use_English_Folder
//固件更新
......@@ -1003,6 +1005,7 @@ namespace GcDevicePc
}
}
}
break;
}
catch (Exception e)
{
......
......@@ -14,12 +14,12 @@ namespace GcDevicePc
public partial class HistChartForm : Form
{
CKVocAnalyzer.CtrlWaveHistory adjust;
public HistChartForm(string file)
public HistChartForm()
{
InitializeComponent();
adjust = new CKVocAnalyzer.CtrlWaveHistory();
adjust.ZbRecord = file;
//adjust.ZbRecord = file;
adjust.Location = new Point(1, 1);
Size size = this.Size;
size.Width = size.Width - 15;
......@@ -29,6 +29,8 @@ namespace GcDevicePc
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.Controls.Add(adjust);
// CKVocAnalyzer.SpectrumPrinting spectrumPrinting=new CKVocAnalyzer.SpectrumPrinting();
}
public new void Show()
{
......
......@@ -117,19 +117,15 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterScreen</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 12</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>722, 382</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>816, 438</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
......@@ -297,16 +293,17 @@
AAA=
</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>HistChartForm</value>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterScreen</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>历史谱图</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>en</value>
</metadata>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>HistChartForm</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>
\ No newline at end of file
......@@ -399,7 +399,9 @@ namespace GcDevicePc.ConfigMethod
}
}
}
/// <summary>
/// 依据配置内检测器类型,加载不同的检测器方法页面
/// </summary>
private void Detadd_Dlg(int position, int index)
{
switch (position)
......
......@@ -17,12 +17,9 @@ namespace GcDevicePc.ConfigMethod
HWConfig hwconfig;
GCMethodConfig methodconfig;
public FID(HWConfig hwconfig, ref GCMethodConfig methodconfig)
{
InitializeComponent();
this.hwconfig = hwconfig;
this.methodconfig = methodconfig;
}
......@@ -34,7 +31,7 @@ namespace GcDevicePc.ConfigMethod
}
int configTemp;
private bool bEnglishLanguage = Thread.CurrentThread.CurrentUICulture == CultureInfo.GetCultureInfo("en") ? true :false;
private bool bEnglishLanguage = Thread.CurrentThread.CurrentUICulture == CultureInfo.GetCultureInfo("en") ? true : false;
public void reflashContent(int index)
{
......@@ -87,7 +84,7 @@ namespace GcDevicePc.ConfigMethod
cBox空气.Enabled = false;
cBox尾吹气.Enabled = false;
}
cb灵敏度.SelectedIndex = this.methodconfig.fid[index].u16Sensitive;
cb极性.SelectedIndex = this.methodconfig.fid[index].u16Polarity;
......@@ -123,7 +120,7 @@ namespace GcDevicePc.ConfigMethod
{
float ret;
if(string.IsNullOrEmpty(s))
if (string.IsNullOrEmpty(s))
{
ret = 0;
}
......@@ -222,7 +219,7 @@ namespace GcDevicePc.ConfigMethod
double usData;
double dMaxInpueValue = 120;
double dMinInputValue = 0;
byte bRetainBit = 2;
byte bRetainBit = 2;
TextBox DeTextBox = (TextBox)sender;
if (DeTextBox.Equals(txtyuzhi))
{
......@@ -234,7 +231,9 @@ namespace GcDevicePc.ConfigMethod
{
bRetainBit = 2;
dMinInputValue = 0;
dMaxInpueValue = globaldata.m_hwconfig.hwconfiginfo.u16DetFrontPTemp;
dMaxInpueValue=configTemp;
//对比对应配置温度
//dMaxInpueValue = globaldata.m_hwconfig.hwconfiginfo.u16DetFrontPTemp;
}
else if (DeTextBox.Equals(tb氢气压力设定) || DeTextBox.Equals(tb尾吹气压力设定))
{
......@@ -242,7 +241,7 @@ namespace GcDevicePc.ConfigMethod
dMinInputValue = 0;
dMaxInpueValue = 120;
}
else if(DeTextBox.Equals(tb空气压力设定))
else if (DeTextBox.Equals(tb空气压力设定))
{
bRetainBit = 2;
dMinInputValue = 0;
......@@ -252,65 +251,65 @@ namespace GcDevicePc.ConfigMethod
{
if (usData > dMaxInpueValue)
{
if( bEnglishLanguage == false)
ToolTip1.Show($"输入值为{dMinInputValue}-{dMaxInpueValue}的区间内",DeTextBox,3000);
if (bEnglishLanguage == false)
ToolTip1.Show($"输入值为{dMinInputValue}-{dMaxInpueValue}的区间内", DeTextBox, 3000);
else
ToolTip1.Show($"The input value is {dMinInputValue}-{dMaxInpueValue}",DeTextBox,3000);
ToolTip1.Show($"The input value is {dMinInputValue}-{dMaxInpueValue}", DeTextBox, 3000);
DeTextBox.Clear();
DeTextBox.AppendText(dMaxInpueValue.ToString());
}
else if(usData < dMinInputValue)
else if (usData < dMinInputValue)
{
if( bEnglishLanguage == false)
ToolTip1.Show($"输入值为{dMinInputValue}-{dMaxInpueValue}的区间内",DeTextBox,3000);
if (bEnglishLanguage == false)
ToolTip1.Show($"输入值为{dMinInputValue}-{dMaxInpueValue}的区间内", DeTextBox, 3000);
else
ToolTip1.Show($"The input value is {dMinInputValue}-{dMaxInpueValue}",DeTextBox,3000);
ToolTip1.Show($"The input value is {dMinInputValue}-{dMaxInpueValue}", DeTextBox, 3000);
DeTextBox.Clear();
DeTextBox.AppendText(dMinInputValue.ToString());
}
else if(DeTextBox.Text.StartsWith("0") == true && DeTextBox.Text.IndexOf(".") != 1 || (DeTextBox.Text.IndexOf(".") > -1 && DeTextBox.Text.Length - DeTextBox.Text.IndexOf(".") > (bRetainBit + 1) && DeTextBox.Text.EndsWith("0") == true))
else if (DeTextBox.Text.StartsWith("0") == true && DeTextBox.Text.IndexOf(".") != 1 || (DeTextBox.Text.IndexOf(".") > -1 && DeTextBox.Text.Length - DeTextBox.Text.IndexOf(".") > (bRetainBit + 1) && DeTextBox.Text.EndsWith("0") == true))
{
DeTextBox.Clear();
DeTextBox.AppendText(usData.ToString());
}
else if(DeTextBox.Text.Length == (DeTextBox.Text.IndexOf(".") + 1))
else if (DeTextBox.Text.Length == (DeTextBox.Text.IndexOf(".") + 1))
{
}
else if (DeTextBox.Text.IndexOf(".") > -1 && DeTextBox.Text.Length - DeTextBox.Text.IndexOf(".") > (bRetainBit + 1))
{
if(bEnglishLanguage == false)
ToolTip1.Show($"精确小数点后{bRetainBit}位",DeTextBox,3000);
if (bEnglishLanguage == false)
ToolTip1.Show($"精确小数点后{bRetainBit}位", DeTextBox, 3000);
else
ToolTip1.Show($"Exact {bRetainBit} places after decimal point",DeTextBox,3000);
ToolTip1.Show($"Exact {bRetainBit} places after decimal point", DeTextBox, 3000);
DeTextBox.Clear();
DeTextBox.AppendText(usData.ToString().Substring(0,usData.ToString().Length -1));
DeTextBox.AppendText(usData.ToString().Substring(0, usData.ToString().Length - 1));
}
}
else if(dMinInputValue < 0 && DeTextBox.Text == "-")
else if (dMinInputValue < 0 && DeTextBox.Text == "-")
{
}
else if(DeTextBox.Text != "" && DeTextBox.Text.Length != 0)
else if (DeTextBox.Text != "" && DeTextBox.Text.Length != 0)
{
string str = DeTextBox.Text;
if( bEnglishLanguage == false)
ToolTip1.Show($"输入值为{dMinInputValue}-{dMaxInpueValue}的区间内",DeTextBox,3000);
if (bEnglishLanguage == false)
ToolTip1.Show($"输入值为{dMinInputValue}-{dMaxInpueValue}的区间内", DeTextBox, 3000);
else
ToolTip1.Show($"The input value is {dMinInputValue}-{dMaxInpueValue}",DeTextBox,3000);
ToolTip1.Show($"The input value is {dMinInputValue}-{dMaxInpueValue}", DeTextBox, 3000);
DeTextBox.Clear();
DeTextBox.AppendText(str.Substring(0,str.Length -1));
DeTextBox.AppendText(str.Substring(0, str.Length - 1));
}
}
private void vInput_Limit_MouseLeave(object sender, EventArgs e)
{
TextBox DeTextBox = (TextBox)sender;
TextBox DeTextBox = (TextBox)sender;
//if(DeTextBox.Text == "")
//{
// DeTextBox.Text = "0";
//}
ToolTip1.Show("",DeTextBox,3000);
ToolTip1.Show("", DeTextBox, 3000);
}
}
......
......@@ -494,8 +494,8 @@ namespace GcDevicePc.ConfigMethod
//string message = "保存成功!";
//MessageBox.Show(message, "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
this.Close();
}
private void saveasbth_Click(object sender, EventArgs e)
......@@ -534,5 +534,10 @@ namespace GcDevicePc.ConfigMethod
{
}
private void MethodMain_FormClosing(object sender, FormClosingEventArgs e)
{
// StartForm._mMainForm.Activate();
}
}
}
This diff is collapsed.
......@@ -20,7 +20,6 @@ namespace GcDevicePc.ConfigMethod
public TCD(HWConfig hwconfig, ref GCMethodConfig methodconfig)
{
InitializeComponent();
this.hwconfig = hwconfig;
this.methodconfig = methodconfig;
}
......
......@@ -28,7 +28,6 @@ namespace GcDevicePc
private bool bEnglishLanguage = (Thread.CurrentThread.CurrentUICulture == CultureInfo.GetCultureInfo("en")) ? true:false;
public Formdebug()
{
InitializeComponent();
}
......
......@@ -15,17 +15,52 @@ namespace GcDevicePc.GCBuffer
/// </summary>
public struct FolderInfo
{
public string DataFolder; //数据保存目录
public string ConfigFolder; //程序配置目录
public string RunFolder; //当前程序运行目录
public string MethodFolder; //当前方法目录
public string StatusFolder; //当前配置目录
public string SubStatusFolder; //当前配置子目录
public string RunTabFolder; //当前运行表目录
public string FwFolder; //固件更新目录
public string StartUpFolder; //启动配置目录
public string TmpFolder; //TMPFile目录
public string LogFolder; //Log目录
/// <summary>
/// 数据保存目录
/// </summary>
public string DataFolder;
/// <summary>
/// 程序配置目录
/// </summary>
public string ConfigFolder;
/// <summary>
/// 当前程序运行目录
/// </summary>
public string RunFolder;
/// <summary>
/// 当前方法目录
/// </summary>
public string MethodFolder;
/// <summary>
/// 当前配置目录
/// </summary>
public string StatusFolder;
/// <summary>
/// 当前配置子目录
/// </summary>
public string SubStatusFolder;
//当前运行表目录
public string RunTabFolder;
/// <summary>
/// 固件更新目录
/// </summary>
public string FwFolder;
/// <summary>
/// 启动配置目录
/// </summary>
public string StartUpFolder;
/// <summary>
/// TMPFile目录
/// </summary>
public string TmpFolder;
/// <summary>
/// Log目录
/// </summary>
public string LogFolder;
/// <summary>
/// ZB谱图保存时是否启用文件分级(即方法名+日期作为子文件夹),0=不启用
/// </summary>
public string FileClassification;
}
/// <summary>
/// 所有文件的名称(方法、批处理、配置等)
......@@ -104,6 +139,7 @@ namespace GcDevicePc.GCBuffer
public PCBuffer()
{
gcpcinfo.pcfolderinfo.DataFolder = null;
gcpcinfo.pcfolderinfo.FileClassification = null;
gcpcinfo.pcfolderinfo.ConfigFolder = null;
gcpcinfo.pcfolderinfo.MethodFolder = null;
gcpcinfo.pcfolderinfo.StatusFolder = null;
......@@ -159,7 +195,20 @@ namespace GcDevicePc.GCBuffer
int opensys = ini.ReadInteger("StartUp", "打开系统");
int runtype = ini.ReadInteger("StartUp", "运行类型");
gcpcinfo.pcfolderinfo.DataFolder = ini.ReadString("DataFolder", "历史数据");
string strpath=ini.ReadString("DataFolder", "历史数据");
if (strpath=="")
{
string strnewpath=Path.Combine(Path.GetDirectoryName(System.Windows.Forms.Application.StartupPath), "GC_Config\\GC_Set\\Historical Data");
gcpcinfo.pcfolderinfo.DataFolder =strnewpath ;
ini.WriteString("DataFolder", "历史数据",strnewpath);
}
else
{
gcpcinfo.pcfolderinfo.DataFolder =strpath ;
}
gcpcinfo.pcfolderinfo.FileClassification=ini.ReadString("DataFolder", "分级文件夹");
int Version = ini.ReadInteger("Version", "VersionType");
string uname = ini.ReadString("User", "Name");
......@@ -289,6 +338,7 @@ namespace GcDevicePc.GCBuffer
gcpcinfo.pcworkinfo.sendtoSP = false;
gcpcinfo.pcworkinfo.sendType = null;
gcpcinfo.pcfolderinfo.DataFolder = null;
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.FileClassification=null;
}
}
catch (Exception e)
......
......@@ -117,12 +117,13 @@
<Reference Include="C1.Win.C1Command.2, Version=2.0.20201.416, Culture=neutral, PublicKeyToken=e808566f358766d8" />
<Reference Include="C1.Win.C1Command.4, Version=4.0.20201.416, Culture=neutral, PublicKeyToken=e808566f358766d8, processorArchitecture=MSIL" />
<Reference Include="C1.Win.C1Input.2, Version=2.0.20201.416, Culture=neutral, PublicKeyToken=7e7ff60f0c214f9a, processorArchitecture=MSIL" />
<Reference Include="CKVocAlgorithm">
<HintPath>..\dll\CKVocAlgorithm.dll</HintPath>
<Reference Include="CKVocAlgorithm, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Users\a\Desktop\色谱仪\新建文件夹\gcdevicepc_nmoc8-16\CKVocAlgorithm\bin\Debug\CKVocAlgorithm.dll</HintPath>
</Reference>
<Reference Include="CKVocAnalyzer, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\x86\Debug\CKVocAnalyzer.dll</HintPath>
<HintPath>C:\Users\a\Desktop\色谱仪\新建文件夹\gcdevicepc_nmoc8-16\CKVocAnalyzer\bin\Debug\CKVocAnalyzer.dll</HintPath>
</Reference>
<Reference Include="Ini.Net, Version=1.0.5531.18665, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ini.net.1.1.0\lib\net20\Ini.Net.dll</HintPath>
......
......@@ -18,7 +18,7 @@
<EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
</PropertyGroup>
<PropertyGroup>
<ReferencePath>C:\Users\a\Desktop\色谱仪\新建文件夹\Vocs_opt\dll\</ReferencePath>
<ReferencePath>D:\work\Vocs\dll\</ReferencePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<StartAction>Project</StartAction>
......
......@@ -20,7 +20,6 @@ using System.Threading.Tasks;
using System.Text;
namespace GcDevicePc
{
public partial class MDIBase : Form
{
......@@ -63,6 +62,10 @@ namespace GcDevicePc
private bool bShowCloseSelset = true;
private bool bRestartAPP = false;
/// <summary>
/// PC版本号,主界面显示,关于显示
/// </summary>
public static string PCVersion = "1.8.7";
/// <summary>
/// HMI控制接口
/// </summary>
HMIControl hmiopt;
......@@ -358,6 +361,16 @@ namespace GcDevicePc
/// 图标菜单
/// </summary>
GCTitle title = new GCTitle();
private void DllChange()
{
string file = Path.Combine(Path.GetDirectoryName(System.Windows.Forms.Application.StartupPath), "GC_Config\\GC_Set\\Startup\\startup.ini");
if (File.Exists(file))
{
IniFile ini = new IniFile(file);
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.DataFolder = ini.ReadString("DataFolder", "历史数据");
globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.FileClassification=ini.ReadString("DataFolder", "分级文件夹");
}
}
/// <summary>
/// 主窗口载入
/// </summary>
......@@ -365,6 +378,7 @@ namespace GcDevicePc
/// <param name="e"></param>
private void MDIBase_Load(object sender, EventArgs e)
{
CKVocAnalyzer.CtrlWaveHistory.delChange+=new CKVocAnalyzer.DelChange(DllChange);
_userForm = new FormUser();
DllInit();
......@@ -894,7 +908,7 @@ namespace GcDevicePc
/// 1.0.2.3 添加了周期完成后,重新绘图功能
private void timer1_Tick(object sender, EventArgs e)
{
this.Text = String.Format("{0}-1.8.3{1}", globaldata.AppName, Formstr);
this.Text = String.Format("{0}-{1}{2}", globaldata.AppName, PCVersion, Formstr);
HmiStatus.Text = bEnglishLanguage == false ? String.Format("色谱状态:{0}", statestr) : String.Format("State:{0}", statestr);
tool_CounterControlStatus.Text = bEnglishLanguage == false ? String.Format("进样器:{0}", AntiControlState) : String.Format("RECC:{0}", AntiControlState);
timespan = System.DateTime.Now - startTime;
......@@ -2912,13 +2926,13 @@ namespace GcDevicePc
{
if (hist == null)
{
hist = new HistChartForm(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.DataFolder);
hist = new HistChartForm();
hist.Show();
}
else if (hist.IsDisposed)
{
hist = null;
hist = new HistChartForm(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.DataFolder);
hist = new HistChartForm();
hist.Show();
}
else
......@@ -2932,6 +2946,28 @@ namespace GcDevicePc
Log.Error(ex.Message);
}
}
/// <summary>
/// 后期实现自动打印
/// </summary>
public void AutoPrint()
{
if (hist == null)
{
hist = new HistChartForm();
hist.Hide();
}
else if (hist.IsDisposed)
{
hist = null;
hist = new HistChartForm();
hist.Hide();
}
else
{
//
}
}
/// <summary>
/// 仪器配置窗口
......
......@@ -14,6 +14,9 @@ using System.Threading.Tasks;
namespace GcDevicePc.ProThread
{
/// <summary>
/// ZB谱图保存
/// </summary>
class ChannelDataSaveSum
{
ManualResetEvent datamre = new ManualResetEvent(false);
......@@ -70,12 +73,20 @@ namespace GcDevicePc.ProThread
String tmpFileName = globaldata.m_pcbuffer.gcpcinfo.pcfileinfo.cur_MethodName;
String methodfilename = tmpFileName.Substring(tmpFileName.LastIndexOf("\\") + 1);
string[] sArray = methodfilename.Split('.');
String tmpfolder = Path.Combine(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.DataFolder, sArray[0]);
if (!Directory.Exists(tmpfolder))
String tmpfolder="";
//是否启用文件夹分级
if (globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.FileClassification=="0")
{
tmpfolder = Path.Combine(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.DataFolder);
}
else
{
Directory.CreateDirectory(tmpfolder);
tmpfolder = Path.Combine(globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.DataFolder, sArray[0]);
}
//if (!Directory.Exists(tmpfolder))
//{
// Directory.CreateDirectory(tmpfolder);
//}
#endregion
//保证在lock{}执行代码期间,被锁数组不会被干掉
......@@ -94,7 +105,11 @@ namespace GcDevicePc.ProThread
if (saveflag== false)
{
tmpfolder = Path.Combine(tmpfolder, DateTime.Now.ToString("yyyyMMdd"));
if (globaldata.m_pcbuffer.gcpcinfo.pcfolderinfo.FileClassification=="1")
{
tmpfolder = Path.Combine(tmpfolder, DateTime.Now.ToString("yyyyMMdd"));
}
if (!Directory.Exists(tmpfolder))
{
Directory.CreateDirectory(tmpfolder);
......
......@@ -77,31 +77,63 @@ namespace GcDevicePc.ProThread
//{
// Meshport = "本地连接";
//}
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface adapter in nics)
{
if (adapter.OperationalStatus == OperationalStatus.Up) //&& (adapter.Name == Meshport || string.IsNullOrEmpty(Meshport)))
//int ValidLink = 0;
////NetworkInterface没有移除属性,同过先遍历的方式得知活跃ip数
//foreach (NetworkInterface item in nics)
//{
// if (item.OperationalStatus != OperationalStatus.Up)
// {
// ValidLink++;
// }
//}
//每个活跃的网口消耗搜索时长的1/10,循环直至为0;单位ms
//int TotalSearchTiem = Convert.ToInt32(strSearchTiem) * 1000;
//int UnitSearchTiem = TotalSearchTiem / ValidLink ;
//if (UnitSearchTiem < 100)
//{
// UnitSearchTiem = 100;
//}
//while (TotalSearchTiem > 0)
//{
foreach (NetworkInterface adapter in nics)
{
bool pd1 = (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet || adapter.NetworkInterfaceType == NetworkInterfaceType.Wireless80211); //判断是否是以太网连接或者WIFI
if (pd1)
if (adapter.OperationalStatus == OperationalStatus.Up) //&& (adapter.Name == Meshport || string.IsNullOrEmpty(Meshport)))
{
IPInterfaceProperties ip = adapter.GetIPProperties(); //IP配置信息
UnicastIPAddressInformationCollection ipCollection = ip.UnicastAddresses;
foreach (UnicastIPAddressInformation ipadd in ipCollection)
bool pd1 = (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet || adapter.NetworkInterfaceType == NetworkInterfaceType.Wireless80211); //判断是否是以太网连接或者WIFI
if (pd1)
{
if (ipadd.Address.AddressFamily == AddressFamily.InterNetwork)
IPInterfaceProperties ip = adapter.GetIPProperties(); //IP配置信息
UnicastIPAddressInformationCollection ipCollection = ip.UnicastAddresses;
foreach (UnicastIPAddressInformation ipadd in ipCollection)
{
this._localip.Add(ipadd.Address.ToString());//获取ip
this._localmask.Add(ipadd.IPv4Mask.ToString());//获取子网掩码
this._adapter.Add(adapter.Name.ToString());//网口名称
if (ipadd.Address.AddressFamily == AddressFamily.InterNetwork)
{
//如果获得的ip地址=当前adapter的ip地址,则循环重新获取(表示不存在任何接口)
if (ipadd.Address == ip.UnicastAddresses[1].Address) //IP地址)
{
this._localip.Add(ipadd.Address.ToString());//获取ip
this._localmask.Add(ipadd.IPv4Mask.ToString());//获取子网掩码
this._adapter.Add(adapter.Name.ToString());//网口名称
// break;
}
}
}
}
}
}
}
// Thread.Sleep(UnitSearchTiem);
// TotalSearchTiem -= UnitSearchTiem;
// continue;
//}
if (_adapter.Contains(Meshport) == true)//网口是否已存在_adapter集合
{
int sIndex = _adapter.IndexOf(Meshport);
......@@ -124,6 +156,7 @@ namespace GcDevicePc.ProThread
public Boolean ThStart()
{
//启动HMI搜索
//if (this._localip == null || this._localip.Count == 0 )
//{
// return false;
......@@ -241,6 +274,7 @@ namespace GcDevicePc.ProThread
ushort countDown = usSearchTime;//限定时间,用于倒计时判定
while (countDown > 0)
{
for (int i = 0; i < _localip.Count; i++)
{
sLocalIPIndex = i;
......@@ -258,7 +292,7 @@ namespace GcDevicePc.ProThread
}
// endpoint = new IPEndPoint(IPAddress.Parse("192.168.10.230"), 233);
client.Send(sendBytes, sendBytes.Length, endpoint);
// Thread.Sleep(500);
// Thread.Sleep(500);
byte[] recvBytes;
client.Client.Blocking = false;
UInt16 usTrytimes = 0;
......@@ -272,25 +306,38 @@ namespace GcDevicePc.ProThread
recvBytes = client.Receive(ref endpoint);
iReadBytes = recvBytes.Length;
if (DoRecvDataCallBack(recvBytes, iReadBytes) == true)
{
continue;
// break;
} // continue;
if (countDown > 20)
{
countDown -= 20;//既不能让搜索时长过长,也要保证HMI更新搜索IP时足够
}
}
else
{
usTrytimes++;
if (usTrytimes>20)
if (usTrytimes > 20)
{
countDown-=2;
if (countDown > 2 || countDown == 2)
{
countDown -= 2;
}
//每个IP搜索2S,限定时间内重复搜索各IP
break;
break;
}
// if (usTrytimes >= (usSearchTime / _localip.Count / 2))
// if (usTrytimes >= (usSearchTime / _localip.Count / 2))
// break;
}
Thread.Sleep(100);
}
}
//重新获取一次_localip,以解决先开启软件,后开启色谱无法联机的问题(当然总搜索时长至少坚持到色谱开机完成)
GetHmiIp();
}
//bool bCanfindMacAddr = false;
......
......@@ -27,7 +27,7 @@ namespace GcDevicePc
private static Thread _tPreload;
private static Thread SearchHMIThread;
private MainForm _mMainForm;
public static MainForm _mMainForm;
// private MDIBase _mMainForm;
private bool bBindOK = false;
private bool bStartSearchOK = false;
......
This diff is collapsed.
......@@ -458,6 +458,7 @@ namespace GcDevicePc
private void searchhmi()
{
//HMI更新
try
{
ProThread.HMISearch mysearch = new ProThread.HMISearch(null);
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
......@@ -117,40 +117,13 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="radioButton14.Text" xml:space="preserve">
<value>一直发送信号</value>
</data>
<data name="radioButton13.Text" xml:space="preserve">
<value>正常控制信号发送</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="groupBox8.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 108</value>
</data>
<data name="groupBox8.Size" type="System.Drawing.Size, System.Drawing">
<value>438, 83</value>
</data>
<data name="groupBox8.Text" xml:space="preserve">
<value>第三方信号发送方式</value>
</data>
<data name="radioButton3.Location" type="System.Drawing.Point, System.Drawing">
<value>117, 60</value>
</data>
<data name="radioButton1.Location" type="System.Drawing.Point, System.Drawing">
<value>117, 32</value>
</data>
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>436, 81</value>
</data>
<data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>436, 117</value>
<data name="groupBox9.Location" type="System.Drawing.Point, System.Drawing">
<value>273, 21</value>
</data>
<data name="groupBox7.Location" type="System.Drawing.Point, System.Drawing">
<value>22, 147</value>
</data>
<data name="groupBox7.Size" type="System.Drawing.Size, System.Drawing">
<value>269, 47</value>
</data>
<data name="groupBox6.Location" type="System.Drawing.Point, System.Drawing">
<value>25, 251</value>
</data>
......@@ -199,4 +172,25 @@
<data name="textBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>368, 33</value>
</data>
<data name="radioButton13.Text" xml:space="preserve">
<value>正常控制信号发送</value>
</data>
<data name="groupBox8.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 108</value>
</data>
<data name="groupBox8.Size" type="System.Drawing.Size, System.Drawing">
<value>438, 110</value>
</data>
<data name="radioButton3.Location" type="System.Drawing.Point, System.Drawing">
<value>117, 60</value>
</data>
<data name="radioButton1.Location" type="System.Drawing.Point, System.Drawing">
<value>117, 32</value>
</data>
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>436, 81</value>
</data>
<data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>436, 117</value>
</data>
</root>
\ No newline at end of file
This diff is collapsed.
[NetWorkConfig]
MAC地址=F8:02:78:60:70:76
网口=以太网 2
搜索时间=10
搜索时间=60
[StartUp]
自启动=0
打开系统=0
......@@ -12,7 +12,8 @@ Datetime=1
TdName=TVOC5.7
开机界面=1
[DataFolder]
历史数据=
历史数据=D:\work\Vocs\VocsSetup\GC_Config\GC_Set\Historical Data
分级文件夹=0
[Logs]
InfoLog=1
ErrLog=1
......
......@@ -8,8 +8,8 @@ Count3=FALSE
[O2CpdCount]
O2value=21
[免登录]
锚点日期=n/a
勾选类型=0
锚点日期=2022/2/18
勾选类型=1
[TempTrend]
启用网格X=FALSE
启用网格Y=FALSE
......
This diff is collapsed.
<?xml version="1.0"?>
<doc>
<assembly>
<name>Spire.License</name>
</assembly>
<members>
<member name="P:Spire.License.BaseLicenseInfo.IsBindingSuccess">
<summary>
Gets a value indicating whether license is binding success.
</summary>
<value><c>true</c> if license is binding success; otherwise, <c>false</c>.</value>
</member>
<member name="P:Spire.License.LicenseInfo.OriginalVersion">
<summary>
If current license object is converted from a previouse version license object,
this field will be set to the version of the original license object.
Otherwise it's null.
</summary>
</member>
<member name="P:Spire.License.LicenseInfo.IsUpdateRightExpired">
<summary>
Indicates whether the lincese puchase date is during one year.
</summary>
</member>
<member name="M:Spire.License.LicenseProvider.SetLicenseFileFullPath(System.String)">
<summary>
Provides a license by a license file path, which will be used for loading license.
</summary>
<param name="licenseFileFullPath">License file full path.</param>
</member>
<member name="M:Spire.License.LicenseProvider.SetLicenseFileName(System.String)">
<summary>
Sets the license file name, which will be used for loading license.
</summary>
<param name="licenseFileName">License file name.</param>
</member>
<member name="M:Spire.License.LicenseProvider.GetLicenseFileName">
<summary>
Gets the current license file name.
</summary>
<returns>The license file name, the default license file name is [license.elic.xml].</returns>
</member>
<member name="M:Spire.License.LicenseProvider.SetLicenseFile(System.IO.FileInfo)">
<summary>
Provides a license by a license file object, which will be used for loading license.
</summary>
<param name="licenseFile">License file object.</param>
</member>
<member name="M:Spire.License.LicenseProvider.SetLicenseFileStream(System.IO.Stream)">
<summary>
Provides a license by a license stream, which will be used for loading license.
</summary>
<param name="licenseFileStream">License data stream.</param>
</member>
<member name="M:Spire.License.LicenseProvider.SetLicenseKey(System.String)">
<summary>
Provides a license by a license key, which will be used for loading license.
</summary>
<param name="key">The value of the Key attribute of the element License of you license xml file.</param>
</member>
<member name="M:Spire.License.LicenseProvider.SetLicenseKey(System.String,System.Boolean)">
<summary>
Provides a license by a license key, which will be used for loading license.
</summary>
<param name="key">The value of the Key attribute of the element License of you license xml file.</param>
<param name="bIsSerialization">The serialization to verify license key.</param>
</member>
<member name="M:Spire.License.LicenseProvider.ClearLicense">
<summary>
Clear all cached license.
</summary>
</member>
<member name="M:Spire.License.LicenseProvider.LoadLicense">
<summary>
Load the license provided by current setting to the license cache.
</summary>
</member>
<member name="M:Spire.License.LicenseProvider.LoadLicense(System.Type)">
<summary>
Load the license provided by current setting to the license cache.
</summary>
<param name="type">Runtime product type</param>
</member>
<member name="M:Spire.License.LicenseProvider.GetLicense(System.ComponentModel.LicenseContext,System.Type,System.Object,System.Boolean)">
<param name="context"></param>
<param name="type"></param>
<param name="instance"></param>
<param name="allowExceptions"></param>
<returns></returns>
</member>
<member name="P:Spire.License.V1_0.LicenseInfo.IsUpdateRightExpired">
<summary>
Indicates whether the lincese puchase date is during one year.
</summary>
</member>
<member name="P:Spire.License.V1_1.LicenseInfo.IsUpdateRightExpired">
<summary>
Indicates whether the lincese puchase date is during one year.
</summary>
</member>
<member name="P:Spire.License.V1_2.LicenseInfo.IsUpdateRightExpired">
<summary>
Indicates whether the lincese puchase date is during one year.
</summary>
</member>
<member name="P:Spire.License.V1_3.LicenseInfo.IsUpdateRightExpired">
<summary>
Indicates whether the lincese puchase date is during one year.
</summary>
</member>
</members>
</doc>
This diff is collapsed.
......@@ -1085,3 +1085,72 @@
【2022-01-23 13:40:43.8933】,服务器开始启动:192.168.1.21:12345
【2022-01-23 13:43:14.6363】,用户admin,进入调试模式
【2022-01-25 15:24:55.7635】,服务器开始启动:192.168.1.182:12345
【2022-01-25 17:16:13.2402】,服务器开始启动:192.168.1.182:12345
【2022-01-25 17:19:25.4214】,服务器开始启动:192.168.1.182:12345
【2022-01-25 17:19:45.1886】,用户admin,进入调试模式
【2022-01-25 17:21:14.5951】,服务器开始启动:192.168.1.182:12345
【2022-01-25 17:21:32.3975】,用户admin,进入调试模式
【2022-01-25 17:23:48.9496】,服务器开始启动:192.168.1.182:12345
【2022-01-25 17:26:45.4288】,服务器开始启动:192.168.1.182:12345
【2022-01-25 17:28:39.2969】,服务器开始启动:192.168.1.182:12345
【2022-01-25 17:29:57.1782】,服务器开始启动:192.168.1.182:12345
【2022-01-25 17:30:08.4511】,用户admin,进入调试模式
【2022-01-25 17:32:10.2265】,服务器开始启动:192.168.1.182:12345
【2022-01-25 17:33:10.5343】,服务器开始启动:192.168.1.182:12345
【2022-01-25 17:33:44.3504】,服务器开始启动:192.168.1.182:12345
【2022-01-25 17:35:27.5844】,服务器开始启动:192.168.1.182:12345
【2022-01-25 17:36:15.7337】,服务器开始启动:192.168.1.182:12345
【2022-01-25 17:36:28.9235】,用户admin,进入调试模式
【2022-01-25 17:38:53.1868】,用户admin,进入调试模式
【2022-01-25 17:42:21.2485】,服务器开始启动:192.168.1.182:12345
【2022-02-07 15:15:16.0343】,服务器开始启动:192.168.1.182:12345
【2022-02-08 16:42:53.0720】,A开始保存数据
【2022-02-08 16:42:53.0930】,True
【2022-02-08 16:42:53.1079】,A保存
【2022-02-08 16:42:53.1259】,True
【2022-02-08 16:42:53.1369】,A保存
【2022-02-09 12:10:53.3025】,用户admin,进入调试模式
【2022-02-09 12:11:09.4114】,用户admin,进入调试模式
【2022-02-09 12:17:23.4949】,用户admin,进入调试模式
【2022-02-09 12:47:43.3316】,进入自动销户
【2022-02-09 17:13:56.4946】,用户admin,进入调试模式
【2022-02-15 15:46:06.8728】,服务器开始启动:192.168.1.182:12345
【2022-02-15 15:47:55.4965】,服务器开始启动:192.168.1.182:12345
【2022-02-15 15:51:37.1854】,服务器开始启动:192.168.1.182:12345
【2022-02-15 15:52:21.5040】,服务器开始启动:192.168.1.182:12345
【2022-02-15 15:52:54.9885】,服务器开始启动:192.168.1.182:12345
【2022-02-15 15:54:41.6464】,服务器开始启动:192.168.1.182:12345
【2022-02-15 15:59:44.3433】,服务器开始启动:192.168.1.182:12345
【2022-02-15 16:37:37.2725】,服务器开始启动:192.168.1.182:12345
【2022-02-15 16:38:19.5505】,服务器开始启动:192.168.1.182:12345
【2022-02-15 19:47:05.0221】,服务器开始启动:192.168.1.182:12345
【2022-02-16 13:47:54.2296】,服务器开始启动:192.168.1.182:12345
【2022-02-16 13:48:02.7239】,用户admin,进入调试模式
【2022-02-16 14:17:28.4367】,服务器开始启动:192.168.1.10:12345
【2022-02-16 14:17:32.4689】,用户admin,进入调试模式
【2022-02-16 14:20:01.3968】,服务器开始启动:192.168.1.10:12345
【2022-02-16 14:20:05.8270】,用户admin,进入调试模式
【2022-02-16 14:20:24.7454】,用户admin,进入调试模式
【2022-02-16 14:21:58.6803】,服务器开始启动:192.168.1.10:12345
【2022-02-16 14:22:02.7215】,用户admin,进入调试模式
【2022-02-16 14:27:23.3790】,服务器开始启动:192.168.1.10:12345
【2022-02-16 14:27:27.8749】,用户admin,进入调试模式
【2022-02-16 14:35:22.6579】,服务器开始启动:192.168.1.10:12345
【2022-02-16 14:35:27.6855】,用户admin,进入调试模式
【2022-02-16 14:36:44.2693】,服务器开始启动:192.168.1.10:12345
【2022-02-16 14:36:49.8693】,用户admin,进入调试模式
【2022-02-16 14:37:51.7519】,服务器开始启动:192.168.1.10:12345
【2022-02-16 14:37:55.8550】,用户admin,进入调试模式
【2022-02-16 14:44:41.3341】,服务器开始启动:192.168.1.10:12345
【2022-02-16 14:44:57.6824】,用户admin,进入调试模式
【2022-02-16 14:46:17.3714】,服务器开始启动:192.168.1.10:12345
【2022-02-16 14:48:08.1852】,服务器开始启动:192.168.1.10:12345
【2022-02-16 14:48:15.4388】,用户admin,进入调试模式
【2022-02-16 14:50:44.4754】,服务器开始启动:192.168.1.10:12345
【2022-02-16 14:51:01.1857】,用户admin,进入调试模式
【2022-02-16 14:53:28.0901】,服务器开始启动:192.168.1.10:12345
【2022-02-16 14:55:14.6447】,服务器开始启动:192.168.1.10:12345
【2022-02-16 14:55:29.8940】,用户admin,进入调试模式
【2022-02-16 15:02:07.1672】,服务器开始启动:192.168.1.10:12345
【2022-02-16 15:15:20.1999】,服务器开始启动:192.168.1.10:12345
【2022-02-17 11:33:54.7627】,服务器开始启动:192.168.1.10:12345
This diff is collapsed.
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
This diff is collapsed.
<?xml version="1.0"?>
<doc>
<assembly>
<name>Spire.License</name>
</assembly>
<members>
<member name="P:Spire.License.BaseLicenseInfo.IsBindingSuccess">
<summary>
Gets a value indicating whether license is binding success.
</summary>
<value><c>true</c> if license is binding success; otherwise, <c>false</c>.</value>
</member>
<member name="P:Spire.License.LicenseInfo.OriginalVersion">
<summary>
If current license object is converted from a previouse version license object,
this field will be set to the version of the original license object.
Otherwise it's null.
</summary>
</member>
<member name="P:Spire.License.LicenseInfo.IsUpdateRightExpired">
<summary>
Indicates whether the lincese puchase date is during one year.
</summary>
</member>
<member name="M:Spire.License.LicenseProvider.SetLicenseFileFullPath(System.String)">
<summary>
Provides a license by a license file path, which will be used for loading license.
</summary>
<param name="licenseFileFullPath">License file full path.</param>
</member>
<member name="M:Spire.License.LicenseProvider.SetLicenseFileName(System.String)">
<summary>
Sets the license file name, which will be used for loading license.
</summary>
<param name="licenseFileName">License file name.</param>
</member>
<member name="M:Spire.License.LicenseProvider.GetLicenseFileName">
<summary>
Gets the current license file name.
</summary>
<returns>The license file name, the default license file name is [license.elic.xml].</returns>
</member>
<member name="M:Spire.License.LicenseProvider.SetLicenseFile(System.IO.FileInfo)">
<summary>
Provides a license by a license file object, which will be used for loading license.
</summary>
<param name="licenseFile">License file object.</param>
</member>
<member name="M:Spire.License.LicenseProvider.SetLicenseFileStream(System.IO.Stream)">
<summary>
Provides a license by a license stream, which will be used for loading license.
</summary>
<param name="licenseFileStream">License data stream.</param>
</member>
<member name="M:Spire.License.LicenseProvider.SetLicenseKey(System.String)">
<summary>
Provides a license by a license key, which will be used for loading license.
</summary>
<param name="key">The value of the Key attribute of the element License of you license xml file.</param>
</member>
<member name="M:Spire.License.LicenseProvider.SetLicenseKey(System.String,System.Boolean)">
<summary>
Provides a license by a license key, which will be used for loading license.
</summary>
<param name="key">The value of the Key attribute of the element License of you license xml file.</param>
<param name="bIsSerialization">The serialization to verify license key.</param>
</member>
<member name="M:Spire.License.LicenseProvider.ClearLicense">
<summary>
Clear all cached license.
</summary>
</member>
<member name="M:Spire.License.LicenseProvider.LoadLicense">
<summary>
Load the license provided by current setting to the license cache.
</summary>
</member>
<member name="M:Spire.License.LicenseProvider.LoadLicense(System.Type)">
<summary>
Load the license provided by current setting to the license cache.
</summary>
<param name="type">Runtime product type</param>
</member>
<member name="M:Spire.License.LicenseProvider.GetLicense(System.ComponentModel.LicenseContext,System.Type,System.Object,System.Boolean)">
<param name="context"></param>
<param name="type"></param>
<param name="instance"></param>
<param name="allowExceptions"></param>
<returns></returns>
</member>
<member name="P:Spire.License.V1_0.LicenseInfo.IsUpdateRightExpired">
<summary>
Indicates whether the lincese puchase date is during one year.
</summary>
</member>
<member name="P:Spire.License.V1_1.LicenseInfo.IsUpdateRightExpired">
<summary>
Indicates whether the lincese puchase date is during one year.
</summary>
</member>
<member name="P:Spire.License.V1_2.LicenseInfo.IsUpdateRightExpired">
<summary>
Indicates whether the lincese puchase date is during one year.
</summary>
</member>
<member name="P:Spire.License.V1_3.LicenseInfo.IsUpdateRightExpired">
<summary>
Indicates whether the lincese puchase date is during one year.
</summary>
</member>
</members>
</doc>
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment