Re:  プラグイン(auto_run.pm)でexcelファイル(*.xlsx)を分析対象として分析を自動実行する (Masahiko Nomura) KH Coder 旧掲示板
[ツリー表示] [留意事項] [ワード検索] [過去ログ]

  [No.3110] プラグイン(auto_run.pm)でexcelファイル(*.xlsx)を分析対象として分析を自動実行する 投稿者:Masahiko Nomura  投稿日:2017/08/25(Fri) 17:01:32

樋口先生、
何度も申し訳ありません。「語の取捨選択」の自動化のサポートをいただきありがうございました。
次のステップである、分析対象をテキストではなく、excelファイル (*.xlsx) にして分析を自動実行することを試みましたところ、「語の取捨選択」の際と同じrefreshのエラーが出ました。
教えていただいたメイン画面作成のための2行(下記)は入れてありますが、

$::main_gui->{menu} = 'gui_window::main::menu'->make($::main_gui->{win_obj});
*gui_window::main::menu::make = sub{ $::main_gui->{menu} };

innerではなく、$::main_gui->menu->refresh;の方でエラーになっているようです。
上記2行をコピーペーストして、'inner'を'menu'に変えることは試してみましたがうまく行きませんでした。
お手数をおかけして大変申し訳ありませんが、このエラーの解決方法をご教授いただけませんでしょうか?
よろしくお願いいたします。
KH Coderのversionは、2.00fです。

【エラー in command prompt】
Can't call method "refresh" on an undefined value at /<C:\khcoder\kh_coder.exe>gui_window/project_new.pm line 190.

【auto_run.pmのプロジェクト新規作成直前に入れたコード】
# プロジェクト新規作成
#変更部分 start----------------------------------------------
$::main_gui->{inner} = 'gui_window::main::inner'->make($::main_gui->{win_obj}); # メイン画面作成(refreshによるエラーを回避するため)
*gui_window::main::inner::make = sub{ $::main_gui->{inner} }; # 樋口先生に教えていただいた2行のコード

# 新規プロジェクト画面オープン
my $new = gui_window::project_new->open;
# 変数のセット
$new ->{e1}->insert(0,$win_project->gui_jchar($file_target)); # 分析対象ファイルのセット(GUIへの書き込み)
$new->{e2}->insert(0,$win_project->gui_jchar('auto_xlsx_test_111')); # コメントのセット(GUIへの書き込み)
$new->{icode} = 0; # 文字コードを自動判別にセット (0: auto_defect)
$new->_make_new; # 新規プロジェクト作成・登録

#comment-out#my $new = kh_project->new(
#comment-out#target => $file_target,
#comment-out#comment => 'auto',
#comment-out#) or die("could not create a project\n");
#comment-out#kh_projects->read->add_new($new) or die("could not save the project\n");
#変更部分 ends----------------------------------------------

# 新規作成したプロジェクトを開く
$new->open or die("could not open the project\n");

----
以上です
----


- 関連一覧ツリー (■ をクリックするとツリー全体を一括表示します)