memoの行数を増やす方法は無いですか?

解決


AS  2024-12-16 12:39:47  No: 151729  IP: [192.*.*.*]

私のプログラムで、memoにデータを表示させているのですが、
15万行の前後でエラーが出ます。
表示量を減らして、149259行は表示できています。

私が使っているのはXE5だったと思います。
memoの容量も最初に比べると多くなりましたが、
その後は変わりませんか?

倍くら表示させる方法はありませんか??

よろしくお願いします。

編集    削除
igy  2024-12-23 23:15:47  No: 151733  IP: [192.*.*.*]

生成したプログラムは32ビットですか?64ビットですか?
もし32ビットでしたら、64ビットで生成した場合、結果は同じになりますか?

編集    削除
AS  2025-01-10 19:24:14  No: 151745  IP: [192.*.*.*]

すいません、無理かと思ったのでここを見ていませんでした。

64ビットだと思っていましたが、どこを見れば分かりますか??

編集    削除
igy  2025-01-10 20:48:31  No: 151746  IP: [192.*.*.*]

> 64ビットだと思っていましたが、どこを見れば分かりますか??

【Delphi / C++Builder】Win32とWin64向けアプリケーション開発環境を設定する
https://qiita.com/kazaiso/items/adc60e88b4c7db334815

デスクトップ上でWindows 32bit/64bitアプリの開発環境を整える
https://qiita.com/kazaiso/items/adc60e88b4c7db334815#%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E4%B8%8A%E3%81%A7windows-32bit64bit%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%82%92%E6%95%B4%E3%81%88%E3%82%8B
あたりは、いかがでしょうか?

編集    削除
AS  2025-01-11 02:10:27  No: 151747  IP: [192.*.*.*]

64ビットになっています。

エラーが起きる文字数を計算すると、
100文字*15万行=1500万文字となるのですが、
2の64乗=4の32乗=16の16乗=256の8乗=65536の4乗=429497296の2乗=1.8*10の18乗
まだ、十分余裕があると思うのですが??

何分、50年前に習ったことなので、間違いがあるかも??

編集    削除
igy  2025-01-11 10:01:40  No: 151748  IP: [192.*.*.*]

そのパソコンのメモリは、どのくらい搭載していますか?

編集    削除
igy  2025-01-11 14:22:42  No: 151749  IP: [192.*.*.*]

ちなみに、
> エラーが出ます。 
エラーメッセージは、何と表示してますか?

編集    削除
igy  2025-01-11 14:37:00  No: 151750  IP: [192.*.*.*]

なお、TMemoに20万行を格納するプログラムを
こちらで試したところ、Delphi XE, Delhi 12.2 いずれも問題なく格納・表示できました。

編集    削除
AS  2025-01-12 04:25:07  No: 151752  IP: [192.*.*.*]

igyさん、ありがとうございました。

やってみます。

編集    削除
AS  2025-01-12 04:40:53  No: 151753  IP: [192.*.*.*]

153802行の表示できました。
エラーは出ませんでした。

編集    削除
AS  2025-01-12 04:49:58  No: 151754  IP: [192.*.*.*]

memoを使った自作の文書作成プログラムに、先ほどの15万文字を10回張り付けたのですが、
表示は問題なくできます。

エラーが出た理由を探してみます。
sortプログラムのせいかも。

編集    削除
AS  2025-01-12 05:42:38  No: 151755  IP: [192.*.*.*]

実は、表示されないエラーは2回目だったのです。
1年ほど前か、理論的は数千万行を表示させようとしてエラーが出て、さすがにこれはダメかと封印していたのです。
今回はその表示の1000分の1くらいで、数をちょい減らして15万行弱で表示できたので質問させてもらったのです。
で、数千万行の表示をさせてエラーを探しましたが、「整数のオーバーフロー」でした。

そんなのを見ずにすぐ対応するが、年寄りの悪いとこですね。

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

もうすぐあの世へ旅立ちますので、このような質問もそんなには多くないと思いますので、これからもよろしくお願いします。

編集    削除
AS  2025-01-12 09:18:17  No: 151756  IP: [192.*.*.*]

以前、sortでもエラーが起こり、数が多いとだめなのかと思っていました。
今回の件で、581万行のデータが取れたので、sortしてみましたが、エラーは起こりませんでした。
倍の1162万行でもエラーなしです。
報告しておきます。

編集    削除