したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

■■■20レス以内で済むF-BASICの質問はこちらへ■■■

19F橋:2004/06/15(火) 13:44
下記をメールで頂きました。

> 初めて投稿させて頂きます。
> F−BASICを愛用しているのですが、原因不明のトラブルで困り果てたところ、
> このサイトにたどり着きました。
> 諸先輩方々のお知恵をお願いします。
>
> 関数プロシージャをいくつも作って処理しています。
> 例えば開始時刻(09:36)と終了時刻(11:52)を与えると、その所要時間を返すようなものです。
> 1000件程の開始時刻と終了時刻がありまして、繰り返し関数プロシージャを使用して(1000回程)処理しています。
>
> このプログラムが完走する時と、しない時があり困り果てています。
> まずデータは同じままで、1回目、2回目と何度かプログラムを実行してみます。
> すると途中でエラーが発生する時があります。
> 全くランダムで規則性はなさそうです。
> エラーは関数プロシージャを呼出す部分で発生し、エラーコードは『5』です。
>
> ただエラーが発生する瞬間は、メールの送受信を開始したときや、他のプログラムを起動したときなど、
> PCになんらかの負荷がかかったときがほとんどです。
> 本来F−BASICプログラムにはなんら関係なさそうですが、因果関係があるような気がします。
>
> この件、私に問題があるのか、F−BASICなのか、OSなのか、とんと見当がつきません。
> 新参者ではございますが、よろしくご教授お願い致します。
>
> 使用環境1
> Windows XP SP1 CPU:Pentium4 2.6GHz パイパースレッディング版
>
> 使用環境2
> Windows 2000 SP4 CPU:Pentium3 1.0GHz
>
> どちらも同じ現象がでます・・・・・

以下を私から返信させて頂きました

尚、私からの経験談からなのですが…
> 全くランダムで規則性はなさそうです。

WAIT関数は使っておりますでしょうか?

例えば。毎回 ":00" にのみ何らかの処理をする場合…

*LOOP
if right$(time$,2)="00" then gosub *nanikanosyori
GOTO *LOOP

では無く…

*LOOP
wait(10)
if right$(time$,2)="00" then gosub *nanikanosyori
GOTO *LOOP

の様にWAIT関数を入れると改善される(エラーが出ない)場合があります
WAITを入れないとCPU使用率100%にすぐになりやすく色々な症状が出る様です
間にWAITを少しでも入れるとCPUが休む時間が多くなり改善される場合があります

-----------

私の回答に何か間違い等あれば遠慮なくご指摘頂けると助かります
またこの件で何か解決案をご存じの方、よろしくお願いします


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板