ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年4月27日(土) 22:50

全ての表示時間は UTC+09:00 です




返信する
ユーザー名:
件名:
メッセージ本文:
メッセージを入力してください。60000 字まで入力できます。 

フォントサイズ:
フォントカラー
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF
BBCode を無効にする
URL を自動的にパースしない
クイズ
お手数ですがカタカナで「エービー」と4文字を入力してください。:
答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。
   

トピックのレビュー - MessageBoxで改行を表現しようとするとアクセス違反
作成者 メッセージ
  記事の件名:   引用付きで返信する
ありがとうございました。
投稿記事 Posted: 2007年1月07日(日) 18:50
  記事の件名:   引用付きで返信する
ヘルプの説明は殆どが随分前に書かれた物なので、過信してはいけません。

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

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

追伸:プログラミングはパズルです。ひとつのピースが合わなかったら別のピースを探す所からはじめましょう。
投稿記事 Posted: 2007年1月07日(日) 17:49
  記事の件名:   引用付きで返信する
変な書き方になってしまってすいません。
言いたかったことは、ヘルプにあるMessageBox関数の説明を見ただけでは、改行方法にExを使った方法がわからないということです(MsgBox関数の説明でもChr$関数の改行への使い方(あるいは使えるという説明)が載っていないのと同じように)。少なくとも初心者か、あまり熟練していないような私には、改行方法をいちいち聞かなければ作業が進められない、というところがあります(仮にもインターネットに繋げられない人には使い方がわからず仕舞いになってしまう恐れがある)。そのため、そのような方法をヘルプに少しずつでも記述するとよいかな、と思っています。
投稿記事 Posted: 2007年1月07日(日) 16:19
  記事の件名:   引用付きで返信する
> 山本さんが見ているなら、ちょっと要望として出したいのですが、ヘルプの説明で、Chr$関数の組み合わせで改行できます、とだけあからさまに書いてあるだけだと、MessageBoxの時にExをつけるという説明がMessageBoxにもないので、ちょっと困惑するところがあると思うのです・・・。
???
「Ex 表記による文字列」という項目がヘルプにありますけど...?。
投稿記事 Posted: 2007年1月07日(日) 16:06
  記事の件名:   引用付きで返信する
ありがとうございます。うまくいきました。

山本さんが見ているなら、ちょっと要望として出したいのですが、ヘルプの説明で、Chr$関数の組み合わせで改行できます、とだけあからさまに書いてあるだけだと、MessageBoxの時にExをつけるという説明がMessageBoxにもないので、ちょっと困惑するところがあると思うのです・・・。
投稿記事 Posted: 2007年1月07日(日) 13:53
  記事の件名:   引用付きで返信する
おそらく、LPStr+StringClassの組み合わせがまずいのでしょう。

次のように書けばエラーは出ません。
コード:
MessageBox(hMainWnd,Ex"ItemTextLen の値が不正です。\r\n\r\n処理に関するエラーか不正操作が行われた可能性があります。","予期せぬエラー",MB_ICONSTOP)

追記:ところで、EPIってEIPの間違いでしょうか?
投稿記事 Posted: 2007年1月07日(日) 12:03
  記事の件名:  MessageBoxで改行を表現しようとするとアクセス違反  引用付きで返信する
こんにちは。
諸事情で抜粋ですが、以下のコードでバグ(アクセス違反)が発生します。
コード:
MessageBox(hMainWnd,"ItemTextLen の値が不正です。" + Chr$(13) + Chr$(10) + Chr$(13) + Chr$(10) + "処理に関するエラーか不正操作が行われた可能性があります。","予期せぬエラー",MB_ICONSTOP)
なお、これをほかの行へ移して実行した場合も、ここで動作が止まるので、バグとして報告しました。確認した限りだと、MsgBoxだと何も起こりません。

またエラーメッセージも載せておきます。
コード:
スレッド(&H474)でアクセス違反がありました(EPI=&H77D0204F)。
そして、もうひとつは、Msgboxはカッコ()をつけると(表記)エラーと認識し、MessageBoxはカッコをつけないと(表記)エラーとなるようですが、これは仕様ですか?
投稿記事 Posted: 2007年1月07日(日) 11:58

全ての表示時間は UTC+09:00 です


ページ移動:  
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean