//──────────────────────────────────────── private void UsercontrolListbox_Paint(object sender, PaintEventArgs e) { Log_Method pg_Method = new Log_MethodImpl(1, Log_ReportsImpl.BDebugmode_Static); Log_Reports log_Reports_Dammy = new Log_ReportsImpl(pg_Method); pg_Method.BeginMethod(Info_Controls.Name_Library, this, "UcListbox_Paint",log_Reports_Dammy); UsercontrolListbox ucLst = (UsercontrolListbox)sender; if (!this.customcontrolListbox1.Visible) { // コントロールが不可視の場合、絵を描く。 bool bEnabled = ucLst.customcontrolListbox1.Enabled; // 自分の内側に線を引ければよい。 Rectangle rect = new Rectangle( 0, 0, ucLst.Width - 1, ucLst.Height - 1 ); if (!bEnabled) { // 編集不可能。 e.Graphics.FillRectangle(Brushes.LightGray, rect); } else { // 編集可能。 e.Graphics.FillRectangle(Brushes.White, rect); } e.Graphics.DrawRectangle( Pens.Black, rect ); // 縦スクロールバーの描画。 bool bVisibleVscrbar = false; if (bVisibleVscrbar) { Rectangle rect2 = new Rectangle( this.memoryVirticalscrollbar1.Bounds.X, this.memoryVirticalscrollbar1.Bounds.Y, this.memoryVirticalscrollbar1.Bounds.Width - 1, this.memoryVirticalscrollbar1.Bounds.Height - 1 ); if (!bEnabled) { // 編集不可能。 e.Graphics.FillRectangle(Brushes.LightGray, rect2); } else { // 編集可能。 e.Graphics.FillRectangle(this.memoryVirticalscrollbar1.BackBrush, rect2); } // 枠線 e.Graphics.DrawRectangle(Pens.Black, rect2); // 「▲」ボタン。 { MemoryButtonImpl moBtn = this.memoryVirticalscrollbar1.MemoryUpbutton; // 自分の内側に線を引ければよい。 Rectangle rect3 = new Rectangle( moBtn.Bounds.X, moBtn.Bounds.Y, moBtn.Bounds.Width - 1, moBtn.Bounds.Height - 1 ); if (!bEnabled) { // 編集不可能。 e.Graphics.FillRectangle(Brushes.LightGray, rect3); } else { // 編集可能。 e.Graphics.FillRectangle(moBtn.BackBrush, rect3); } // 枠線 e.Graphics.DrawRectangle(Pens.Black, rect3); // 視認で位置調整。 rect3.Offset(2, 1); e.Graphics.DrawString("▲", moBtn.Font, moBtn.ForeBrush, rect3); } // 「▼」ボタン。 { MemoryButtonImpl moBtn = this.memoryVirticalscrollbar1.MemoryDownbutton; // 自分の内側に線を引ければよい。 Rectangle rect3 = new Rectangle( moBtn.Bounds.X, moBtn.Bounds.Y, moBtn.Bounds.Width - 1, moBtn.Bounds.Height - 1 ); if (!bEnabled) { // 編集不可能。 e.Graphics.FillRectangle(Brushes.LightGray, rect3); } else { // 編集可能。 e.Graphics.FillRectangle(moBtn.BackBrush, rect3); } // 枠線 e.Graphics.DrawRectangle(Pens.Black, rect3); // 視認で位置調整。 rect3.Offset(2, 1); e.Graphics.DrawString("▼", moBtn.Font, moBtn.ForeBrush, rect3); } } // リストのテキストを表示します。 { // リストボックスの縦幅。 int nBoxH = rect.Height; // 行の縦幅。 int nLineH = this.customcontrolListbox1.ItemHeight; // テキスト表示領域は、四角の線から1ドット離すように小さくします。 Rectangle rect2; if (bVisibleVscrbar) { // 縦スクロールバーを表示する場合。 rect2 = new Rectangle( rect.X + 2, rect.Y + 2, rect.Width - N_VSCRBAR_WIDTH - 1, nLineH - 2 ); } else { rect2 = new Rectangle( rect.X + 2, rect.Y + 2, rect.Width - 2, nLineH - 2 ); } //rect2=rect; //rect.Inflate(-2, -2); // 表示できる行数。 int nVrows = nBoxH / nLineH; // 先頭項目のインデックス int nVFirstIx = this.customcontrolListbox1.IndexFromPoint(1, 1); if (nVFirstIx == -1) { pg_Method.WriteError_ToConsole( "▲L05エラー①! "+ pg_Method.Fullname + ":根本的なエラー?" ); //essageBox.Show( // ); } else { int nVLastIx = nVFirstIx + nVrows; if (this.customcontrolListbox1.List_SText_Display.Count <= nVLastIx) { nVLastIx = this.customcontrolListbox1.List_SText_Display.Count - 1; } // 選択項目のインデックス int nSelectedIx = this.customcontrolListbox1.SelectedIndex; for (int nLoop = nVFirstIx; nLoop <= nVLastIx; nLoop++) { string sDisplayText = this.customcontrolListbox1.List_SText_Display[nLoop]; if (nSelectedIx != nLoop) { // 非選択表示 Brush brush = null; if (nLoop < this.customcontrolListbox1.List_ForeBrush.Count) { brush = this.customcontrolListbox1.List_ForeBrush[nLoop]; } if (null == brush) { brush = Brushes.Black; } e.Graphics.DrawString(sDisplayText, this.customcontrolListbox1.Font, brush, rect2); } else { // 選択表示 e.Graphics.FillRectangle(Brushes.Blue, rect2); e.Graphics.DrawString(sDisplayText, this.customcontrolListbox1.Font, Brushes.White, rect2); } rect2.Y += nLineH; //rect2.Offset(0, nLineH); } } } } pg_Method.EndMethod(log_Reports_Dammy); log_Reports_Dammy.EndLogging(pg_Method); }
//──────────────────────────────────────── /// <summary> /// 実行。 /// </summary> /// <param name="sender"></param> /// <param name="eventMonitor"></param> /// <param name="log_Reports"></param> public override string Execute5_Main(Log_Reports log_Reports) { Log_Method log_Method = new Log_MethodImpl(0, Log_ReportsImpl.BDebugmode_Static); log_Method.BeginMethod(Info_Functions.Name_Library, this, "Execute5_Main", log_Reports); string sFncName0; this.TrySelectAttribute(out sFncName0, PmNames.S_NAME.Name_Pm, EnumHitcount.One_Or_Zero, log_Reports); if (log_Reports.CanStopwatch) { log_Method.Log_Stopwatch.Message = "「E■[" + sFncName0 + "]アクション」実行(A)"; log_Method.Log_Stopwatch.Begin(); } if (this.EnumEventhandler == EnumEventhandler.O_Lr) { string sName_Usercontrol; if (this.Functionparameterset.Sender is Customcontrol) { Customcontrol ccFc = (Customcontrol)this.Functionparameterset.Sender; sName_Usercontrol = ccFc.ControlCommon.Expression_Name_Control.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports); log_Reports.Comment_EventCreationMe += "/追記:[" + sName_Usercontrol + "]コントロールが、[" + sFncName0 + "]アクションを実行。"; } else { sName_Usercontrol = "(▲不明101!)"; log_Reports.Comment_EventCreationMe += "/追記:[" + sFncName0 + "]アクションを実行。"; } // // // // List<Usercontrol> ucFcList; if (log_Reports.Successful) { // 正常時 // テーブルデータをコントロールにセットします。 // // 指定のコントロール(無指定の場合、自コントロール)を // まず取得。 // Expression_Node_String ec_ArgListboxName; this.TrySelectAttribute(out ec_ArgListboxName, Expression_Node_Function20Impl.PM_NAME_CONTROL_LISTBOX, EnumHitcount.One_Or_Zero, log_Reports); ucFcList = this.Owner_MemoryApplication.MemoryForms.GetUsercontrolsByName( ec_ArgListboxName, true, log_Reports); } else { ucFcList = new List<Usercontrol>(); } // リストボックスにテーブルのデータソースを関連付けます。 if (log_Reports.Successful) { // 正常時 // リストボックス コントロール。 Usercontrol fcUc = ucFcList[0]; Expression_Node_String ec_TableName = null; string sTableName; this.TrySelectAttribute(out sTableName, Expression_Node_Function20Impl.PM_NAME_TABLE, EnumHitcount.One_Or_Zero, log_Reports); if ("" != sTableName)//this.E_SysArgDic.ContainsKey(E_SysFnc20Impl.S_ARG_TABLE_NAME) { //テーブル名を指定(アクション用引数) this.TrySelectAttribute(out ec_TableName, Expression_Node_Function20Impl.PM_NAME_TABLE, EnumHitcount.One_Or_Zero, log_Reports); // #デバッグ if (log_Method.CanWarning()) { log_Method.WriteWarning_ToConsole(" <arg3 tableName=”[" + ec_TableName.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports) + "]”>属性でした。"); } } else { // #デバッグ if (log_Method.CanWarning()) { log_Method.WriteWarning_ToConsole(" <arg3 tableName=”☆”>属性が未指定でした。"); } Configuration_Node owner_Configurationtree_Control; { owner_Configurationtree_Control = this.Cur_Configuration.GetParentByNodename( NamesNode.S_CONTROL1, EnumConfiguration.Tree, true, log_Reports); } // // 次を期待。 // <data target=”list-box”> // <arg5 name=”tableName” value=”☆”> // List<Configurationtree_Node> cfList_Data = ((Configurationtree_Node)owner_Configurationtree_Control).GetChildrenByNodename( NamesNode.S_DATA, false, log_Reports); foreach (Configurationtree_Node cf_Data in cfList_Data) { string sAccess; cf_Data.Dictionary_Attribute.TryGetValue(PmNames.S_ACCESS, out sAccess, false, log_Reports); List<string> sList_Access = new CsvTo_ListImpl().Read(sAccess); if (sList_Access.Contains(ValuesAttr.S_FROM)) { // <data access=”from”> string sDataMemory; cf_Data.Dictionary_Attribute.TryGetValue(PmNames.S_MEMORY, out sDataMemory, true, log_Reports); if (!log_Reports.Successful) { goto gt_EndMethod; } if (ValuesAttr.S_RECORDS == sDataMemory) { cf_Data.Dictionary_Attribute.TryGetValue(PmNames.S_NAME_TABLE, out sTableName, true, log_Reports); if (!log_Reports.Successful) { goto gt_EndMethod; } ec_TableName = new Expression_Leaf_StringImpl(sTableName, this, cf_Data); // #デバッグ if (log_Method.CanWarning()) { log_Method.WriteWarning_ToConsole(" <data tableName=”[" + sTableName + "]”>属性でした。"); } } else { //#連続エラー { Builder_TexttemplateP1p tmpl = new Builder_TexttemplateP1pImpl(); tmpl.SetParameter(1, sDataMemory, log_Reports);//属性memoryの値 this.Owner_MemoryApplication.CreateErrorReport("Er:110007;", tmpl, log_Reports); } } } } if (null == ec_TableName) { // エラー処理? if (log_Method.CanError()) { log_Method.WriteError_ToConsole(" 直接指定されなかったので、既に<data>にtableName属性があると期待しましたが、ありませんでした。"); } sTableName = "";//string sTableName = ""; ec_TableName = new Expression_Leaf_StringImpl(sTableName, this, owner_Configurationtree_Control);// owner_Cf_Fc.S_DataSource } } //↓この中で時間かかってる。 Utility_Listbox.BindTableToDatasource( fcUc,// リストボックス・コントロール ec_TableName, this.Owner_MemoryApplication, log_Reports ); //↑この中で時間かかってる。 } } goto gt_EndMethod; // // gt_EndMethod: log_Method.EndMethod(log_Reports); return ""; }
private void ParseChild_SpecialFnc_( Configurationtree_Node cur_Cf, Expression_Node_String cur_Ec,//「S■fnc」、や「S■event」か? MemoryApplication memoryApplication, Log_TextIndented_ConfigurationtreeToExpression pg_ParsingLog, Log_Reports log_Reports ) { Log_Method log_Method = new Log_MethodImpl(0, Log_ReportsImpl.BDebugmode_Static); log_Method.BeginMethod(Info_ConfigurationtreeToExpression.Name_Library, this, "ParseChild_Special_",log_Reports); // // if (!log_Reports.Successful) { goto gt_EndMethod; } // // // // 子 // // // cur_Cf.List_Child.ForEach(delegate(Configurationtree_Node s_Child, ref bool bBreak) { if (log_Reports.Successful) { if (NamesNode.S_ARG == s_Child.Name) { //━━━━━ // arg //━━━━━ string sName_MyFnc; cur_Cf.Dictionary_Attribute.TryGetValue(PmNames.S_NAME, out sName_MyFnc, false, log_Reports); string sName_ChildFnc; s_Child.Dictionary_Attribute.TryGetValue(PmNames.S_NAME, out sName_ChildFnc, false, log_Reports); // bool bNormalize = false; if( // 親が「E■fnc」 NamesNode.S_FNC == cur_Ec.Cur_Configuration.Name && NamesFnc.S_CELL == sName_MyFnc ) { if ( // 子が「name=”select”」 PmNames.S_SELECT.Name_Pm == sName_ChildFnc ) { bNormalize = true; } } if (bNormalize) { ConfigurationtreeToExpression_F14n16 to = new ConfigurationtreeToExpression_F14_FArgImpl(); to.Translate( s_Child, cur_Ec,//「E■fnc」とか memoryApplication, pg_ParsingLog, log_Reports ); } else { string sValue = ""; // // value=”” 属性が指定されていれば、その値をそのまま取得。 // s_Child.Dictionary_Attribute.ForEach(delegate(string sPmName2, string sAttrValue2, ref bool bBreak2) { if (PmNames.S_VALUE.Name_Pm == sPmName2) { // value属性が指定されていた場合。 s_Child.Dictionary_Attribute.TryGetValue(PmNames.S_VALUE, out sValue, true, log_Reports); // 「E■arg1」は作らずに、親要素の属性として追加。 Expression_Node_String e_Value = new Expression_Leaf_StringImpl(sValue, cur_Ec, cur_Ec.Cur_Configuration); cur_Ec.SetAttribute(sName_ChildFnc, e_Value, log_Reports); } }); // // 子要素の有無。 // if (0 < s_Child.List_Child.Count) { // 子要素が指定されている場合。 if ("" != sValue) { // value属性が指定されているのに、子要素も指定されているのは、エラーです。 if (log_Method.CanError()) { log_Method.WriteError_ToConsole( " value属性が指定されているのに、子要素も指定されているのは、エラーです。"); } } else { Expression_Node_StringImpl ec_Value = new Expression_Node_StringImpl(cur_Ec, s_Child); ConfigurationtreeToExpression_F14_FncImpl_ to2 = new ConfigurationtreeToExpression_F14_FncImpl_(); to2.ParseChild_SpecialFnc_( s_Child, ec_Value, memoryApplication, pg_ParsingLog, log_Reports ); // // 「E■arg1」は作らずに、親要素の属性として追加。 // cur_Ec.SetAttribute(sName_ChildFnc, ec_Value, log_Reports); } } else { if ("" == sValue) { // todo: throw new Exception(Info_ConfigurationtreeToExpression.Name_Library + ":" + this.GetType().Name + "#ParseChild:(3) 「S■[" + cur_Cf.Name + "]」の子要素「S■[" + s_Child.Name + "]」に、value属性がありませんでした。子要素もありませんでした。"); } } } } else if (NamesNode.S_F_VAR == s_Child.Name) { //━━━━━ // f-var //━━━━━ //throw new Exception(Info_SToE.LibraryName + ":" + this.GetType().Name + "#ParseChild:(b)f-var 使っていなければ廃止したい。"); // 親要素「S■fnc」の子要素として追加します。 ConfigurationtreeToExpression_F14_FvariableImpl_ to = new ConfigurationtreeToExpression_F14_FvariableImpl_(); to.Translate( s_Child, cur_Ec,//「E■fnc」とか memoryApplication, pg_ParsingLog, log_Reports ); } else if (NamesNode.S_F_STR == s_Child.Name) { //━━━━━ // f-str //━━━━━ //throw new Exception(Info_SToE.LibraryName + ":" + this.GetType().Name + "#ParseChild:(c)f-str 使っていなければ廃止したい。"); // 親要素「S■fnc」の子要素として追加します。 ConfigurationtreeToExpression_F14_FstrImpl_ to = new ConfigurationtreeToExpression_F14_FstrImpl_(); to.Translate( s_Child, cur_Ec,//「E■fnc」とか memoryApplication, pg_ParsingLog, log_Reports ); } else if (NamesNode.S_FNC == s_Child.Name) { //━━━━━ // fnc //━━━━━ //throw new Exception(Info_SToE.LibraryName + ":" + this.GetType().Name + "#ParseChild:(e)fnc 使っていなければ廃止したい。"); // // S_FVarImpl (「S■f-var」)など。 // 【追加 2012-05-31】 // // 親要素「S■fnc」の子要素として追加します。 pg_ParsingLog.Increment("(SToE_F_4FFncImpl②)"); ConfigurationtreeToExpression_F14n16 to = new ConfigurationtreeToExpression_F14_FncImpl_(); to.Translate( s_Child,// s_Fnc,//※s_Node(「S■f-var」とか)を入れるのではなく、その親を入れます。 cur_Ec,//「E■fnc」とかか? memoryApplication, pg_ParsingLog, log_Reports ); pg_ParsingLog.Decrement(); } else if (NamesNode.S_F_PARAM == s_Child.Name) { //━━━━━ // f-param //━━━━━ //throw new Exception(Info_SToE.LibraryName + ":" + this.GetType().Name + "#ParseChild:(f)f-param 使っていなければ廃止したい。"); // 【追加 2012-06-05】 ConfigurationtreeToExpression_F14_FparamImpl_ to4 = new ConfigurationtreeToExpression_F14_FparamImpl_(); to4.Translate( s_Child, cur_Ec, memoryApplication, pg_ParsingLog, log_Reports ); } else { // todo:2 goto gt_Error_UndefinedChlid; throw new Exception(Info_ConfigurationtreeToExpression.Name_Library + ":" + this.GetType().Name + "#ParseChild:(16) 「S■[" + cur_Cf.Name + "]」に、未定義の子要素「S■[" + s_Child.Name + "]」がありました。"); } } goto gt_EndMethod2; // gt_Error_UndefinedChlid: { Builder_TexttemplateP1p tmpl = new Builder_TexttemplateP1pImpl(); tmpl.SetParameter(1, cur_Cf.Name, log_Reports);//設定ノード名 tmpl.SetParameter(2, s_Child.Name, log_Reports);//子要素名 tmpl.SetParameter(3, cur_Cf.Dictionary_Attribute.Count.ToString(), log_Reports);//string属性の数 //string属性のリスト StringBuilder s1 = new StringBuilder(); cur_Cf.Dictionary_Attribute.ForEach(delegate(string sKey2, string sValue2, ref bool bBreak2) { s1.Append("s属 [" + sKey2 + "]=[" + sValue2 + "]\n"); }); tmpl.SetParameter(4, s1.ToString(), log_Reports); tmpl.SetParameter(5, cur_Cf.List_Child.Count.ToString(), log_Reports);//子要素の数 //子要素のリスト StringBuilder s2 = new StringBuilder(); cur_Cf.List_Child.ForEach( delegate(Configurationtree_Node cf_Child2, ref bool bBreak5) { s2.Append("子「S■" + cf_Child2.Name + "」\n"); }); tmpl.SetParameter(6, s2.ToString(), log_Reports); tmpl.SetParameter(7, Log_RecordReportsImpl.ToText_Configuration(cur_Cf), log_Reports);//設定位置パンくずリスト memoryApplication.CreateErrorReport("Er:7005;", tmpl, log_Reports); } goto gt_EndMethod2; gt_EndMethod2: ; }); goto gt_EndMethod; // // gt_EndMethod: log_Method.EndMethod(log_Reports); }
//──────────────────────────────────────── public void Translate( Configurationtree_Node cur_Conf, Expressionv_4ADisplayImpl exprv_ADisplay, MemoryApplication memoryApplication, Log_TextIndented_ConfigurationtreeToExpression pg_ParsingLog, Log_Reports log_Reports ) { Log_Method log_Method = new Log_MethodImpl(0, Log_ReportsImpl.BDebugmode_Static); log_Method.BeginMethod(Info_ConfigurationtreeToExpression.Name_Library, this, "SToE",log_Reports); if (log_Method.CanDebug(1)) { pg_ParsingLog.Increment("(38)" + cur_Conf.Name); } // // // // // // 自 // // // Expressionv_5FAllTrueImpl cur_Exprv = new Expressionv_5FAllTrueImpl(exprv_ADisplay, cur_Conf, memoryApplication); // // // // 子 // // // if(log_Reports.Successful) { exprv_ADisplay.List_Expression_Child.Add( cur_Exprv, log_Reports ); } // // // // 子 // // // List<Configurationtree_Node> cfList_Fnc = cur_Conf.GetChildrenByNodename(NamesNode.S_FNC, false, log_Reports); foreach (Configurationtree_Node cf_Child in cfList_Fnc) { string child_SName_Fnc; cf_Child.Dictionary_Attribute.TryGetValue(PmNames.S_NAME, out child_SName_Fnc, true, log_Reports); if (NamesFnc.S_VLD_EMPTY_FIELD == child_SName_Fnc) { // <a-empty-field>要素 ConfigurationtreeToExpression_V55_AEmptyFieldImpl_ to = new ConfigurationtreeToExpression_V55_AEmptyFieldImpl_(); to.Translate( cf_Child, cur_Exprv, memoryApplication, pg_ParsingLog, log_Reports ); } else { if (log_Method.CanDebug(0)) { log_Method.WriteError_ToConsole("未実装です。"); } throw new Exception("未実装です。"); } } goto gt_EndMethod; // // // // gt_EndMethod: if (Log_ReportsImpl.BDebugmode_Static) { pg_ParsingLog.Decrement(cur_Conf.Name); } log_Method.EndMethod(log_Reports); }
//──────────────────────────────────────── public void Translate( Configurationtree_Node cur_Conf,//Sv_3FListboxValidation UsercontrolListbox uctLst, MemoryApplication memoryApplication, Log_TextIndented_ConfigurationtreeToExpression pg_ParsingLog, Log_Reports log_Reports ) { Log_Method log_Method = new Log_MethodImpl(0, Log_ReportsImpl.BDebugmode_Static); log_Method.BeginMethod(Info_ConfigurationtreeToExpression.Name_Library, this, "SToE",log_Reports); if (log_Method.CanDebug(1)) { pg_ParsingLog.Increment("(34)" + cur_Conf.Name); } // // // バリデーター設定要素 Configurationtree_Node cf_ValidatorConfig; { List<Configurationtree_Node> cfList_ValidatorConfig = uctLst.ControlCommon.Configurationtree_Control.GetChildrenByNodename(NamesNode.S_CODEFILE_VALIDATORS, false, log_Reports); if (1 < cfList_ValidatorConfig.Count) { throw new Exception("バリデーター設定要素が2つ以上ありました。"); } else if (0 < cfList_ValidatorConfig.Count) { cf_ValidatorConfig = cfList_ValidatorConfig[0]; } else { cf_ValidatorConfig = null; } } // // // // 自 // // // Expressionv_3FListboxValidationImpl cur_Exprv = new Expressionv_3FListboxValidationImpl(null, cf_ValidatorConfig, memoryApplication); // // // // 子 // // // List<Configurationtree_Node> cfList_Fnc = cur_Conf.GetChildrenByNodename(NamesNode.S_FNC, false, log_Reports); // #デバッグ中 //d_InMethod.WriteDebug_ToConsole(1, " <a-display>数=[" + sv_Cur.Sv_ADisplayList.Count + "]"); //d_InMethod.WriteDebug_ToConsole(1, " <fnc name=”a-record-set-save-to”>数=[" + sv_Cur.Sv_ASelectRecordList.Count + "]"); foreach (Configurationtree_Node child_Cf in cfList_Fnc) { string sName_Fnc; child_Cf.Dictionary_Attribute.TryGetValue(PmNames.S_NAME, out sName_Fnc, true, log_Reports); if (NamesFnc.S_VLD_SELECT_RECORD == sName_Fnc) { ConfigurationtreeToExpression_V53_ASelectRecordImpl_ to = new ConfigurationtreeToExpression_V53_ASelectRecordImpl_(); to.Translate( child_Cf, cur_Exprv, memoryApplication, pg_ParsingLog, log_Reports ); } else if (NamesFnc.S_VLD_DISPLAY == sName_Fnc) { // <a-display>要素 ConfigurationtreeToExpression_V53_ADisplayImpl_ to = new ConfigurationtreeToExpression_V53_ADisplayImpl_(); to.Translate( child_Cf, cur_Exprv, uctLst, memoryApplication, pg_ParsingLog, log_Reports ); } else { log_Method.WriteError_ToConsole("未実装です。"); throw new Exception("未実装です。"); } } goto gt_EndMethod; // // // // gt_EndMethod: if (Log_ReportsImpl.BDebugmode_Static) { pg_ParsingLog.Decrement(cur_Conf.Name); } log_Method.EndMethod(log_Reports); }