例えば、Dim A() as Integer と仮宣言します。
次に、ReDim A(任意の数)で宣言し直した時に、
メモリ領域確保失敗することはありますか?
また、失敗したときはどのようなエラーが起こるのでしょうか?
回答宜しくお願いしますm(_ _)m
「エラー」と表現されましたので、VB6以前と仮定させて頂きます。
通常は失敗することなどありえません。
ReDim A(負の数) ' -> インデックスが有効範囲でない。
ReDim A(巨大な数) ' -> メモリが足らない
もちろん失敗することもあります。
これについては過去ログを参照してください。
確か過去1ヶ月以内に同じ質問が出ていたはずです。
配列をどこまで宣言できるのか、というような質問で。
失敗したときのエラーに関しては議論されていなかったような
気がしますが、これに関しては御自分で試されたほうが早いかと。
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200410/04100066.txt
ここに書きましたが
「実行時エラー'7' メモリーが不足しています。」
と言うエラーが出ます。
>java.lang.Nullpoさま
回答ありがとうございました。
VB6.0ということを明記することを忘れてました。申し訳ありません。
Cのmallocの失敗みたいなことを想定する必要はないということでしょうか?
>rakiさま
回答ありがとうございました。
過去ログを参照してみます。
>ねろさま
回答ありがとうございました。
URLが私の質問ページになっています(^^;
正しいURLを教えていただければ幸いです。
ああ〜 リンク先を間違えた。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200409/04090048.txt
ここです。
基本的には、メモリー確保はOSの仕事ですか。
OSの環境にもよりますが、メモリーが足りなくなるとOSは
ハードディスク上にスワップ領域を確保して、メモリーの内容を
待避します。従って大きいメモリー領域を確保すると、
「スワップ領域が足りません」等と言うエラーが出る可能性は
有りますが、「メモリーが不足しています」と言うエラーは
出ないのではと思いますが、なぜか出ます。
ただしスワップ領域が足りなくなるほどのメモリー確保をしたことが
無いのでどのようなエラーメッセージが出るかは解りません。
>ねろさま、みなさま
回答ありがとうございました。
メモリと配列に関する質問から色々な情報が出てきました。
これらの情報から試行錯誤してみます(´ー`)
配列の最大バイト数の上限は?
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200410/04100040.txt
テキストファイルから一行ずつ表示させるには?
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200409/04090048.txt
配列の要素数の限界はいくつ?
http://madia.world.coocan.jp/vb/vb_bbs/200306_03060015.html
ありゃ。
配列の要素の限界と、確保するメモリー領域の限界は別物ですよ。
配列の要素の限界はVBの制限事項によって。
確保するメモリー領域の限界はOSや使用しているハードウェアーによります。
>ねろさま
返信をスルーしていたみたいです(^^;
申し訳ございませんm(_ _)m
メモリ領域のエラーについては他の現象を調べている最中です。
質問が具体的になったときに、また宜しくお願いいたしますm(_ _)m
ツイート | ![]() |