[ 新規に投稿する ]

静的変数の上限についてNo.09901
おすぎ さん 22/07/21 15:57 [ コメントを投稿する ]
お世話になっています。

setstaticvariable 文を使って、会社名を34,000個ほど記憶させようとしました。
32,500個ほどで setstaticvariable が result == 0 なりました。

会社名リストが書かれたファイル容量は〜1MBです。
一方、静的変数の上限は、[その他]→[動作環境]→[環境]の「詳細設定...」から 10240KB に設定してあります。

静的変数の上限には達していないと思うのですが
setstaticvariable が動かなくなったのはなぜでしょうか?


[ ]
RE:09901 静的変数の上限についてNo.09902
秀丸担当 さん 22/07/21 17:44 [ コメントを投稿する ]
  試してみたところ確かにそれくらいの個数というか、具体的には32767個までになっていました。
もともとメモリ使用量の上限として4KB、あるいは32KBくらいだったので、個数としてこれ以上になることはあり得ないという想定でした。
メモリ使用としての上限を決めることができるようになった今でもやはり、個数としての上限はここまでとしておきたいところです。
ヘルプに個数としての条件を書くようにしておきます。
[ ]
RE:09902 静的変数の上限についてNo.09903
おすぎ さん 22/07/21 18:07 [ コメントを投稿する ]
  秀丸担当さま

ありがとうございます。
個数に上限があるとは知りませんでした。残念です。

実は、会社名を34,000個ほど記憶させて、マクロが終了した後でも保持し、速い
アクセスを実現したいのですが、何か良い方法があるでしょうか?

田楽DLLのグローバル変数ではアクセスが遅いし、静的変数が使えないとなると、
お手上げです。

何か良い手立てがありましたら、教えて下さい。
[ ]
RE:09903 静的変数の上限についてNo.09904
秀丸担当 さん 22/07/22 11:11 [ コメントを投稿する ]
  目的に合っているわからないですが、INIファイルの書き方でファイルとして置いておいて、getinistrwで取得するというのではだめでしょうか。
いちいちファイルにアクセスするので遅いですが、setstaticvariableのように最初に全部格納する必要もないですし、全部網羅して取得するのではなく1つを抽出するのであればいいような気がします。
[ ]
RE:09904 静的変数の上限についてNo.09905
おすぎ さん 22/07/22 11:56 [ コメントを投稿する ]
  秀丸担当さま

やっぱり iniファイルに書くしかないですよね。その線で進めようと思います。

ありがとうございました。
[ ]

[ 新規に投稿する ]