MessageBoxで改行を表現しようとするとアクセス違反

ActiveBasicのバグと思われる不具合を発見された方は、こちらから知らせていただけると助かります。
返信する
メッセージ
作成者
ganas
記事: 19
登録日時: 2006年3月04日(土) 00:39

MessageBoxで改行を表現しようとするとアクセス違反

#1 投稿記事 by ganas »

こんにちは。
諸事情で抜粋ですが、以下のコードでバグ(アクセス違反)が発生します。

コード: 全て選択

MessageBox(hMainWnd,"ItemTextLen の値が不正です。" + Chr$(13) + Chr$(10) + Chr$(13) + Chr$(10) + "処理に関するエラーか不正操作が行われた可能性があります。","予期せぬエラー",MB_ICONSTOP)
なお、これをほかの行へ移して実行した場合も、ここで動作が止まるので、バグとして報告しました。確認した限りだと、MsgBoxだと何も起こりません。

またエラーメッセージも載せておきます。

コード: 全て選択

スレッド(&H474)でアクセス違反がありました(EPI=&H77D0204F)。
そして、もうひとつは、Msgboxはカッコ()をつけると(表記)エラーと認識し、MessageBoxはカッコをつけないと(表記)エラーとなるようですが、これは仕様ですか?
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#2 投稿記事 by konisi »

おそらく、LPStr+StringClassの組み合わせがまずいのでしょう。

次のように書けばエラーは出ません。

コード: 全て選択

MessageBox(hMainWnd,Ex"ItemTextLen の値が不正です。\r\n\r\n処理に関するエラーか不正操作が行われた可能性があります。","予期せぬエラー",MB_ICONSTOP)

追記:ところで、EPIってEIPの間違いでしょうか?
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
ganas
記事: 19
登録日時: 2006年3月04日(土) 00:39

#3 投稿記事 by ganas »

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

山本さんが見ているなら、ちょっと要望として出したいのですが、ヘルプの説明で、Chr$関数の組み合わせで改行できます、とだけあからさまに書いてあるだけだと、MessageBoxの時にExをつけるという説明がMessageBoxにもないので、ちょっと困惑するところがあると思うのです・・・。
7
記事: 473
登録日時: 2005年5月31日(火) 18:51
お住まい: 新潟県
連絡する:

#4 投稿記事 by 7 »

> 山本さんが見ているなら、ちょっと要望として出したいのですが、ヘルプの説明で、Chr$関数の組み合わせで改行できます、とだけあからさまに書いてあるだけだと、MessageBoxの時にExをつけるという説明がMessageBoxにもないので、ちょっと困惑するところがあると思うのです・・・。
???
「Ex 表記による文字列」という項目がヘルプにありますけど...?。
ganas
記事: 19
登録日時: 2006年3月04日(土) 00:39

#5 投稿記事 by ganas »

変な書き方になってしまってすいません。
言いたかったことは、ヘルプにあるMessageBox関数の説明を見ただけでは、改行方法にExを使った方法がわからないということです(MsgBox関数の説明でもChr$関数の改行への使い方(あるいは使えるという説明)が載っていないのと同じように)。少なくとも初心者か、あまり熟練していないような私には、改行方法をいちいち聞かなければ作業が進められない、というところがあります(仮にもインターネットに繋げられない人には使い方がわからず仕舞いになってしまう恐れがある)。そのため、そのような方法をヘルプに少しずつでも記述するとよいかな、と思っています。
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#6 投稿記事 by konisi »

ヘルプの説明は殆どが随分前に書かれた物なので、過信してはいけません。

当時は、固定文字列も全てString型に直して結合し、BytePtr型として実行するという出鱈目な事をやっていたのでChr$関数を含む文字列でもうまく動いていたのですが、
今はString型はクラス化され、現状として実験段階の部分がかなりあります。
AB5の正式版が出るまでは、AB424か、あるいはもう少し安定しているAB413を使う事を推奨します。

ただ、ヘルプの内容の薄さについてはちょっと困っていますが。

追伸:プログラミングはパズルです。ひとつのピースが合わなかったら別のピースを探す所からはじめましょう。
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
ganas
記事: 19
登録日時: 2006年3月04日(土) 00:39

#7 投稿記事 by ganas »

ありがとうございました。
返信する