Lesson

zLog Tutorial

基本的な使用方法

Welcome to the zLog 令和 Edition wiki!

(2022/7/18)
zlistwでZLOファイルの編集・更新を行うと日時がUTCになってしまうなど意図しない結果になるケースが報告されています。大体の事はzLogのみで行えるようになっていますので今後はzlistwは使用しないようお願いします。また今後はZLOXファイルとなりますが、zlistwはZLOXには対応していませんのでご注意願います。

目次

  1. zLogとは 1992年頃に横林OMを中心に東京大学アマチュア無線クラブで開発されたコンテスト用ロギングソフトウェアです。最初はMS-DOS版でしたがWindows版が開発され現在に至っています。(横林OMのコールサインは再割り当てで他の方に割りあたったとのことですので表示しません 2020/12現在)

  2. インストール
  3. 起動と終了
  4. コンテストの選択
    1. 定義済みのコンテスト
    2. ユーザー定義コンテスト
      1. KCJコンテスト
    3. Sentについて
  5. ロギング
    1. 交信方法(SSB)
      1. CQマシーンの利用
    2. 交信方法(CW)
    3. Quick Memo
  6. コンテスト後
    1. 送信NRの訂正
    2. JARL E-LOG 1.0の作成と提出
    3. JARL E-LOG 2.xの作成と提出
      1. フィールドデイコンテストの場合
    4. 分析
    5. エクスポート(ADIF,Cabrillo,TurboHAMLOGはこちら)
  7. 様々な運用形態
    1. マルチオペ(M/S)での利用
    2. マルチオペ(M/M)での利用
    3. マルチオペ(M/2)での利用
    4. シングルオペ2Radio(SO2R)での利用
  8. Plugin Manager
  9. 便利な機能
    1. Super CheckとN+1
    2. リグコントロール
    3. CWキーイング
    4. キーボードのカスタマイズ
    5. QuickQSY
    6. Packet Cluster連携
    7. バンドスコープ
    8. Magical Calling機能
    9. コンソールコマンド
    10. バンドプラン
    11. QSO Rate
    12. ファンクションキーパネル
    13. 目標設定機能(TARGET機能)
    14. QSYアシスト機能
    15. ZyLO拡張機能
    16. ユーザー補助
  10. 設定
  11. リソース
  12. メイリングリスト

COPYRIGHT 2022 JR8PPG and contributors

拡張機能の使用例

zLog令和版には、プラグインマネージャ機能が標準装備されました。 有志が開発した便利なプラグインで、zLogを強化できます。 ここでは、その使い方をチュートリアル形式で紹介します。

  1. 基本的な使用方法
  2. 拡張機能の使用例
    1. プラグインって何?
    2. どんなプラグインがあるの?
      1. zLog additional I/O
      2. zLog update checker
      3. Maplot
      4. 旭川コンテスト
      5. 高校コンテスト
      6. 東海マラソンコンテスト
      7. YLコンテスト
      8. リアルタイムコンテスト
      9. Es通知プラグイン
      10. 総務省APIプラグイン
      11. CW練習プラグイン
    3. zLogのどのバージョンで使えるの?
    4. そもそも何でプラグインなの?
    5. プラグインを見つける
    6. プラグインが見つからない
    7. プラグインをインストールする
      1. zLogの起動
      2. プラグインマネージャを開く
      3. プラグインを選ぶ
      4. プラグインをインストールする
      5. プラグインをアンインストールする
      6. プラグインをアップデートする
      7. プラグインはどこに保存されるの?
    8. zLogで高校コンテストに参加する
      1. 高校コンテストのプラグインをインストールする
      2. コンテストを開き直す
      3. QSOを入力する
      4. サマリーシートを作成する
      5. 通常のユーザ定義コンテストと何が違うの?
    9. zLogをアップデートしたらプラグインはどうなるの?
    10. 開発に興味がある
      1. zLogやZyLOの開発方針に提言したい
      2. プラグインの開発って難しいの?
      3. プラグインはDelphiで書かれているの?
      4. Go言語とかいうマイナー言語は知らん
      5. C言語の方が良くない?
      6. Pythonの方が良くない?
      7. Rustの方が良くない?
      8. OCamlの方が良くない?
      9. Haskellの方が良くない?
      10. 〇〇言語の方が良くない?
      11. Go言語を推しすぎでは?
    11. GUIはどうやっていじるの?
      1. ダイアログを表示したいだけ
      2. ボタンやメニューやキーボードを監視したいだけ
      3. Windows API
      4. RunDelphi
      5. ウェブアプリにする
    12. プラグインはどうやって作るの?
      1. 開発環境の準備
      2. 開発環境のインストール
      3. ソースコードの準備
      4. コンパイル
      5. zLogで試す
      6. コンパイルが面倒です
      7. つまりどういうことだってばよ
    13. トラブルシューティング
      1. Windows APIでウィンドウを作成したら落ちた
    14. このページを編集したい

プラグインって何?

zLogに新しいウィンドウを追加したり、ウェブサービスと連携する機能を追加したり、USBインターフェースと通信する機能を独自に作れます。 もちろん、大多数のユーザーは、プラグインを使う側でしょう。 なので、zLog本体にはない便利な機能をzLogに追加できる仕組みだと思ってください。

どんなプラグインがあるの?

まず、プラグインの代表的な例を見てみましょう。

zLog additional I/O

zLogにCTESTWINのLG8ファイルやHAMLOGのHDBファイルなど、zLog本体で対応していないファイルのインポートとエクスポートの機能を追加するプラグインです。 このプラグインをインストールすることで、zLogは、CTESTWIN、HAMLOGと直接データの交換ができます。

zLog update checker

zLogの新バージョンがリリースされるたびに通知します。

Maplot

QSO済みのJCC/JCGコードに対応した市区町村を地図にプロットするプラグインです。 電波の飛び方が可視化されるので、コンテストのモチベーションアップにもつながります。

window2

旭川コンテスト

高校コンテスト

東海マラソンコンテスト

YLコンテスト

リアルタイムコンテスト

旭川コンテストや高校コンテストは、zLogのCFGファイルでは完全に対応できないコンテストです。 得点のルールが特殊なため、CFGファイルをいくら工夫しても、正確な得点が計算できません。 そこで、専用のプラグインを用意しました。 それぞれ、対応するプラグインをインストールすることで、正確な得点状況がスコアウィンドウに表示されるだけでなく、JARLサマリーシートにもその得点が反映されます。

Es通知プラグイン

日本各地のスポラディックE層の発生状況を表示してくれるプラグインです。 特にVHF帯でのコンテスト運用で有利です。

総務省APIプラグイン

zLogで入力中の相手局の免許情報を検索できるプラグインです。 何に使うかって? 無線家たるもの法令を遵守するために、ですよ。

CW練習プラグイン

モールス符号の聞き取り訓練を、zLogのUIでコンテストさながらにできるというプラグインです。

zLogのどのバージョンで使えるの?

zLogには、横林OMを中心に、JA1ZLOで開発されたオリジナル版と、JR8PPG局らを中心に、オープンソースで開発された令和版があります。 令和版には、古いPC用の32bit(x86)版と、新しいPC用の64bit(x64)版がありますが、64bit版でプラグイン機能を利用できます。 厳密には、v2.8以降です。 細かいことはともかく、こちらのページの一番上にある最新版のうち、x64版をダウンロードすれば大丈夫です。

そもそも何でプラグインなの?

プラグインではなくて、zLog本体に機能を追加すれば良いではないか?という疑問はもっともです。 しかし、zLog本体での対応が難しかったり、逆に、対応するのが大袈裟すぎるような機能は、むしろプラグインで対応すべきでしょう。 zLog本体での対応が難しい機能の代表例が、上に挙げたようなコンテストへの個別対応、そして、Es通知プラグインのようなクラウドサービスとの連携です。 また、対応するのが大袈裟すぎるような機能とは、皆さんの自作ハードウェア、例えば、CWキーヤーとの連携です。

プラグインを見つける

zLogで利用可能なプラグインのリストは、こちらのページか、後述するzLog本体のプラグインマネージャから確認できます。 掲載されているプラグインは、いずれもzLogユーザーが自作し、ZyLO開発チームが依頼を受けて登録したプラグインです。

プラグインが見つからない

こちらのページには掲載されているのに、zLogのプラグインマネージャに表示されないプラグインがあります。 そのプラグインは「実験的」もしくは「安定版ではない」プラグインでしょう。 後述するプラグインマネージャのウィンドウの中程にShow unstable (experimental) pluginsというチェックボックスがあります。 そのチェックボックスにチェックを入れることで、そのようなプラグインも表示されるようになります。

プラグインをインストールする

zLogの起動

まず、zLogを起動します。 先に述べたように、v2.8以降の64bit版でしか、プラグインはインストールできません。 起動時に、コンテストを選ぶ必要がありますが、ここでは、単にzLogのメインウィンドウを開きたいだけなので、適当なコンテストで大丈夫です。

image

プラグインマネージャを開く

zLogのメインウィンドウが開いたら、メニューバーからSettings(設定)メニューを選び、その中にあるPlugin Manager(プラグインマネージャ)メニューをクリックします。

image

すると、ZyLO Plugin Managerというウィンドウが開きます。 その中に、プラグインのリストがあります。

プラグインを選ぶ

プラグインマネージャが表示されたら、リスト項目から、好きなプラグインを選びます。 例えば、zLog additional I/Oの項目をクリックしましょう。 すると、プラグインの詳細が表示されます。 また、ウィンドウの一番下に、ボタンが並んでいますが、Installボタンが押せる状態になります。

image

プラグインをインストールする

そのままInstallボタンを押して、zLog additional I/Oプラグインをインストールしてみましょう。 ボタンを押すと、インターネット経由で、プラグインのダウンロードが始まります。 回線次第ですが、小さなプラグインなので、ダウンロードはすぐに終わります。 ダウンロードに時間がかかっていると、進捗バーが表示されることがあります。 ダウンロードが終わると、プラグインが自動的にインストールされます。 インストールが完了すると、Installボタンが押せなくなり、代わりにDisableボタンが押せるようになります。

image

そうなったら、インストール成功です。 プラグインマネージャのウィンドウを閉じてください。 zLogのFileメニューから、ImportメニューやExportメニューをクリックしましょう。

image

すると、LG8ファイルやHDBファイルの読み書きができるようになっているはずです。

image

プラグインをアンインストールする

プラグインをアンインストールするには、先ほどのプラグインマネージャのウィンドウで、アンインストールしたいプラグインを選び、Disableボタンを押すだけで大丈夫です。 ただし、実際にプラグインが無効化されるのは、zLogを一旦終了し、次に起動した時です。 それまでは、プラグインは使える状態です。

プラグインをアップデートする

インストールしたプラグインも、しばらく経つと、新しいバージョンが利用可能になっているかも知れません。 その場合は、プラグインマネージャのウィンドウで、Upgradeボタンが押せるようになっているはずです。 アップデートしたいプラグインを選んで、Upgradeボタンを押すことで、そのプラグインの最新版がダウンロードされます。 なお、アップデートが適用されるのは、zLogを一旦終了し、次に起動した時です。

プラグインはどこに保存されるの?

プラグインの実体は、DLLファイルです。 デフォルトでは、zlog.exeと同じフォルダに保存されます。 なので、USBメモリにインストールして、持ち運ぶことも可能です。 ただし、コンテストプラグインの場合は、DLLと一緒にCFGファイルもインストールされるでしょうが、それは、CFGファイルの保存場所に保存されます。 これは、zLog本体のCFGファイルの保存場所の設定に従います。

zLogで高校コンテストに参加する

次に、高校コンテストを例に、コンテストプラグインの使い方を学びましょう。 上にも述べた通り、コンテストプラグインは、CFGファイルでは対応が難しいコンテスト、代表例を挙げると、旭川コンテストや、高校コンテスト、東海マラソンコンテスト、YLコンテストの得点計算を行うためのプラグインです。 使い方は難しくありません。

高校コンテストのプラグインをインストールする

まず、Settings(設定)メニューからPlugin Manager(プラグインマネージャ)メニューを選び、プラグインマネージャを開きます。

image

そして、プラグインのリストから、高校コンテストを選んで、Installボタンを押します。

image

これで、高校コンテストのプラグインがインストールされます。 そうしたら、プラグインマネージャのウィンドウを閉じます。

コンテストを開き直す

FileメニューからNew Contestメニューをクリックするか、もしくは、zLogを閉じて、起動し直します。

image

コンテストを選ぶウィンドウが表示されるので、下にあるUser Defined Contestのボタンをクリックします。

image

すると、high school contestという名前のCFGファイルがリストに表示されているはずです。

image

これは、hstest.cfgというCFGファイルです。 このCFGファイルは、高校コンテストのプラグインと同時にインストールされたものです。 このCFGファイルを選び、zLogを起動してください。

image

もし、リストのhstest.cfgが表示されない場合は、CFGファイル選択ウィンドウの上の参照ボタンから、zlog.exeのあるフォルダを選ぶと表示されます。 それでも見つからない場合は、どこかに保存されてはいるが、散逸してしまったのでしょう。 プラグインをインストールし直せば、今、CFGファイルを参照しているフォルダに再びダウンロードされます。

QSOを入力する

後は、普通にQSOを入力していくだけです。

image

スコアウィンドウを表示すると、高校コンテストのルールに沿った得点が表示されます。

image

サマリーシートを作成する

また、JARL R2.0サマリーシートを作成すると、得点が正しく記載されるはずです。 試しに作成してみましょう。 Fileメニューから、Contest E-Log (JARL 2.x)メニューをクリックしましょう。

image

すると、サマリーシートの作成ウィンドウが表示されます。

image

ウィンドウの下にあるE-log作成ボタンを押して、EMファイルを保存しましょう。 すると、以下のように、正しく得点が計算されています。

<SUMMARYSHEET VERSION=R2.1>
<CONTESTNAME>high school contest</CONTESTNAME>
<CATEGORYCODE></CATEGORYCODE>
<CALLSIGN>JA1ZLO</CALLSIGN>
<OPCALLSIGN></OPCALLSIGN>
<TOTALSCORE>209</TOTALSCORE>
<ADDRESS>??
</ADDRESS>
<NAME></NAME>
<TEL></TEL>
<EMAIL></EMAIL>
<POWER></POWER>
<FDCOEFF>1</FDCOEFF>
<OPPLACE></OPPLACE>
<POWERSUPPLY></POWERSUPPLY>
<COMMENTS></COMMENTS>
<REGCLUBNUMBER></REGCLUBNUMBER>
<DATE>2022?N9??11??</DATE>
<SIGNATURE></SIGNATURE>
</SUMMARYSHEET>
<LOGSHEET TYPE=ZLOG>
DATE(JST)	TIME	BAND	MODE	CALLSIGN	SENTNo	RCVNo
2022-09-11	14:23	7	SSB	JO1ZAA	59 10C	59 11HS
2022-09-11	14:23	7	SSB	JO1YAA	59 10C	59 11HS
2022-09-11	14:23	7	SSB	JS2YAA	59 10C	59 18HS
2022-09-11	14:23	7	SSB	JQ1YCK	59 10C	59 11HS
2022-09-11	14:24	7	CW	JS2XAA	599 10C	599 18C
2022-09-11	14:24	7	SSB	JI1TAA	59 10C	59 11C
2022-09-11	14:24	7	CW	JS7XAA	599 10C	599 02C
2022-09-11	14:25	7	CW	JP7XAA	599 10C	599 02HS
2022-09-11	14:25	7	CW	JQ1YCK	599 10C	599 11HS
2022-09-11	14:25	7	CW	JQ1YKM/1	599 10C	599 16HS
</LOGSHEET>

なお、JARLサマリーシートR1.0には対応していません。 つまり、R1.0で保存すると、得点が間違ったものになります。 希望が寄せられれば、R1.0への対応を検討しようと思います。

通常のユーザ定義コンテストと何が違うの?

高校コンテストのプラグインをインストールしたとは言え、結局のところ、hstest.cfgというCFGファイルを選んでコンテストを開いた点では、従来と同じです。 しかし、このCFGファイルには、従来にない、特殊な設定がされています。 以下にCFGファイルの全容を示します。

#high school contest
mycall        JA1ZLO
wpm           30
weight        50
tone          on
loop          2.5
vloop         10.0
prov          10
zero          O
one           A
nine          N
f1_a          CQ HS TEST DE $M $M TEST
f2_a          $C $R$VC
f3_a          TU $M TEST
f4_a          NR?
f5_a          $C?
f6_a          QRZ?
f7_a          $C TU DE $M TEST
f8_a          $C QSO B4 TU
f1_b          $M
f2_b          $R$VC
f3_b          GL
f4_b          NR?
f5_b          QRL?
f6_b          QRZ?
f7_b          TU
f8_b          E E
reverse       off
power         --H-H-HMM----
pt7           1311
pt21          1311
pt50          1311
pt144         1311
pt430         1311
dat           hstest
spc           zlog
sub           zlog
cut           0
sendnr        $VC
JARL          on
mode          on
counthigh     on
unlistedmulti off
exit
dll           hstest.dll

最後の2行に注目してください。 まず、exitとは、CFGファイルの解析をその行で終えることを意味する命令です。 これ以降の行は、従来のCFGファイルとしては無視されます。 特に、32bit版のzLogでは完全に無視されます。

exit

そして、続くdll命令は、hstest.dllをコンテストプラグインとして利用することを指示する命令です。 hstest.dllは、高校コンテストのプラグインの本体です。

dll           hstest.dll

つまり、この命令によって、高校コンテストに特化した得点計算が有効になるというわけです。 他のコンテストプラグインでも、同様にexit命令とdll命令を利用することで、コンテストプラグインが有効化されています。

zLogをアップデートしたらプラグインはどうなるの?

zlog.exeを最新版で上書きした場合、zlogの設定(zlog.ini)が引き継がれるのと同様に、プラグインの設定も引き継がれます。 なので、引き続き使用できます。 もちろん、フォルダごとzLogを入れ替えた場合は、何も引き継がれないので、プラグインをインストールし直す必要があります。

開発に興味がある

zLogやZyLOの開発方針に提言したい

GitHubでIssueを立てるのが最も効果的なコミュニケーションです。 zLog本体は、JR8PPG局によるGitHubレポジトリでIssueを立てると良いでしょう。 ZyLOまたはプラグインについては、無線部開発班のフォーラムでIssueを立ててください。 プラグイン開発のご相談は、Twitter宛てでも、東京大学アマチュア無線クラブ宛てでも受け付けます。

プラグインの開発って難しいの?

とても簡単です。 マニュアルの最初の方を読んでください。

プラグインはDelphiで書かれているの?

違います。 zLog本体はDelphiですが、プラグインはGo言語です。 もしあなたがWAKAMONOならば、Go言語がいかに市場価値があり、ナウなヤングにバカウケな言語であるかを知っているでしょう。 冗談はさておき、Goは非常にシンプルで、ライブラリが豊富で、数々の現役プログラマに支持されている現代的なプログラミング言語です。

Go言語とかいうマイナー言語は知らん

残念ですが、今の常識では、Go言語の名前くらいは誰でも聞いたことがあります。 それくらいメジャーです。 逆に、今では.NETの影に完全に隠れてしまって、C#.NETの前身?であるDelphiの名前を知らない人が多いです。

C言語の方が良くない?

C言語でGUIやネットワークをプログラミングするのはつらいと思います。 ライブラリを簡単にインストールできないし、メモリ管理周りが面倒だし…。 C++は闇なのでやめましょう。

Pythonの方が良くない?

Pythonではシングルバイナリを作るのは面倒です。 zLogの良さは、zlog.exeだけあればどこにでも持ち運べる手軽さです。 当然、プラグインもインストール時に妙なトラブルが起こるのは避けたいですよね? この時点で、PythonやRubyやJSは選択肢から外れます。

Rustの方が良くない?

Rustは悪い選択肢ではありません。 実は、Go言語でプラグインを作ると、GCがDLL毎に独立して動くことになり、非効率的ではないかという懸念がありました。 杞憂でしたが。 そういう意味で、GCが不要なRustは良い選択肢と考えたこともありますが、やっぱり学習コストが問題でしょう。 ちなみに、GCをいじれるという点ではD言語も検討したのですが、Go言語の利点を覆すことは難しいでしょうね。

OCamlの方が良くない?

OCamlでもDLLは作れますね。 でも、OCamlを選ぶのは趣味丸出しですよね?

Haskellの方が良くない?

HaskellでもDLLは作れますね。 でも、Haskellを選ぶのは趣味丸出しですよね?

〇〇言語の方が良くない?

でもそれって、マイナー言語ですよね?

Go言語を推しすぎでは?

中の人はむしろGo言語のシンプルさが嫌いです。 でも、いろんな人がすぐに学べて、書き方が統一しやすいGo言語の良さは高く評価しています。

GUIはどうやっていじるの?

ダイアログを表示したいだけ

DisplayModal関数とかDisplayToast関数を使うのが手っ取り早いです。 マニュアルを読んでください。

ボタンやメニューやキーボードを監視したいだけ

HandleButton関数やHandleEditor関数を使えば良いです。 マニュアルを読んでください。

Windows API

本格的にGUIをいじるならWin32APIで頑張るのが鉄板ですね。 例えば、lxn/walkを使えば良いでしょう。 類似のライブラリもいくつかあります。

RunDelphi

Win32API経由だと、zLogの内部的なプロパティを無視することになり、具合が悪いかもしれません。 その場合は、ZyLOのRunDelphi関数を使う手があります。 マニュアルを読んでください。

ウェブアプリにする

開き直って、プラグインをウェブアプリにする手もあります。 つまり、HTMLやJavaScript、もしくはVueやReactを使ってウェブフロントエンドを作り、美麗なGUIを作るのです。 当然、ブラウザとzLogを連携する必要がありますが、そこはWebSocketで通信させれば良いでしょう。 実は、このような方針でプラグインの案を温めています。

プラグインはどうやって作るの?

開発環境の準備

まず、zbuildというツールを入手します。 zbuildには、Windows用・mac用・Linux用があります。 どのPCで開発するかに合わせて選んでください。 もちろん、最終的に生成されるプラグインはWindows用ですが、開発自体はmacやLinuxでもできるということです。 macやLinuxの場合は、実行権限を与える必要があります。 ターミナルで、

$ chmod a+x zbuild-macos

ないし

$ chmod a+x zbuild-linux

として、実行権限を与えてください。 また、macの場合は、セキュリティ警告が表示されることがあります。 その場合は、システム環境設定から、セキュリティとプライバシーを選び、zbuildの実行を許可してください。

開発環境のインストール

以下のコマンドで一発です。 これで、Go言語のコンパイラやその他に必要なものがインストールされます。

$ ./zbuild-Linux setup # for Linux

ソースコードの準備

マニュアルに従って、雛形をコピペして、適当な名前(sample.go)を付けて保存してください。

コンパイル

以下のコマンドで一発です。

$ ./zbuild-macOS compile # for macOS

完了すると、フォルダ名と同じ名前のDLLが作成されます。 例えば、tutorialフォルダでzbuildを実行した場合は、tutorial.dllとなります。

zLogで試す

zLogにインストールします。 ただし、インターネットに未公開のプラグインなので、プラグインマネージャではインストールできません。 そこで、zlog.iniの末尾に以下の2行を追加します。

[zylo]
DLLs=tutorial.dll

また、tutorial.dllzlog.exeと同じフォルダに配置します。 そして、zLogを起動しましょう。 すると、tutorial.dllが実行されます。 雛形では、何もしないので、何も起こりません。 他のサンプルを試してみてください。

コンパイルが面倒です

確かに、いちいちターミナルを開いて、zbuildを起動するのは面倒ですよね。 しかも、DLLをGitHubのリリースにアップロードする手間を考えたら、ちょっと嫌ですよね。 実は、ZyLO開発チームでは、いちいちzbuildを手元にダウンロードしてコンパイルしたりはしません。 GitHubにソースコードをアップロードするだけで、自動的にDLLがコンパイルされ、リリースされるようになっているからです。 マニュアルを参考にしてください。

つまりどういうことだってばよ

  1. GitHubにレポジトリtutorialを作ります。
  2. sample.goをレポジトリのルートディレクトリに置きます。
  3. .github/workflows/build.yamlを作成し、以下のように書き込みます。
name: 'build'
on:
  push:
    branches:
    - 'main'
jobs:
  BuildDLL:
    runs-on: ubuntu-latest
    steps:
    - uses: nextzlog/zylo@master
      with:
        token: $
  1. コミットを作成します。
  2. GitHubでnightlyというリリースを作成しておきます。
  3. GitHubにpushします。
  4. しばらく待つと、nightlyリリースにtutorial.dllが添付されています。
  5. そのダウンロードURLをマーケットプレイスに登録すれば、zLogユーザに公開できます。

トラブルシューティング

Windows APIでウィンドウを作成したら落ちた

RegisterClassEx関数やCreateWindow関数に渡すウィンドウクラスがDLL間で重複していないか確認してください。 GUIライブラリのlxn/walkやtadvi/wincでは、ウィンドウクラスがデフォルトでハードコーディングされており、気付かずに複数のDLLで使うとzLogが落ちます。 その場合は、面倒でもコンストラクタを自前で実装し、DLL独自のウィンドウクラスを指定できるように実装してください。 その際は、プラグイン名を接頭辞にすると良いです。

このページを編集したい

ZyLOのWikiのホームページ(Home.md)を編集してください。 ページを保存すると、数分後にその内容が反映されます。