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


HSPTV!掲示板


未解決 解決 停止 削除要請

2026
0314
youdaiHSP3 32bit版をHSP3 64bit版化した時にエラーが起きてしまいました。この原因は何でしょうか?0未解決


youdai

リンク

2026/3/14(Sat) 11:33:25|NO.104833

以下のスクリプトは標準のHSP3 32bit版だと正常動作するのですが、HSP3 64bit版だとなぜかエラーになってしまいます。
これはおそらく64bit版固有の理由だと思うのですが、思い込みで判断するのもよくないだろうと思って質問させて頂くことにしました。
これはなぜエラーになってしまうのでしょうか?
どこを改善すれば64bit版でも動作するのでしょうか?
それともこれは実行ファイルの作成の仕方に何か問題があるのでしょうか?

補足:
・HSPスクリプトエディタを使ってShift-JISで64bit版実行ファイルを作成しても同じでした。
・VSCodeとhspcを使ってUTF-8で64bit版実行ファイルを作成しても同じでした。
・64bit版におけるvarptrの問題はinoviaさんのhspint64.asを使えば解消できるらしいですが、今回関係あるかは不明です。

hspint64 - github
https://github.com/inovia/HSPInt64


;#include "hsp3_64.as" ;ドラッグ&ドロップしたアドレスを表示するスクリプト ;外部DLL呼び出し #uselib "shell32.dll" #func DragAcceptFiles "DragAcceptFiles" int,int #func DragQueryFile "DragQueryFileA" int,int,int,int #func DragQueryPoint "DragQueryPoint" int,int #func DragFinish "DragFinish" int ;定数 #define WM_DROPFILES 0x0233 screen 0, 320,320 redraw 0 mes "ファイルをここへ\nドラッグ&ドロップしてください" redraw 1 DragAcceptFiles hwnd, 1 ; このウィンドウを対象とする oncmd gosub *OnDropFiles, WM_DROPFILES ; WM_DROPFILES メッセージハンドラを設定 stop *OnDropFiles oncmd 0 hdrop = wParam;★ 64bit版だともしかしてここが32bit版と異なる? ; ドロップされたファイルの数を取得する DragQueryFile hdrop, -1, 0, 0 ndrop = stat if ndrop==0{ ;★ 64bit版だとなぜかndropが0として返答される ;何もドロップされていない判定(エラー) dialog "何もドロップされていません",1,"エラー" DragFinish hdrop; ドロップファイル情報をクリア (これをしないとメモリリークになる) end } ;ドロップされたファイルのアドレスを取得 folder_name = "" DragQueryFile hdrop, 0, varptr(folder_name), 260;★ 64bit版だとvarptrが問題になるかも? dialog str(folder_name),0,"これがドロップされました" DragFinish hdrop; ドロップファイル情報をクリア (これをしないとメモリリークになる) oncmd 1 return



この記事に返信する


記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.104833への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

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