###前提・実現したいこと
自作のDLLをJSX(adobe after effects CS6)側から参照したいのですが、 そもそも可能なのかどうかが知りたいです。
###発生している問題・エラーメッセージ
ExternalObjectを実行したタイミングで例外「IOError: I/O エラー」が発生。 ※ファイルパス自体は通っている事は確認済みです。 通っていなければ別のエラーメッセージが出ることも確認
###該当のソースコード
JSX
1{ 2 var DLL_PATH = "C:/_work/"; 3 var FILE_NAME = "dllTest.dll" 4 5 try { 6 var dll = new ExternalObject('lib:' + DLL_PATH + FILE_NAME); 7 8 alert(dll.version); 9 10 dll.terminate(); //解放 11 12 } catch (e) { 13 alert(e); 14 } 15 16}
dllTest.cpp
1#include <windows.h> 2#include "dllTest.h" 3 4int WINAPI DllMain(HINSTANCE hInst, DWORD fdwReason, PVOID pvReserved) 5{ 6 return TRUE; 7} 8 9EXPORT BOOL CALLBACK TestMethod(char* msg) 10{ 11 memcpy(msg, "Test Message", 12); 12 return TRUE; 13} 14
dllTest.h
1#define EXPORT extern "C" __declspec(dllexport) 2 3EXPORT BOOL CALLBACK TestMethod(char* msg);
###試したこと
・dllファイル側を64bit、32bitのそれぞれでコンパイルした物を使用しても結果は変わらず。
・作成したdll自体が機能するかどうかはサンプルexe作成して問題無い事は確認済み。
・ExternalObjectが使えないかどうか試す為、以下を実行した際に正常に値が取れる事は確認済み。
⇒ var dll = new ExternalObject('lib:AdobeXMPScript');
###補足情報(言語/FW/ツール等のバージョンなど)
Adobe After Effects CS6
Visual Studio 2013
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。