Re: VC++(CLR)で作成したDLLがMagicから認識されない
null 
			
			 
	投稿数: 191
	
			 
	投稿数: 191
	
マネージドの DLL は呼べないと思っている人ですが書いてある内容では呼べているのですね。
(参考に乗せている Test はアンマネージドのようにも見えるが、SpreadsheetGear を利用する DLL は
マネージドだと思うので、「udf からでも呼べるのかー」という認識で書いています)
実行時に「ユーザー関数が〜」ではなく、「ユーザモジュールが見つかりません」なので、dll が uniPaaS の
ランタイムから見えていないのだと思います。一時的に環境変数 PATH に DLL のパスを追加してみては?
ちなみに作成した dll が 64bit だと 32bit からは見えませんが内容を見る限りは 32bit の dll ですよね?
それでもユーザーモジュールが見つからないのであれば、
作成した dll 内から使用する dll が対象のマシンに入っていない可能性があります。
Visual Studio Tools の中にあるコマンドプロンプトから dumpbin で確認してみては?
dumpbin Test.dll /imports
で Test.dll が使用している dll を確認。
その dll があるか?パスが通っているか?など確認。
念のため、MAGIC_BIND retnum が正しくエクスポートされているか確認
dumpbin Test.dll /exports
実行版しか入っていない環境で動かないとのことなので
何となくこの手の dll が対象のマシンにないのが原因のような気がします。
http://devnet.magicsoftware.co.jp/download/tools_library/uipaasv1/msvcr71dll/
(参考に乗せている Test はアンマネージドのようにも見えるが、SpreadsheetGear を利用する DLL は
マネージドだと思うので、「udf からでも呼べるのかー」という認識で書いています)
実行時に「ユーザー関数が〜」ではなく、「ユーザモジュールが見つかりません」なので、dll が uniPaaS の
ランタイムから見えていないのだと思います。一時的に環境変数 PATH に DLL のパスを追加してみては?
ちなみに作成した dll が 64bit だと 32bit からは見えませんが内容を見る限りは 32bit の dll ですよね?
それでもユーザーモジュールが見つからないのであれば、
作成した dll 内から使用する dll が対象のマシンに入っていない可能性があります。
Visual Studio Tools の中にあるコマンドプロンプトから dumpbin で確認してみては?
dumpbin Test.dll /imports
で Test.dll が使用している dll を確認。
その dll があるか?パスが通っているか?など確認。
念のため、MAGIC_BIND retnum が正しくエクスポートされているか確認
dumpbin Test.dll /exports
実行版しか入っていない環境で動かないとのことなので
何となくこの手の dll が対象のマシンにないのが原因のような気がします。
http://devnet.magicsoftware.co.jp/download/tools_library/uipaasv1/msvcr71dll/
	
		投票数:0
		平均点:0.00
	
			
		
	
投稿ツリー
- 
	
 VC++(CLR)で作成したDLLがMagicから認識されない
	(Quantum, 2016-5-19 16:17)
	
	- 
	
 Re: VC++(CLR)で作成したDLLがMagicから認識されない
	(ISHIJIMA, 2016-5-19 16:25)
	
 - 
	
 Re: VC++(CLR)で作成したDLLがMagicから認識されない
	(null, 2016-5-22 18:47)
	
 - 
	
 Re: VC++(CLR)で作成したDLLがMagicから認識されない
	(Quantum, 2016-5-23 14:47)
	
	- 
	
 Re: VC++(CLR)で作成したDLLがMagicから認識されない
	(null, 2016-5-23 17:46)
	
 
 - 
	
 - 
	
 Re: VC++(CLR)で作成したDLLがMagicから認識されない
	(Quantum, 2016-5-25 10:44)
	
 
 -