ab.com コミュニティ

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

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




新しいトピックを投稿する  トピックへ返信する  [ 3 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2005年9月03日(土) 01:07 
オフライン

登録日時: 2005年5月31日(火) 23:46
記事: 45
お住まい: 愛知県
このプログラムが、AB4.1で動作してくれません。
AB3.Xの頃は動いたので、バグだと思うのでここに書きます。
コード:
Sub NowTime()
	Dim Msg As BytePtr
	Dim T As SYSTEMTIME
	Dim a As Long
	GetLocalTime(T)

	Msg=calloc(100)
	lstrcpy(Msg,"今日は")
'	a=T.wDayOfWeek'  |
'	Select Case a'   |---------この2行と
	Select Case T.wDayOfWeek'--この行のコメントアウトを入れ替ると正しく動きます。
		Case 0
			lstrcat(Msg,"(日)")
		Case 1
			lstrcat(Msg,"(月)")
		Case 2
			lstrcat(Msg,"(火)")
		Case 3
			lstrcat(Msg,"(水)")
		Case 4
			lstrcat(Msg,"(木)")
		Case 5
			lstrcat(Msg,"(金)")
		Case 6
			lstrcat(Msg,"(土)")
'		Case Else
'			lstrcat(Msg,"(?)")
	End Select

	lstrcat(Msg,"です。")
	MessageBox(0,Msg,"今日の曜日",MB_OK+MB_ICONASTERISK)
	free(Msg)
End Sub		'正常に関数を抜けることができません。

NowTime()

End
このプログラムのように、Selectで判断させる数値を構造体にすると、Caseの全てが実行されます。
通常の変数に代入してやるときちんと動きます。
Case Else を入れるとまた違った動作をします。
それと、Selectがきちんと動作しなかった時はEndSubの時にアクセス違反を起こします。が、それがどこかよく分かりません。

よろしくお願いします。

XP SP1,256MBでエラー発生確認です。


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年9月03日(土) 01:47 
Select Case ステートメント自体がだめっぽいです。
以下のコードで「例外処理 Code:XXXXXXXX」と表示されたダイアログが出てしまいます。
コード:
#prompt
Select Case Asc("a")
  Case 0
    Print "NULLです"
  Case &H61
    Print "aです"
  Case Else
    Print "よくわかりません"
End Select



通報する
ページトップ
   
 記事の件名:
投稿記事Posted: 2005年9月03日(土) 10:25 
オフライン
Site Admin

登録日時: 2005年5月30日(月) 15:08
記事: 535
ご報告ありがとうございます。

16ビット、8ビットの型の値をSelect Caseに指定すると正常にコンパイルできていないバグを確認しました。

原因がわかりましたので、次回のバージョンアップで修正します。


通報する
ページトップ
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 3 件の記事 ] 

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


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[9人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

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