メッセージ
現在の仕様では、同じスクリプトファイルを別々のマクロとして実行することができない。
マクロIdを得ることができれば、同じスクリプト上で処理を分岐できる。
ExpandParameter() に展開パラメータを追加できないか?
- CSakuraEnvironment::ExpandParameter()... case L'm': { int nIndex = CEditApp::getInstance()->m_pcSMacroMgr->GetCurrentIdx(); TCHAR szBuffer[32]; swprintf(szBuffer, _T("%d"), nIndex); q = wcs_pushT(q, q_max - q, szBuffer); ++p; } break; --
- swprintf→_stprintf --
- 外部コマンド実行や印刷、idのないマクロ、プラグインのときは? --
- 印刷のマクロがあるということでしょうか --
- ExpandParameterはマクロ以外からも呼ばれるので、その時変な数が返るということです --
- コード通りなら初期値が無効値=-3, 一時マクロ=-2, キーマクロ=-1, 通常マクロ=0〜49。呼び出し前に退避し呼び出し後に復帰するのでマクロ実行外だと-3。一時マクロはなぜか-3にリセットしてる。プラグイン番号は別途実装が必要。 --