B2022-026 RO Memory reduction coding

This commit is contained in:
2022-05-26 19:55:07 +00:00
parent 61febac1a0
commit 27993553cb
21 changed files with 6827 additions and 5160 deletions

View File

@@ -28,17 +28,16 @@ namespace Volian.Controls.Library
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DisplayRO));
this.tvROFST = new System.Windows.Forms.TreeView();
this.panelValue = new System.Windows.Forms.Panel();
this.lbROId = new DevComponents.DotNetBar.LabelX();
this.lblROID = new DevComponents.DotNetBar.LabelX();
this.pnlROButtons = new System.Windows.Forms.Panel();
this.btnFindDocRO = new DevComponents.DotNetBar.ButtonX();
this.btnGoToRO = new DevComponents.DotNetBar.ButtonX();
this.btnPreviewRO = new DevComponents.DotNetBar.ButtonX();
this.btnCancelRO = new DevComponents.DotNetBar.ButtonX();
this.btnSaveRO = new DevComponents.DotNetBar.ButtonX();
this.btnFindDocRO = new DevComponents.DotNetBar.ButtonX();
this.panelRoValue = new System.Windows.Forms.Panel();
this.tbROValue = new DevComponents.DotNetBar.Controls.TextBoxX();
this.lblROValue = new DevComponents.DotNetBar.LabelX();
@@ -53,10 +52,9 @@ namespace Volian.Controls.Library
//
this.tvROFST.Dock = System.Windows.Forms.DockStyle.Fill;
this.tvROFST.HideSelection = false;
this.tvROFST.Location = new System.Drawing.Point(0, 248);
this.tvROFST.Margin = new System.Windows.Forms.Padding(4);
this.tvROFST.Location = new System.Drawing.Point(0, 202);
this.tvROFST.Name = "tvROFST";
this.tvROFST.Size = new System.Drawing.Size(311, 376);
this.tvROFST.Size = new System.Drawing.Size(233, 305);
this.tvROFST.TabIndex = 5;
this.tvROFST.BeforeExpand += new System.Windows.Forms.TreeViewCancelEventHandler(this.tvROFST_BeforeExpand);
this.tvROFST.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.tvROFST_AfterSelect);
@@ -70,9 +68,8 @@ namespace Volian.Controls.Library
this.panelValue.Controls.Add(this.panelRoValue);
this.panelValue.Dock = System.Windows.Forms.DockStyle.Top;
this.panelValue.Location = new System.Drawing.Point(0, 0);
this.panelValue.Margin = new System.Windows.Forms.Padding(4);
this.panelValue.Name = "panelValue";
this.panelValue.Size = new System.Drawing.Size(311, 180);
this.panelValue.Size = new System.Drawing.Size(233, 146);
this.panelValue.TabIndex = 7;
//
// lbROId
@@ -83,10 +80,10 @@ namespace Volian.Controls.Library
this.lbROId.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.lbROId.Dock = System.Windows.Forms.DockStyle.Left;
this.lbROId.ForeColor = System.Drawing.SystemColors.Highlight;
this.lbROId.Location = new System.Drawing.Point(61, 30);
this.lbROId.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.lbROId.Location = new System.Drawing.Point(48, 24);
this.lbROId.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.lbROId.Name = "lbROId";
this.lbROId.Size = new System.Drawing.Size(244, 40);
this.lbROId.Size = new System.Drawing.Size(183, 33);
this.superTooltip1.SetSuperTooltip(this.lbROId, new DevComponents.DotNetBar.SuperTooltipInfo("RO ID", "", "The RO ID for the selected RO Value will be displayed here. Double-Click to open" +
" the RO Editor.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(150, 80)));
this.lbROId.TabIndex = 11;
@@ -99,14 +96,13 @@ namespace Volian.Controls.Library
//
this.lblROID.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.lblROID.Dock = System.Windows.Forms.DockStyle.Left;
this.lblROID.Location = new System.Drawing.Point(0, 30);
this.lblROID.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.lblROID.Location = new System.Drawing.Point(0, 24);
this.lblROID.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.lblROID.Name = "lblROID";
this.lblROID.Size = new System.Drawing.Size(61, 40);
this.lblROID.Size = new System.Drawing.Size(48, 33);
this.superTooltip1.SetSuperTooltip(this.lblROID, new DevComponents.DotNetBar.SuperTooltipInfo("RO ID", "", "The RO ID for the selected RO Value will be displayed here.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(150, 80)));
this.lblROID.TabIndex = 10;
this.lblROID.Text = "RO ID:";
this.lblROID.TextAlignment = System.Drawing.StringAlignment.Center;
//
// pnlROButtons
//
@@ -116,27 +112,41 @@ namespace Volian.Controls.Library
this.pnlROButtons.Controls.Add(this.btnCancelRO);
this.pnlROButtons.Controls.Add(this.btnSaveRO);
this.pnlROButtons.Dock = System.Windows.Forms.DockStyle.Bottom;
this.pnlROButtons.Location = new System.Drawing.Point(0, 70);
this.pnlROButtons.Margin = new System.Windows.Forms.Padding(4);
this.pnlROButtons.Location = new System.Drawing.Point(0, 57);
this.pnlROButtons.Name = "pnlROButtons";
this.pnlROButtons.Size = new System.Drawing.Size(311, 110);
this.pnlROButtons.Size = new System.Drawing.Size(233, 89);
this.pnlROButtons.TabIndex = 9;
//
// btnFindDocRO
//
this.btnFindDocRO.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnFindDocRO.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnFindDocRO.Dock = System.Windows.Forms.DockStyle.Top;
this.btnFindDocRO.Enabled = false;
this.btnFindDocRO.Location = new System.Drawing.Point(0, 73);
this.btnFindDocRO.Name = "btnFindDocRO";
this.btnFindDocRO.Size = new System.Drawing.Size(233, 18);
this.superTooltip1.SetSuperTooltip(this.btnFindDocRO, new DevComponents.DotNetBar.SuperTooltipInfo("Find Doc RO", "", "Determine if there are any ROs for the selected text in a Word Document. If found" +
", the list of ROs is displayed.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
this.btnFindDocRO.TabIndex = 9;
this.btnFindDocRO.Text = "Find Doc RO";
this.btnFindDocRO.Click += new System.EventHandler(this.btnFindDocRO_Click);
//
// btnGoToRO
//
this.btnGoToRO.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnGoToRO.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnGoToRO.Dock = System.Windows.Forms.DockStyle.Top;
this.btnGoToRO.Enabled = false;
this.btnGoToRO.Location = new System.Drawing.Point(0, 89);
this.btnGoToRO.Location = new System.Drawing.Point(0, 55);
this.btnGoToRO.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.btnGoToRO.Name = "btnGoToRO";
this.btnGoToRO.Size = new System.Drawing.Size(311, 22);
this.btnGoToRO.Size = new System.Drawing.Size(233, 18);
this.btnGoToRO.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.btnGoToRO, new DevComponents.DotNetBar.SuperTooltipInfo("Go To", "", "Opens the RO Editor and positions to the selected RO.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
this.btnGoToRO.TabIndex = 11;
this.btnGoToRO.Text = "Go To";
this.btnGoToRO.Click += new System.EventHandler(this.btnGoToRO_Click);
this.superTooltip1.SetSuperTooltip(this.btnGoToRO, new DevComponents.DotNetBar.SuperTooltipInfo("Go To", "", "Opens the RO Editor and positions to the selected RO.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); // C2020-020
//
// btnPreviewRO
//
@@ -144,10 +154,10 @@ namespace Volian.Controls.Library
this.btnPreviewRO.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnPreviewRO.Dock = System.Windows.Forms.DockStyle.Top;
this.btnPreviewRO.Enabled = false;
this.btnPreviewRO.Location = new System.Drawing.Point(0, 67);
this.btnPreviewRO.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.btnPreviewRO.Location = new System.Drawing.Point(0, 37);
this.btnPreviewRO.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.btnPreviewRO.Name = "btnPreviewRO";
this.btnPreviewRO.Size = new System.Drawing.Size(311, 22);
this.btnPreviewRO.Size = new System.Drawing.Size(233, 18);
this.superTooltip1.SetSuperTooltip(this.btnPreviewRO, new DevComponents.DotNetBar.SuperTooltipInfo("Preview", "", "This will Preview the selected RO Table, X/Y Plot, or Image.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(150, 80)));
this.btnPreviewRO.TabIndex = 10;
this.btnPreviewRO.Text = "Preview";
@@ -159,10 +169,9 @@ namespace Volian.Controls.Library
this.btnCancelRO.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnCancelRO.Dock = System.Windows.Forms.DockStyle.Top;
this.btnCancelRO.Enabled = false;
this.btnCancelRO.Location = new System.Drawing.Point(0, 44);
this.btnCancelRO.Margin = new System.Windows.Forms.Padding(4);
this.btnCancelRO.Location = new System.Drawing.Point(0, 18);
this.btnCancelRO.Name = "btnCancelRO";
this.btnCancelRO.Size = new System.Drawing.Size(311, 23);
this.btnCancelRO.Size = new System.Drawing.Size(233, 19);
this.superTooltip1.SetSuperTooltip(this.btnCancelRO, new DevComponents.DotNetBar.SuperTooltipInfo("Cancel", "", "This become active when you about to replace an existing RO link in you procedure" +
".\r\n\r\nNOTE: This willL NOT un-do after you select the Save RO button.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(195, 145)));
this.btnCancelRO.TabIndex = 9;
@@ -175,40 +184,22 @@ namespace Volian.Controls.Library
this.btnSaveRO.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnSaveRO.Dock = System.Windows.Forms.DockStyle.Top;
this.btnSaveRO.Enabled = false;
this.btnSaveRO.Location = new System.Drawing.Point(0, 22);
this.btnSaveRO.Margin = new System.Windows.Forms.Padding(4);
this.btnSaveRO.Location = new System.Drawing.Point(0, 0);
this.btnSaveRO.Name = "btnSaveRO";
this.btnSaveRO.Size = new System.Drawing.Size(311, 22);
this.superTooltip1.SetSuperTooltip(this.btnSaveRO, new DevComponents.DotNetBar.SuperTooltipInfo("Save RO", "", "Saves the RO at the cursor location in either a step or a Word document.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); // C2020-020
this.btnSaveRO.Size = new System.Drawing.Size(233, 18);
this.superTooltip1.SetSuperTooltip(this.btnSaveRO, new DevComponents.DotNetBar.SuperTooltipInfo("Save RO", "", "Saves the RO at the cursor location in either a step or a Word document.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
this.btnSaveRO.TabIndex = 8;
this.btnSaveRO.Text = "Save RO";
this.btnSaveRO.Click += new System.EventHandler(this.btnSaveRO_Click);
//
// btnFindDocRO
//
this.btnFindDocRO.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnFindDocRO.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnFindDocRO.Dock = System.Windows.Forms.DockStyle.Top;
this.btnFindDocRO.Enabled = false;
this.btnFindDocRO.Location = new System.Drawing.Point(0, 0);
this.btnFindDocRO.Margin = new System.Windows.Forms.Padding(4);
this.btnFindDocRO.Name = "btnFindDocRO";
this.btnFindDocRO.Size = new System.Drawing.Size(311, 22);
//see if there are any ro's for the selected text & if so, display in the lbFound li
this.superTooltip1.SetSuperTooltip(this.btnFindDocRO, new DevComponents.DotNetBar.SuperTooltipInfo("Find Doc RO", "", "Determine if there are any ROs for the selected text in a Word Document. If found, the list of ROs is displayed." , null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); // C2020-020
this.btnFindDocRO.TabIndex = 9;
this.btnFindDocRO.Text = "Find Doc RO";
this.btnFindDocRO.Click += new System.EventHandler(this.btnFindDocRO_Click);
//
// panelRoValue
//
this.panelRoValue.Controls.Add(this.tbROValue);
this.panelRoValue.Controls.Add(this.lblROValue);
this.panelRoValue.Dock = System.Windows.Forms.DockStyle.Top;
this.panelRoValue.Location = new System.Drawing.Point(0, 0);
this.panelRoValue.Margin = new System.Windows.Forms.Padding(4);
this.panelRoValue.Name = "panelRoValue";
this.panelRoValue.Size = new System.Drawing.Size(311, 30);
this.panelRoValue.Size = new System.Drawing.Size(233, 24);
this.panelRoValue.TabIndex = 8;
//
// tbROValue
@@ -220,11 +211,10 @@ namespace Volian.Controls.Library
this.tbROValue.Border.Class = "TextBoxBorder";
this.tbROValue.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.tbROValue.Dock = System.Windows.Forms.DockStyle.Top;
this.tbROValue.Location = new System.Drawing.Point(64, 0);
this.tbROValue.Margin = new System.Windows.Forms.Padding(4);
this.tbROValue.Location = new System.Drawing.Point(48, 0);
this.tbROValue.Name = "tbROValue";
this.tbROValue.ReadOnly = true;
this.tbROValue.Size = new System.Drawing.Size(247, 22);
this.tbROValue.Size = new System.Drawing.Size(185, 20);
this.superTooltip1.SetSuperTooltip(this.tbROValue, new DevComponents.DotNetBar.SuperTooltipInfo("RO Value", "", "The value of selected RO will be displayed here.\r\n\r\nExceptions:\r\n- Tables, X/Y Pl" +
"ots, and Images will state what they are. The Preview button will display the va" +
"lue.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(230, 135)));
@@ -239,17 +229,15 @@ namespace Volian.Controls.Library
//
this.lblROValue.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.lblROValue.Dock = System.Windows.Forms.DockStyle.Left;
this.lblROValue.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblROValue.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblROValue.Location = new System.Drawing.Point(0, 0);
this.lblROValue.Margin = new System.Windows.Forms.Padding(4);
this.lblROValue.Name = "lblROValue";
this.lblROValue.Size = new System.Drawing.Size(64, 30);
this.lblROValue.Size = new System.Drawing.Size(48, 24);
this.superTooltip1.SetSuperTooltip(this.lblROValue, new DevComponents.DotNetBar.SuperTooltipInfo("RO Value", "", "The value of selected RO will be displayed here.\r\n\r\nExceptions:\r\n- Tables, X/Y Pl" +
"ots, and Images will state what they are. The Preview button will display the va" +
"lue.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(230, 135)));
this.lblROValue.TabIndex = 6;
this.lblROValue.Text = "RO Value:";
this.lblROValue.TextLineAlignment = System.Drawing.StringAlignment.Near;
//
// superTooltip1
//
@@ -260,11 +248,9 @@ namespace Volian.Controls.Library
//
this.lbFound.Dock = System.Windows.Forms.DockStyle.Top;
this.lbFound.FormattingEnabled = true;
this.lbFound.ItemHeight = 16;
this.lbFound.Location = new System.Drawing.Point(0, 180);
this.lbFound.Margin = new System.Windows.Forms.Padding(4);
this.lbFound.Location = new System.Drawing.Point(0, 146);
this.lbFound.Name = "lbFound";
this.lbFound.Size = new System.Drawing.Size(311, 68);
this.lbFound.Size = new System.Drawing.Size(233, 56);
this.superTooltip1.SetSuperTooltip(this.lbFound, new DevComponents.DotNetBar.SuperTooltipInfo("Available ROs", "", "ROs that are available are displayed in a tree view. ", null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
this.lbFound.TabIndex = 8;
this.lbFound.Visible = false;
@@ -272,14 +258,13 @@ namespace Volian.Controls.Library
//
// DisplayRO
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.tvROFST);
this.Controls.Add(this.lbFound);
this.Controls.Add(this.panelValue);
this.Margin = new System.Windows.Forms.Padding(4);
this.Name = "DisplayRO";
this.Size = new System.Drawing.Size(311, 624);
this.Size = new System.Drawing.Size(233, 507);
this.panelValue.ResumeLayout(false);
this.pnlROButtons.ResumeLayout(false);
this.panelRoValue.ResumeLayout(false);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -537,7 +537,8 @@ namespace Volian.Controls.Library
}
else
{
ActivateRemainingTab((Bar)sender);
if (!ShuttingDown) // B2022-026 RO Memory Reduction code - don't activate if shutting down PROMS
ActivateRemainingTab((Bar)sender);
}
}
#endregion

View File

@@ -3347,10 +3347,17 @@ namespace Volian.Controls.Library
using (DocVersion dv = DocVersion.Get(Mydvi.VersionID))
{
swROUpdate = new System.IO.StreamWriter(ROFstInfo.ROUpdateResultsPath(Mydvi));
// B2022-026 RO Memory Reduction code - first load the new ro.fst so that we can assign the ROTableUpdate event to the correct roFstInfo
if (dv.ROfstLoadingFigures || dv.NewerRoFst) // B2017-125 see if loading figures was completed
{
// only load the RO.fst
ROFstInfo.UpdateRoFst(roFstInfo.MyRODb, dv, roFstInfo, DoProgressBarRefresh);
roFstInfo = Mydvi.DocVersionAssociations[0].MyROFst;
}
roFstInfo.ROTableUpdate += new ROFstInfoROTableUpdateEvent(roFstInfo_ROTableUpdate);
swROUpdate = new System.IO.StreamWriter(ROFstInfo.ROUpdateResultsPath(Mydvi));// RO changes placed in file in the Documents\VEPROMS folder
ContentInfo.StaticContentInfoChange += ContentInfo_StaticContentInfoChange; // write changes to a text file
ROFst newrofst = ROFstInfo.RefreshROFst(roFstInfo.MyRODb, dv.DocVersionAssociations[0], dv, roFstInfo, DoProgressBarRefresh, null);
ROFst newrofst = ROFstInfo.RefreshROFst(dv, roFstInfo, DoProgressBarRefresh, null);
swROUpdate.Close();
ContentInfo.StaticContentInfoChange -= ContentInfo_StaticContentInfoChange;
roFstInfo.ROTableUpdate -= new ROFstInfoROTableUpdateEvent(roFstInfo_ROTableUpdate);
@@ -3720,12 +3727,12 @@ namespace Volian.Controls.Library
}
private void btnRefObjRefresh_Click(object sender, System.EventArgs e)
{
// This code is disabled - Button is not visible
this.Cursor = Cursors.WaitCursor;
ProcedureInfo.ResetROCounters();
ProcedureInfo.RefreshReferenceObjects(MyItemInfo.MyProcedure as ProcedureInfo);
this.Cursor = Cursors.Default;
FlexibleMessageBox.Show(this, string.Format("Checked {0} referenced objects, fixed {1} referenced objects", ProcedureInfo.ROCheckCount, ProcedureInfo.ROFixCount), "Results of Refresh Referenced Objects", MessageBoxButtons.OK, MessageBoxIcon.Information);
//// This code is disabled - Button is not visible
//this.Cursor = Cursors.WaitCursor;
// ProcedureInfo.ResetROCounters();
// ProcedureInfo.RefreshReferenceObjects(MyItemInfo.MyProcedure as ProcedureInfo);
// this.Cursor = Cursors.Default;
//FlexibleMessageBox.Show(this, string.Format("Checked {0} referenced objects, fixed {1} referenced objects", ProcedureInfo.ROCheckCount, ProcedureInfo.ROFixCount), "Results of Refresh Referenced Objects", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
//private FindReplace dlgFindReplace = null;
private void btnFindRplDlg_Click(object sender, EventArgs e)

View File

@@ -1955,10 +1955,17 @@ namespace Volian.Controls.Library
int ownerid = MySessionInfo.CheckOutItem(MyDVI.VersionID, CheckOutType.DocVersion);
using (DocVersion dv = DocVersion.Get(MyDVI.VersionID))
{
roFstInfo.ROTableUpdate += new ROFstInfoROTableUpdateEvent(roFstInfo_ROTableUpdate);
swROUpdate = new System.IO.StreamWriter(ROFstInfo.ROUpdateResultsPath(MyDVI)); // RO changes placed in file in the Documents\VEPROMS folder
// B2022-026 RO Memory Reduction code - first load the new ro.fst so that we can assign the ROTableUpdate event to the correct roFstInfo
if (dv.ROfstLoadingFigures || dv.NewerRoFst) // B2017-125 see if loading figures was completed
{
// only load the RO.fst
ROFstInfo.UpdateRoFst(roFstInfo.MyRODb, dv, roFstInfo, DoProgressBarRefresh);
roFstInfo = MyDVI.DocVersionAssociations[0].MyROFst;
}
roFstInfo.ROTableUpdate += new ROFstInfoROTableUpdateEvent(roFstInfo_ROTableUpdate);
ContentInfo.StaticContentInfoChange += ContentInfo_StaticContentInfoChange; // write changes to a text file
ROFst newrofst = ROFstInfo.RefreshROFst(roFstInfo.MyRODb, dv.DocVersionAssociations[0], dv, roFstInfo, DoProgressBarRefresh, null);
ROFst newrofst = ROFstInfo.RefreshROFst(dv, roFstInfo, DoProgressBarRefresh, null);
swROUpdate.Close();
ContentInfo.StaticContentInfoChange -= ContentInfo_StaticContentInfoChange;
roFstInfo.ROTableUpdate -= new ROFstInfoROTableUpdateEvent(roFstInfo_ROTableUpdate);