HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2020
0913
わからない外部DLLの呼び出しに失敗しました10解決


わからない

リンク

2020/9/13(Sun) 12:49:57|NO.91351

HSP3.6β3で
#include "hsp3_64.as"を書いて実行したら、
「外部DLLの呼び出しに失敗しました」って表示されるんですけど、
何か原因か分かりますか?
includeしなければ正常に動きます



この記事に返信する


わからない

リンク

2020/9/13(Sun) 13:04:20|NO.91352

訂正:
includeしなくても正常に動きません



TOMATO

リンク

2020/9/13(Sun) 13:09:16|NO.91353

HSPの64bit版ランタイムを使用する場合は、呼び出すDLLも64bit版を使用しないとダメです。
HSPに付属しているDLL(hspext.dll、hspcv.dll等)はすべて32bit版なため、
呼び出すことができません。

現状は、外部で64bit対応をうたっているHSP向けプラグインや、
汎用DLL(Win32APIやDXライブラリ等)でしか使えないと思います。



わからない

リンク

2020/9/13(Sun) 13:10:40|NO.91354

なるほど、納得です
ありがとうございました



わからない

リンク

2020/9/13(Sun) 13:12:27|NO.91355

解決です



TOMATO

リンク

2020/9/13(Sun) 13:15:53|NO.91356

あと、マシン語を呼び出すようなモジュール(modclbk3b2)や
ポインタを操作するようなプログラムも動作しません。

埋め込んであるマシン語が32bit用であるのと、ポインタも32bitを前提にしているためです。



TOMATO

リンク

2020/9/13(Sun) 13:22:25|NO.91357

あと、現状の64bit版ランタイムはベータテスト的扱いなので、
仕様が変更される可能性が大いにあります。
よくわからないのであれば、使わないのが無難です。

64bit(x64)対応版ランタイムの利用について
http://www.onionsoft.net/hsp/v35/doclib/hspprog.htm#HSP64



h

リンク

2020/9/13(Sun) 19:27:17|NO.91362

Windows10だと32ビットプログラムはWOW64による互換動作ですよね。
結局は32ビットのWindows7あたりが無難かな。



TOMATO

リンク

2020/9/13(Sun) 20:37:55|NO.91363

>WOW64による互換動作

x64上のWOW64はハードウエア(CPU)レベルでの互換動作なので、
パフォーマンス低下などは気にしなくて良いレベルだと思いますが…。
https://xtech.nikkei.com/it/article/COLUMN/20100407/346769/

サポートが切れているWindows 7を使う方が、よっぽど問題と思います。



TOMATO

リンク

2020/9/13(Sun) 20:48:46|NO.91364

Windows 10 自体は 32bit 版も販売していますので、
自分でOSを入れるなどすれば、使用可能です。
まぁ、最大で3GBちょいまでしかメモリが使えないので、もったいないですけども。

Microsoft Windows10 Pro 32bit 日本語版
https://www.amazon.co.jp/dp/B0141WUIKO



h

リンク

2020/9/13(Sun) 21:24:01|NO.91366

TOMATOさんありがとうございます。
互換動作って不安に感じるのですけど問題ないレベルなんですね。
7パソコンはオフで使うだけですね。



ONION software Copyright 1997-2023(c) All rights reserved.