4D-JUG
Would you like to react to this message? Create an account in a few clicks or log in to continue.

プラグインの開発

Go down

プラグインの開発 Empty プラグインの開発

投稿 by hosaka 2020-07-29, 11:16 am

4Dが64bitオンリーになったので、昔作ったプラグインのをやきなおす必要が出てきました。

とりあえず、ウィザードの最新をgithubからダウンロードしてみたのですが、拡張子が.cppでした。
現在の開発の主流がC#,F#,Swiftへ移行してサンプルコードなどが軒並みこれらのコードで書かれているのですが
プラグインの開発をこちらの言語で開発する様にできるのでしょうか。拡張子を変えるだけではエラー出まくりでした。
hosaka
hosaka

投稿数 : 172
登録日 : 2016/07/04
所在地 : 大阪

トップに戻る Go down

プラグインの開発 Empty Re: プラグインの開発

投稿 by osaru 2020-07-29, 1:11 pm

プラグインSDKがC++である以上難しいかとは思います。
実は同じような事を考えてて、アプローチとしては「C++(EXE)からC#(DLL)の関数を呼び出す」こんな感じになるのでは無いでしょうか?調べていませんがmacOSでもSwiftなdylibを同じように呼び出しできるんじゃないかと。

osaru

投稿数 : 66
登録日 : 2017/08/14

トップに戻る Go down

プラグインの開発 Empty Re: プラグインの開発

投稿 by hosaka 2020-07-29, 1:38 pm

osaru wrote:プラグインSDKがC++である以上難しいかとは思います。
実は同じような事を考えてて、アプローチとしては「C++(EXE)からC#(DLL)の関数を呼び出す」こんな感じになるのでは無いでしょうか?調べていませんがmacOSでもSwiftなdylibを同じように呼び出しできるんじゃないかと。
やはり難しいですか。他の言語はFFI機構(って言うらしい)でダイレクトにDLLなどが呼び出しできる物が多いのでプラグインと言う概念自体が古いんでしょうね。
hosaka
hosaka

投稿数 : 172
登録日 : 2016/07/04
所在地 : 大阪

トップに戻る Go down

プラグインの開発 Empty Re: プラグインの開発

投稿 by osaru 2020-07-29, 2:29 pm

hosaka wrote:やはり難しいですか。
絶対に無理と言い切れる自信は無いです(^^; おそらくDLLを4D側の想定している呼び出し機構に構成できればOKなのでしょうから。
hosaka wrote:他の言語はFFI機構(って言うらしい)でダイレクトにDLLなどが呼び出しできる物が多いのでプラグインと言う概念自体が古いんでしょうね。
4D言語がFFI呼び出し機構を備えてくれたら全部解決ですかね。
FFI初耳だったのですが結局LoadLibraryしてのDLLの呼び出し機構の様に見えますので、相手方の仕様がはっきりわかっていないと使いこなすのは難しそうなのかな・・・バラ色という訳でも無さそうに思いました。

osaru

投稿数 : 66
登録日 : 2017/08/14

トップに戻る Go down

プラグインの開発 Empty Re: プラグインの開発

投稿 by hosaka 2020-07-29, 3:08 pm

相手方の仕様がはっきりわからないってどう言う状況何でしょうか。
大体の場合、APIの仕様書とライブラリはあると思うんですが...  Rolling Eyes
hosaka
hosaka

投稿数 : 172
登録日 : 2016/07/04
所在地 : 大阪

トップに戻る Go down

プラグインの開発 Empty Re: プラグインの開発

投稿 by osaru 2020-07-29, 3:27 pm

hosaka wrote:相手方の仕様がはっきりわからないってどう言う状況何でしょうか。
大体の場合、APIの仕様書とライブラリはあると思うんですが...  Rolling Eyes

○立の静脈認証ソリューションはユーティリティソフトウェアがVB6製でコアDLLは仕様非公開。
4Dから認証情報を取り出せたらハッピーになれるかと交渉したのですが、お金出しても無理だとか・・・。
結局ウインドウハンドル制御してボタン操作をエミュレートしてCSV書き出し専用にWindowsを1台用意してお茶を濁しました。
フルコントロールできればユーザー登録から権限設定まで全て4Dの情報を活用できそうだったのに・・・。

osaru

投稿数 : 66
登録日 : 2017/08/14

トップに戻る Go down

プラグインの開発 Empty Re: プラグインの開発

投稿 by hosaka 2020-07-29, 4:05 pm

osaru wrote:
○立の静脈認証ソリューションはユーティリティソフトウェアがVB6製でコアDLLは仕様非公開。
4Dから認証情報を取り出せたらハッピーになれるかと交渉したのですが、お金出しても無理だとか・・・。
結局ウインドウハンドル制御してボタン操作をエミュレートしてCSV書き出し専用にWindowsを1台用意してお茶を濁しました。
フルコントロールできればユーザー登録から権限設定まで全て4Dの情報を活用できそうだったのに・・・。
それはそもそも非合法?的な使い方ですよね。 Laughing
hosaka
hosaka

投稿数 : 172
登録日 : 2016/07/04
所在地 : 大阪

トップに戻る Go down

プラグインの開発 Empty Re: プラグインの開発

投稿 by hosaka 2020-07-29, 4:25 pm

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

投稿数 : 172
登録日 : 2016/07/04
所在地 : 大阪

トップに戻る Go down

プラグインの開発 Empty Re: プラグインの開発

投稿 by Sponsored content


Sponsored content


トップに戻る Go down

トップに戻る


 
Permissions in this forum:
返信投稿: 不可