プラグインの開発
2 posters
プラグインの開発
4Dが64bitオンリーになったので、昔作ったプラグインのをやきなおす必要が出てきました。
とりあえず、ウィザードの最新をgithubからダウンロードしてみたのですが、拡張子が.cppでした。
現在の開発の主流がC#,F#,Swiftへ移行してサンプルコードなどが軒並みこれらのコードで書かれているのですが
プラグインの開発をこちらの言語で開発する様にできるのでしょうか。拡張子を変えるだけではエラー出まくりでした。
とりあえず、ウィザードの最新をgithubからダウンロードしてみたのですが、拡張子が.cppでした。
現在の開発の主流がC#,F#,Swiftへ移行してサンプルコードなどが軒並みこれらのコードで書かれているのですが
プラグインの開発をこちらの言語で開発する様にできるのでしょうか。拡張子を変えるだけではエラー出まくりでした。
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: プラグインの開発
プラグインSDKがC++である以上難しいかとは思います。
実は同じような事を考えてて、アプローチとしては「C++(EXE)からC#(DLL)の関数を呼び出す」こんな感じになるのでは無いでしょうか?調べていませんがmacOSでもSwiftなdylibを同じように呼び出しできるんじゃないかと。
実は同じような事を考えてて、アプローチとしては「C++(EXE)からC#(DLL)の関数を呼び出す」こんな感じになるのでは無いでしょうか?調べていませんがmacOSでもSwiftなdylibを同じように呼び出しできるんじゃないかと。
osaru- 投稿数 : 67
登録日 : 2017/08/14
Re: プラグインの開発
やはり難しいですか。他の言語はFFI機構(って言うらしい)でダイレクトにDLLなどが呼び出しできる物が多いのでプラグインと言う概念自体が古いんでしょうね。osaru wrote:プラグインSDKがC++である以上難しいかとは思います。
実は同じような事を考えてて、アプローチとしては「C++(EXE)からC#(DLL)の関数を呼び出す」こんな感じになるのでは無いでしょうか?調べていませんがmacOSでもSwiftなdylibを同じように呼び出しできるんじゃないかと。
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: プラグインの開発
絶対に無理と言い切れる自信は無いです(^^; おそらくDLLを4D側の想定している呼び出し機構に構成できればOKなのでしょうから。hosaka wrote:やはり難しいですか。
4D言語がFFI呼び出し機構を備えてくれたら全部解決ですかね。hosaka wrote:他の言語はFFI機構(って言うらしい)でダイレクトにDLLなどが呼び出しできる物が多いのでプラグインと言う概念自体が古いんでしょうね。
FFI初耳だったのですが結局LoadLibraryしてのDLLの呼び出し機構の様に見えますので、相手方の仕様がはっきりわかっていないと使いこなすのは難しそうなのかな・・・バラ色という訳でも無さそうに思いました。
osaru- 投稿数 : 67
登録日 : 2017/08/14
Re: プラグインの開発
相手方の仕様がはっきりわからないってどう言う状況何でしょうか。
大体の場合、APIの仕様書とライブラリはあると思うんですが...
大体の場合、APIの仕様書とライブラリはあると思うんですが...

hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: プラグインの開発
hosaka wrote:相手方の仕様がはっきりわからないってどう言う状況何でしょうか。
大体の場合、APIの仕様書とライブラリはあると思うんですが...
○立の静脈認証ソリューションはユーティリティソフトウェアがVB6製でコアDLLは仕様非公開。
4Dから認証情報を取り出せたらハッピーになれるかと交渉したのですが、お金出しても無理だとか・・・。
結局ウインドウハンドル制御してボタン操作をエミュレートしてCSV書き出し専用にWindowsを1台用意してお茶を濁しました。
フルコントロールできればユーザー登録から権限設定まで全て4Dの情報を活用できそうだったのに・・・。
osaru- 投稿数 : 67
登録日 : 2017/08/14
Re: プラグインの開発
それはそもそも非合法?的な使い方ですよね。osaru wrote:
○立の静脈認証ソリューションはユーティリティソフトウェアがVB6製でコアDLLは仕様非公開。
4Dから認証情報を取り出せたらハッピーになれるかと交渉したのですが、お金出しても無理だとか・・・。
結局ウインドウハンドル制御してボタン操作をエミュレートしてCSV書き出し専用にWindowsを1台用意してお茶を濁しました。
フルコントロールできればユーザー登録から権限設定まで全て4Dの情報を活用できそうだったのに・・・。

hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: プラグインの開発
少し脱線しましたが話を戻しますね。まさにそうなんですよ。osaru wrote:
4D言語がFFI呼び出し機構を備えてくれたら全部解決ですかね。
FFI初耳だったのですが結局LoadLibraryしてのDLLの呼び出し機構の様に見えますので、相手方の仕様がはっきりわかっていないと使いこなすのは難しそうなのかな・・・バラ色という訳でも無さそうに思いました。
私が主に作っていたときには、4DにOBJECTもCOLLECTIONもなかったので、引数に構造体などの受け渡しがあった場合、引数の受け渡しが難しくて作りにくかったんですが、最近はこれらの受け渡しが容易な様に見えるので
FFI的なプラグインができないものでしょうか。これができれば個別にプラグインを作る必要がなくなる様な気がします。
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Permissions in this forum:
返信投稿: 不可
|
|