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


HSPTV!掲示板


未解決 解決 停止 削除要請

2024
1225
qwertyKernel32.asとGetNativeSystemInfo3解決


qwerty

リンク

2024/12/25(Wed) 02:33:29|NO.102796

報告の部類に入るかもしれませんが、
kernel32.asでGetNativeSystemInfoが定義されていないようです。

現状我々が入手できるHSP3.7beta9でも定義されていませんでした。
私は自分のアプリのコード内で

#include "kernel32.as" #func global GetNativeSystemInfo "GetNativeSystemInfo" sptr
で問題なく動いてるんで大きな問題ではないとは思います。

これには何か理由があるのでしょうか?
それともただの定義忘れ?(そんなことあるのでしょうか...)



この記事に返信する


TOMATO

リンク

2024/12/25(Wed) 20:23:18|NO.102814

(kernel32.as をどうやって作成したのかが定かではないので、推測でしかないですが)
HSP3.0とHSP3.7(Beta9)のkernel32.asを比較してみましたが、置き換えミスによる修正以外は定義されている関数に差がないように見受けられました。
つまり、HSP3.0の登場年である2005年から、今日に至って関数の追加が全く行われていないということになります。

GetNativeSystemInfo 関数は、Windows XP 以降に登場した関数です。
厳密には、Windows XP の 64bit版の発売に伴って後から追加されたものと考えられます。
(関数の説明にWOW64の文言がありますし、64bit版に合わせて登場たものと考えていますが、初期のSPなしのXP 32bitの環境がないので憶測です)

Windows XP の 64bit版の発売は2005年です。
https://ja.wikipedia.org/wiki/Microsoft_Windows_XP_Professional_x64_Edition

HSP3.0の登場時期とXPの64bitの発売時期は両方とも2005年ですが、
XPの64bit版は一般的には全く普及してなかったため、
kernel32.as へ定義がないのも仕方がないのかな…と思います。



TOMATO

リンク

2024/12/25(Wed) 20:31:11|NO.102815

あ、XP 64-bit Itanium Edition の存在忘れてた…
こっちは2002年に登場してますけど、まったく普及してないのでね…。

Itanium
https://ja.wikipedia.org/wiki/Itanium



hoyoqwerty

リンク

2024/12/25(Wed) 22:03:14|NO.102817

TOMATOさんご回答ありがとうございます。
そういう事情を考えると確かにそうですね。
XPまでの対応であることを考えると、32bit版XPに無いであろうAPIを定義してしまうのはまずいように感じます。

わかりやすいご回答ありがとうございました。
Itanium版と普通のx64版...今考えてもなんだかごちゃごちゃに感じてしまいますね...



記事削除

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

NO.102796への返信

マスコット

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

名前

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

削除用パスワード

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

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

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