# TTX プラグインの Teraterm5 対応3

2021/12/14

## プラグインの Teraterm5 用にビルド

Terterm4 のプラグインのソースコードをビルド出来ない。

Teraterm5 に対応した変更が必要。( [Tera Term 5 対応](support_teraterm5.md) メモ参照 )

Terterm4 用も同じソースコードから生成したいので `tchar.h` を使用し、Terterm4 用にも Teraterm5 用にビルドできるようにした。

### 結果

v4用(32bit)、v5用(32bit)、v5用(64bit)にそれぞれビルドして、ほぼ問題なく動作する。\
通信関係は確認する環境を構築できていないので未確認。\
ただし、`MAX_PATH` の制限解除はまだできていない。

|プラグイン|v4用(32bit)|v5用(32bit)|v5用(64bit)|備考欄|
|:--------|:----:|:----:|:----:|:-----|
|TTXDuration|〇動作する|〇動作する|〇動作する|一部通信をトリガにする機能は未確認|
|TTXReport|？未確認|？未確認|？未確認|確認する環境を構築できていないので未確認|
|TTXReconnect|？未確認|？未確認|？未確認|確認する環境を構築できていないので未確認|
|TTXPlugin|〇動作する|〇動作する|〇動作する||
|TTXEnv|〇動作する|△一部動作せず|△一部動作せず|キーマップが切り替わらなくなった|
|TTXPackage|〇動作する|△要検討|△要検討|必要以上のファイルもパッケージ対象となり扱いにくくなった|
|TTXShortcut|〇動作する|〇動作する|〇動作する||
|TTXUserKey|〇動作する|〇動作する|〇動作する||
|TTXEstimateMismatch|〇動作する|〇動作する|〇動作する|tttset 構造体が途中からずれることを確認(正常動作)|
|||

`TTXEnv` は、`xxx.INI`, `xxx.CNF` のセットをメニューから選択し再読み込みすることで簡単に設定を切り替えられるようにしたものであるが、キーマップファイルは `xxx.CNF` は切り替わらなくなった。\
プラグインのキーマップファイルのパス取得が失敗しているものと思われる。移植のミスかは不明。

`TTXPackage` は、`TERATERM.INI`, `KEYBOARD.CNF`, `*.TTL` などを1つのファイルにまとめパッケージ化、他のPC環境で展開することで移植しやすくしたプラグインであるが、`Roaming/teraterm5` に生成される(UTF-16 LE化のための)日付付きファイルもパッケージか対象となり、必要以上のファイルがパッケージに含まれるようになった。パッケージ生成時に対象のファイルを拡張子による自動判別ではなく、一覧から取捨選択できるようにプラグインを替える必要がある。

### 考察

設定ファイルのパスが `Roaming/Teraterm5/` に移動したことにより、プラグインのダイアログのラベルやエディットボックスに表示されるパスが長くなった。これによりパスが見切れてしまうようになった。\
表示領域を調整する必要がある。

## 64bit/32bit ビルド組み合わせ

64bit 版もビルドできるので 32bit/64bit での組み合わせを確認した。

Teraterm とプラグインは、Win32 か X64 か同じアーキテクチャの組み合わせでない場合、Teraterm 起動時にエラーダイアログが表示されプラグインは組み込まれなかった。
