■記事リスト / ▲上のスレッド
■358 / 親記事) |
#197 イベント処理の整形ユーティリティ 第 3.9 版
|
□投稿者/ ONnoji -(2021/02/25(Thu) 15:33:50)
| #197 の拙作:イベント処理の整形ユーティリティ 第 3.9 版の、 INF_ObjectList.kev と INF_ObjectList.kex 共通 の虫が見つかりましたのでお知らせいたします。m(__)m
<現象>
フォームのセクションのオブジェクト数が200個またはそれ以上の場合に、オブジェクトのツリーが抽出されない。
<改修方法>
一般プロシージャ:prcDimBottomGet を差し替えます。
【変更前】
手続き定義開始 prcDimBottomGet( 参照 文字列 &stringDim[], 参照 整数 &bottom ) 変数宣言 自動,文字列{ &icon, &title = "prcDimBottomGet( )", &msg } 変数宣言 自動,文字列{ &string } 変数宣言 自動,整数 { &i, &loop, &step = 1 }
&bottom = 0
&loop = #配列要素数( "stringDim" ) 繰り返し &i = 1, &loop, &step
&string = #trim( #変数( "stringDim", &i ), 3 ) if ( &string = #u )
&bottom = &i - 1 繰り返し中止 end
繰り返し終了
手続き定義終了
【変更後】
手続き定義開始 prcDimBottomGet( 参照 文字列 &stringDim[], 参照 整数 &bottom ) 変数宣言 自動,文字列{ &icon, &title = "prcDimBottomGet( )", &msg } 変数宣言 自動,文字列{ &string } 変数宣言 自動,整数 { &i, &loop, &step = 1 }
&bottom = 0
&loop = #配列要素数( "stringDim" ) &string = #trim( #変数( "stringDim", &loop ), 3 )
if ( &string <> #u )
&bottom = &loop else 繰り返し &i = 1, &loop, &step
&string = #trim( #変数( "stringDim", &i ), 3 ) if ( &string = #u )
&bottom = &i - 1 繰り返し中止 end
繰り返し終了 end
手続き定義終了
|
|
|
▽[全レス2件(ResNo.1-2 表示)]
■366 / ResNo.1) |
Re[1]: #197 イベント処理の整形ユーティリティ 第 3.9 版
|
□投稿者/ ONnoji -(2021/08/16(Mon) 11:27:41)
| 2021/08/16(Mon) 11:28:38 編集(投稿者)
変数名を記述した行が見つかりません(変数宣言を除く)について
以下の変数:&mA と 変数:&A は未使用ではないが、
拙作[変数チェック]では「変数名を記述した行が見つかりません(変数宣言を除く)」と表示される。
これは、変数宣言コマンドの範囲で、代入やコメントをしているので、チェックされないためです。
名札 メイン
変数宣言 局所,文字列{ &mA } 変数宣言 局所,文字列{ &mB = &mA } /* &mA */
&mB = #u
*
手続き定義開始 prcA()
変数宣言 自動,文字列{ &A } 変数宣言 自動,文字列{ &B = &A } /* &A */
&B = #u
手続き定義終了
手続き名 種類/種別 データ型 変数名 備考 名札 メイン 局所 文字列 mA 変数名を記述した行が見つかりません(変数宣言を除く) 名札 メイン 局所 文字列 mB
prcA 自動 文字列 A 変数名を記述した行が見つかりません(変数宣言を除く) prcA 自動 文字列 B
◇ ◇ ◇ ◇ ◇ ◇
[変数宣言]コマンドの行以外で、変数名を使えばこの問題は発生しません。
名札 メイン
変数宣言 局所,文字列{ &mA } 変数宣言 局所,文字列{ &mB }
&mB = &mA /* &mA */ &mB = #u
*
手続き定義開始 prcA()
変数宣言 自動,文字列{ &A } 変数宣言 自動,文字列{ &B }
&B = &A /* &A */ &B = #u
手続き定義終了
以前から改修を検討していましたが、改修する手間とその効果を勘案した結果、現状のままとします。
|
|
|
■367 / ResNo.2) |
Re[2]: #197 イベント処理の整形ユーティリティ 第 3.9 版
|
□投稿者/ ONnoji -(2021/08/20(Fri) 11:28:57)
| 2021/08/20(Fri) 11:30:25 編集(投稿者)
変数宣言でコンマを忘れた時、ゴーストの変数と認識される虫。
× 変数宣言 自動,数値 { &twips, &zoom &dot }
〇 変数宣言 自動,数値 { &twips, &zoom, &dot }
実は、×のままでもエラーにならずに実行できます。
しかし、拙作[変数チェック]ではゴーストの変数と認識してしまいます。
&zoom &dot ⇒ &zoomdot
いろいろと改修を試みましたが、改修が非常に困難なので現状のままとします。m(__)m
◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇
手続き定義開始 MNUprcMenuAppearVarSend( 文字列 &objectName, 参照 整数 &hdl ) 変数宣言 自動,文字列{ &icon, &title = "MNUprcMenuAppearVarSend( )", &msg } 変数宣言 自動,数値 { &posX, &posY, &height } 変数宣言 自動,数値 { &targetDotX, &targetDotY } 変数宣言 自動,数値 { &setDotX, &setDotY } 変数宣言 自動,数値 { &sendDotX, &sendDotY } 変数宣言 自動,数値 { &twips, &zoom &dot } 変数宣言 自動,整数 { &done, &openStatus, &clientArea } 変数宣言 自動,整数 { &formEditModeNum } 変数宣言 自動,文字列{ &wfmFileName, &tblFileName, &procedureName } 変数宣言 自動,文字列{ &sendMacro, &comma = #jis( #hex("2C") ), &WQ = #jis( #hex("22") ) } 変数宣言 自動,長整数{ &windowPosX, &windowPosY, &windowWidth, &windowHeight } 変数宣言 自動,整数 { &traceON = #対応番号( #uc2( #変数( "INFmTraceModuleNameList" ) ), "ALL" ) .or #対応番号( #uc2( #変数( "INFmTraceModuleNameList" ) ), "MNU" ) } 変数宣言 自動,文字列{ &traceMsg = #cond( #変数( "INFmTraceFormPathAdd" ), &INFmMyWfmPath ) + &INFmMyWfmName + " hdl=" + #last( " " + #str( &hwindow ), 2 ) + ">" + &title } *&traceON = 0 条件 ( &traceON ) トレース出力 &traceMsg + "を実行開始しました"
手続き名 種類/種別 データ型 変数名 重複 備考 MNUprcMenuAppearVarSend 自動 数値 zoomdot 変数名を記述した行が見つかりません(変数宣言を除く)
|
|
|
■記事リスト /
レス記事表示 →
[親記事-2]
|