12,788
回編集
217行目: | 217行目: | ||
# 生成したインスタンスをQMLコンテキストにセットして、QMLファイルから動的ライブラリのクラスのメソッドを呼び出せるようにする。 | # 生成したインスタンスをQMLコンテキストにセットして、QMLファイルから動的ライブラリのクラスのメソッドを呼び出せるようにする。 | ||
# 実行ファイル側のQMLファイルから動的ライブラリのオブジェクトのメソッドを呼び出して、動的ライブラリ内のQMLファイルを表示する。 | # 実行ファイル側のQMLファイルから動的ライブラリのオブジェクトのメソッドを呼び出して、動的ライブラリ内のQMLファイルを表示する。 | ||
<br> | |||
<u>※注意</u><br> | |||
<u>Windowsでは、動的ライブラリからメソッドを呼び出すには、<code>__declspec(dllexport)</code>を関数の前に付加すること。</u><br> | |||
<br> | <br> | ||
上記セクションにある動的ライブラリの変更点のみを、以下に示す。<br> | 上記セクションにある動的ライブラリの変更点のみを、以下に示す。<br> | ||
294行目: | 297行目: | ||
<code>QLibrary</code>クラスから呼び出す関数は、必ず、C言語のグローバル関数として定義すること。<br> | <code>QLibrary</code>クラスから呼び出す関数は、必ず、C言語のグローバル関数として定義すること。<br> | ||
これは、マングリングしていない元の名前から関数を呼び出すためである。<br> | これは、マングリングしていない元の名前から関数を呼び出すためである。<br> | ||
<br> | <br> | ||
<code>QLibrary</code>クラスのコンストラクタには、<code>.so</code>拡張子または<code>.dll</code>拡張子を付加しないライブラリ名を渡す。<br> | <code>QLibrary</code>クラスのコンストラクタには、<code>.so</code>拡張子または<code>.dll</code>拡張子を付加しないライブラリ名を渡す。<br> |