ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月29日(金) 06:09

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




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

登録日時: 2005年5月31日(火) 23:46
記事: 45
お住まい: 愛知県
雑談掲示板の[1635]で山本管理人さんが

> ABは24日以上放置したPCでも起動できます?

といわれているので、気づいた点を。(現在起動から39日と8時間少々)

AB最新版を使っていますが、
1.命令の説明のツールチップの太字部分の表示が最近おかしいです。
 バグ報告板に誰も書かないので、私だけかな? と思うのですが、BytePtr型の変数を打つと、それ以後太字部分が移動しません。
lstrcpy(Msg,"test"
と、ここまで打っても太字部分はコンマの前に位置しています。

2.デバグを入れるとプログラムがアクセス違反を起こします。
 ただし、2度目はたいていうまくいきますが、時々コンパイラが強制終了されます。


どちらも24日を過ぎてから(多発し始めたのは30日を過ぎてから)なので、ABのバグである可能性は低いと思うのですが、報告します。


通報する
ページトップ
投稿記事Posted: 2005年10月15日(土) 10:45 
オフライン

登録日時: 2005年5月31日(火) 13:31
記事: 205
お住まい: 大阪市
> AB最新版を使っていますが、
> (中略)
> と、ここまで打っても太字部分はコンマの前に位置しています。
この現状は自分が
http://www.discoversoft.net/forum/viewtopic.php?t=372
で報告し、管理人さんもバグだと判断されたみたいです。
ちなみに、SendMessage(0,0,0,の3つ目の「,」を打っても、補完機能(?)上の4番目が太字にはなりません。(他の関数でもたまに起こります(自作のものでも))

>
> 2.デバグを入れるとプログラムがアクセス違反を起こします。
>  ただし、2度目はたいていうまくいきますが、時々コンパイラが強制終了されます。
これはたまに起こりますね。と言うか、今自分の作っているプログラムでデバッグ実行でファイルオープンの関数を使うとコンパイラが「例外処理 code:6BA」を出してエラーになりますからね・・・・
リリースコンパイルでそのプログラムのファイルオープン関数を使ったら落ちませんが(この話はどこかで書かれてたような・・・・?)


> どちらも24日を過ぎてから(多発し始めたのは30日を過ぎてから)なので、ABのバグである可能性は低いと思うのですが、報告します。

自分は今書き込み時は47日08時間経過中です。
でも、ABは(PCも)正常に動作中です。

追記:
自作のソフトの日にち・時間・分・秒の出し方の計算ですが

Dim niti As Long
Dim niti3 As Long
Dim jikan As Long
Dim fun As Long
Dim byou As Long
Dim niti2 As String
niti=Fix(GetTickCount()/86400000)
jikan=Fix(GetTickCount()/1000/60/60)
fun=Fix(GetTickCount()/1000/60-jikan*60)
byou=Fix(GetTickCount()/1000-(jikan*60*60+fun*60))
Do
jikan=jikan-24
If jikan<24 Then ExitDo
Loop
と言う形式で算出しています。(86400000は1000/60/60/24です(多分(-_-;)))
(Fix()じゃなくてInt()の方を使うべきだろうけど・・・)
さて、こちらももうすぐ49.7日(49日16時間48分)になりそうです。
PCがブルーバックかフリーズしないことを願っています(汗)。


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年10月16日(日) 13:20 
オフライン

登録日時: 2005年5月31日(火) 23:46
記事: 45
お住まい: 愛知県
そうでしたか。
補完機能の異常はABのバグだったんですね。

> これはたまに起こりますね。と言うか、今自分の作っているプログラムでデバッグ実行でファイルオープンの関数を使うとコンパイラが「例外処理 code:6BA」を出してエラーになりますからね・・・・
> リリースコンパイルでそのプログラムのファイルオープン関数を使ったら落ちませんが(この話はどこかで書かれてたような・・・・?)

以前にも時々話題になりましたが、私はAPIの特定の関数でエラーが起こることはあまりないのでよくわかりません。


> 自分は今書き込み時は47日08時間経過中です。
> でも、ABは(PCも)正常に動作中です。

すごいですね。
雑談掲示板で少し前にかかれましたが、GetTickCountは47日を過ぎてオーバーフローするようになると、0からカウントをやり直すそうです。

つまりカーネルパニック等は発生しないのでは? と思いますが・・・
[/quote]


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年10月17日(月) 19:43 
オフライン

登録日時: 2005年5月31日(火) 13:31
記事: 205
お住まい: 大阪市
> 雑談掲示板で少し前にかかれましたが、GetTickCountは47日を過ぎてオーバーフローするようになると、0からカウントをやり直すそうです。
>
> つまりカーネルパニック等は発生しないのでは? と思いますが・・・
やっと?、49.7日が経過しました。
結果として、GetTickCountで計算しているソフトが49.7日を経過するとき、プログラムが強制終了(メモリエラーで)しました。
そのあと、計算しているソフトをまた起動させると、「0」から再スタートしていました。

ABやWindowsには全く問題なく、使用できています。
表示が0からになったので、99.4日が経過すると何日起動しているか分からなくなってしまいますが・・・・(そんなに再起動させないと色々と問題がありそうですけど・・・)


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年10月18日(火) 20:12 
オフライン

登録日時: 2005年5月31日(火) 13:31
記事: 205
お住まい: 大阪市
>(そんなに再起動させないと色々と問題がありそうですけど・・・)
行った通りの色々な問題が発生してしまいました・・・


それは、49.7日から(稼動時間が)2日経った本日、大変な自体に陥りました。
まず、PCがいきなり重くなりだし、タスクマネージャで確認し、メモリを消費していたExplorerを強制終了させ、また起動させました。(←これが一番の原因だったのかもしれません)
すると、Windowsの設定ほとんどが初期化され、壁紙を設定していないにも関わらず、設定されてしまっていました。
他にも、デスクトップをレジストリを改変して別のフォルダにしていたのですが、元の"C:\DOCUME~1\***\デスクトップ"に戻っていたり、IEのスタートページが初期の設定にされてしまったり、Explorerのフォルダ オプションも初期化されていたりetc...

皆さんは、特別なことがない限りはWindowsは1ヶ月に1回ぐらいは再起動することをお勧めします。


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年10月23日(日) 01:40 
オフライン

登録日時: 2005年8月23日(火) 00:15
記事: 161
お住まい: 沖縄県
プログラムには・・・
String型を使用する関数を使用していますか?
(MakeStrやその他の文字型を使用する標準関数を使用しています?)


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

登録日時: 2005年5月31日(火) 13:31
記事: 205
お住まい: 大阪市
> プログラムには・・・
> String型を使用する関数を使用していますか?
> (MakeStrやその他の文字型を使用する標準関数を使用しています?)

多分自分に聞いているとして・・・

はい、確かにString型を使用しています。たとえば、上記の起動時間も00とかにするために、以下のようにしています。
コード:
Dim niti2 As String
Dim jikan2 As String
Dim fun2 As String
Dim byou2 As String
niti2=ZeroString(2)
jikan2=ZeroString(2)
fun2=ZeroString(2)
byou2=ZeroString(2)
Dim Time2 As String
Dim niti As Long
Dim niti3 As Long
Dim jikan As Long
Dim fun As Long
Dim byou As Long
niti=Int(GetTickCount()/86400000)
jikan=Int(GetTickCount()/1000/60/60)
fun=Int(GetTickCount()/1000/60-jikan*60)
byou=Int(GetTickCount()/1000-(jikan*60*60+fun*60))
Do
'If jikan>24 Then 
jikan=jikan-24
If jikan<24 Then ExitDo
'End If
Loop
wsprintf(niti2,"%02u",niti)
wsprintf(jikan2,"%02u",jikan)
wsprintf(fun2,"%02u",fun)
wsprintf(byou2,"%02u",byou)
Time2=niti2+":"+jikan2+":"+fun2+":"+byou2
SetDlgItemText(hMainWnd,Time,"現在時刻:"+Date$()+"  "+Time$()+"       起動から"+Time2+"経過")
プログラムはこちらです。


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年10月23日(日) 16:48 
オフライン

登録日時: 2005年8月23日(火) 00:15
記事: 161
お住まい: 沖縄県
Mario2さん紛らわしい質問で申し訳ありませんでした。
> String型を使用する関数を使用していますか?

文字列処理関数を多用するとメモリーリークが発生しているような気がしたので質問しました。
今回の処理では、特に問題は発生しないと思います。


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年10月24日(月) 14:55 
落ちるといえば、XPで

Debugを入れてデバッグ実行

デバッグ実行したプログラムを終了

ソースを一部分書き換え(Debugを入れたまま)

デバッグ実行

って手順を踏むと
かなり高確率でデバッガが開いた瞬間にフリーズするんですが
これは何なんですかね。
再度デバッグ実行する前にデバッグコンパイルされたプログラムを消すと
発生しないんですが。

あと、98でデバッグ実行を終了した後に
デバッグコンパイルされたプログラムを削除しようとすると
プログラムが現在使用中になっていて削除出来ないんですが
それと関係ありますかね?


通報する
ページトップ
   
 記事の件名:
投稿記事Posted: 2005年10月26日(水) 01:49 
オフライン

登録日時: 2005年5月31日(火) 23:46
記事: 45
お住まい: 愛知県
私も49.7日を超えました。

Mario2様が
[quote]
結果として、GetTickCountで計算しているソフトが49.7日を経過するとき、プログラムが強制終了(メモリエラーで)しました。[/quote]

と言っておられたので、どこでエラーするのか見極めようと思い、AB2.62,3.13,4.200でGetTickCountを呼び出し、延々表示するプログラムをデバグモードで実行してみました。

0に戻る瞬間には立ち会えなかったのですが、プログラムには何もエラーは発生していないようでした。

しばらく使えなかったソフトも正常に戻ったので、Mario2様の忠告に従わず、まだまだ再起動せずに動かしつづけてみようと思います。



mr様へ

デバッグ実行でDebugを入れると、ほぼ例外なくコンパイル終了直後に落ちます。
けれど、もう一度実行すると今度は正しく動くので、あまり気にしていませんが。


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年10月26日(水) 18:30 
オフライン

登録日時: 2005年5月31日(火) 13:31
記事: 205
お住まい: 大阪市
> 0に戻る瞬間には立ち会えなかったのですが、プログラムには何もエラーは発生していないようでした。
まぁ、自分のプログラムは他にも色々と表示させているので、それが原因かもしれませんが・・・

> しばらく使えなかったソフトも正常に戻ったので、Mario2様の忠告に従わず、まだまだ再起動せずに動かしつづけてみようと思います。
自分には「再起動しろ」と言う権利がないので、ケースケさんが再起動したいときに再起動すれば良いかと思います。

でも、PCが不安定になったら、再起動することはお勧めします。
そういえば、49.7日経過後にExplorer.exeを再起動したら、スタートアップの項目を実行してました。(サービスも実行していたかは不明ですが)
こちらの環境等もあるので、そちらでは不安定にならないかもしれませんが。


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

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


オンラインデータ

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


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

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