タスクマネージャを起動し、以下のコードをHSPの 3.4 および 3.5 でそれぞれ実行してみて
ください。3.4だと、何度スペースを押しても問題は特に起きませんが、3.5で実行をすると
「メモリが確保できません」というエラーが出ます。
※一度実行してエラーが起きなくても、タスクマネージャで見るとメモリ使用量が莫大に増加
しており、以降キーを押すごとにどんどん増えていき、いずれはエラーが発生するはずです。
; sqleleの動作確認用 #include "sqlele.hsp" exist "test.db" if strsize>-1 { delete "test.db" } sql_open "test.db" sql_q "CREATE TABLE buf(id INTEGER PRIMARY KEY,prm01 INTEGER,prm02 INTEGER,prm03 INTEGER,prm04 INTEGER,prm05 INTEGER,prm06 INTEGER,prm07 INTEGER,prm08 INTEGER,prm09 INTEGER)" randomize repeat 100 title "100セット "+str(cnt+1)+" 回目" : wait 1 sql_q "begin" repeat 100 sql = "INSERT INTO buf(prm01,prm02,prm03,prm04,prm05,prm06,prm07,prm08,prm09) VALUES(" sql += str(rnd(32768))+","+str(rnd(32768))+","+str(rnd(32768))+","+str(rnd(32768))+","+str(rnd(32768))+"," sql += str(rnd(32768))+","+str(rnd(32768))+","+str(rnd(32768))+","+str(rnd(32768))+")" sql_q sql loop sql_q "commit" loop title "準備完了" mes "以降、スペースキーを押すたびにテーブルを取得しに行きます\nESCキーで終了" *main wait 1 getkey a, 27 : if a { end } getkey a, 32 if a { mes "SELECT文実行開始" : wait 1 sql_q "SELECT * FROM buf" mes "┗実行終了、タスクマネージャを確認してみること" } goto *main
SQLeleのどこかを修正すれば、回避できるでしょうか?
もしくは全く別の問題でしょうか……?(´・ω・`)