静的変数の上限についてNo.09901
おすぎ さん 22/07/21 15:57
 
お世話になっています。

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

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

静的変数の上限には達していないと思うのですが
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ファイルに書くしかないですよね。その線で進めようと思います。

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

[ ]