APIのコールについて
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
katura
投稿数: 19
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
PC-FAXを行うAPIをメーカー様より提供いただいたのですが
最初のコール方法で躓いております。
ifxapi64.dllが当該ファイルなのですが
セットアップによりsystem32フォルダに入っている状態で
1.外部コール・UDPにて'@ifxapi64.ifxopenex'
パラメータにて'14'、使用プリンタ名、ハンドラ
2.ハンドラを項目更新にてcalldll('@ifxapi64.ifxopenex','14',使用プリンタ名)
の2パターンを試しているのですがどちらも「ユーザモジュールが見つかりません.」となります。
わかる方ご教授いただけませんでしょうか。
最初のコール方法で躓いております。
ifxapi64.dllが当該ファイルなのですが
セットアップによりsystem32フォルダに入っている状態で
1.外部コール・UDPにて'@ifxapi64.ifxopenex'
パラメータにて'14'、使用プリンタ名、ハンドラ
2.ハンドラを項目更新にてcalldll('@ifxapi64.ifxopenex','14',使用プリンタ名)
の2パターンを試しているのですがどちらも「ユーザモジュールが見つかりません.」となります。
わかる方ご教授いただけませんでしょうか。
投票数:0
平均点:0.00
TKitabayashi
投稿数: 90
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
@を取り除くとうまくいくような気がします。
外部コール・UDPで'ifxapi64.ifxopenex'にするといいと思います。
私はCallDll関数で成功したことがないので「2」の方はわかりませんが、もしからしたら@を取り除くだけでうまくいくかもしれません。
外部コール・UDPで'ifxapi64.ifxopenex'にするといいと思います。
私はCallDll関数で成功したことがないので「2」の方はわかりませんが、もしからしたら@を取り除くだけでうまくいくかもしれません。
投票数:0
平均点:0.00
katura
投稿数: 19
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
投稿ありがとうございます。
@を除いた形でも試してはいるのですが現象は同じなのです。
モジュールが見えないのか?とも思いUNIPAASのフォルダに
コピーしても同様でした。
何か根本的なところで間違ってる気がするのですが。。
@を除いた形でも試してはいるのですが現象は同じなのです。
モジュールが見えないのか?とも思いUNIPAASのフォルダに
コピーしても同様でした。
何か根本的なところで間違ってる気がするのですが。。
投票数:0
平均点:0.00
TKitabayashi
投稿数: 90
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
edpファイルがあるフォルダにDLLファイルを置いてみてはどうでしょうか?
投票数:0
平均点:0.00
katura
投稿数: 19
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
@有り、無し および UDPとCALLDLL
それぞれの組み合わで試してみましたが
現象変わらずです。
PATHを入れてみたりもしているのですが
変化ないです。
それぞれの組み合わで試してみましたが
現象変わらずです。
PATHを入れてみたりもしているのですが
変化ないです。
投票数:0
平均点:0.00
TKitabayashi
投稿数: 90
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
「ユーザモジュールが見つかりません.」となっているので、やはり、DLLファイルを見つけられていないのだと思います。
system32、uniPaaSのインストールフォルダ以外にDLLファイルを置いてみるといいと思います。
候補に挙げられるのは、
・edpファイルがあるフォルダ。
・論理名WorkingDirが指しているフォルダ。
などです。
V1Plusだと同じフォルダを指していました。
私も、最近このような状況に遭い、
・edpファイルがあるフォルダにDLLを置く。
・外部コールのUDPに指定するとき@はつけない。
で解決しました。
外部コールのUDPに@を指定したら、Magicが強制終了になりました。
system32、uniPaaSのインストールフォルダ以外にDLLファイルを置いてみるといいと思います。
候補に挙げられるのは、
・edpファイルがあるフォルダ。
・論理名WorkingDirが指しているフォルダ。
などです。
V1Plusだと同じフォルダを指していました。
私も、最近このような状況に遭い、
・edpファイルがあるフォルダにDLLを置く。
・外部コールのUDPに指定するとき@はつけない。
で解決しました。
外部コールのUDPに@を指定したら、Magicが強制終了になりました。
投票数:0
平均点:0.00
katura
投稿数: 19
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
貴重なお時間と情報ありがとうございます。
ファイルの場所をいくつか変えて試してみてます。
が、エラーメッセージがまったく変化ないので
他のAPIのコールも試してみます。
ファイルの場所をいくつか変えて試してみてます。
が、エラーメッセージがまったく変化ないので
他のAPIのコールも試してみます。
投票数:0
平均点:0.00
mokomoko101
居住地: 大阪
投稿数: 53
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
こんにちは。
ちょっと試していただけますでしょうか。
1.該当のdllを作業フォルダに置く。
2.外部コール U=UDPにて、dllのコールの記述を
"dllのパス"&"dll名.関数"で記述
@が必要な場合、"@"&"dllのパス"&"dll名.関数"の記述で。
※上記の記述の通りであれば、dllのパスは論理名も使用できます。
ex)論理名%\SYS%にあるAdvZip.dllのGetZipDecision関数の場合
⇒"@%\SYS%AdvZip.GetZipDecision"と記述する
お願いします。
ちょっと試していただけますでしょうか。
1.該当のdllを作業フォルダに置く。
2.外部コール U=UDPにて、dllのコールの記述を
"dllのパス"&"dll名.関数"で記述
@が必要な場合、"@"&"dllのパス"&"dll名.関数"の記述で。
※上記の記述の通りであれば、dllのパスは論理名も使用できます。
ex)論理名%\SYS%にあるAdvZip.dllのGetZipDecision関数の場合
⇒"@%\SYS%AdvZip.GetZipDecision"と記述する
お願いします。
投票数:0
平均点:0.00
katura
投稿数: 19
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
ご回答ありがとうございます。
最終的に32bitOSの環境を作成し、32bit用のdllを試したところ
呼び出すことができました。
・calldllではPATHの記述は不要でしたが
外部コールUDPでは必要でした。
お二方 感謝いたします。
最終的に32bitOSの環境を作成し、32bit用のdllを試したところ
呼び出すことができました。
・calldllではPATHの記述は不要でしたが
外部コールUDPでは必要でした。
お二方 感謝いたします。
投票数:0
平均点:0.00