[旧 AB2.62] Get@命令語?

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
popeye

[旧 AB2.62] Get@命令語?

#1 投稿記事 by popeye »

いまだに旧ABも利用させていただいております。
久しぶりにゲーム(っぽい何か)をつくろうとしましたが
デバッグ中にPut@命令でつまずきました。
このソースを実行するとDo~Loop文352回目付近でいつも"&h0を参照できません"とエラーが出てしまいます。
Put@の直前にPrint buf;をはさんで見たところエラーが起きるときはbuf=0になっています。
このソースは一部を抜き出したものですが
どうしたら期待通りの動作をするでしょうか?
どなたかお教えください。
omasu
記事: 96
登録日時: 2005年9月02日(金) 22:15
連絡する:

Re: [旧 AB2.62] Get@命令語?

#3 投稿記事 by omasu »

お世話になります。

> いまだに旧ABも利用させていただいております。
 (^o^)

> このソースを実行するとDo~Loop文352回目付近でいつも"&h0を参照できません"とエラーが出てしまいます。
> どうしたら期待通りの動作をするでしょうか?
> どなたかお教えください。

 実際に実行してみました、確かにメモリ等の環境の違いで回数は違うものの同事象が発生します。
 CPUもかなり負荷がかかっているようです。

 「buf=0」の行を削除してください。

 信じられないくらいサクサク動きます。

コード: 全て選択


  Sub MyRutine()
      'buf=0
      Line(2,32)-(2,278),0
      Get@(3,32)-(448,278),buf
      'Sleep 10
      Put@(2,32),buf,PSet
      Line(448,32)-(448,278),0
  End Sub
追伸: 無限ループと思われますが、脱出はこれからしょうか?

コード: 全て選択


  Do
      i=i+1
      Cls
      Print i
      MyRutine()
  Loop
popeye

Re: [旧 AB2.62] Get@命令語?

#4 投稿記事 by popeye »

> お世話になります。
>
>  実際に実行してみました、確かにメモリ等の環境の違いで回数は違うものの同事象が発生します。
>  CPUもかなり負荷がかかっているようです。
>
>  「buf=0」の行を削除してください。
>
>  信じられないくらいサクサク動きます。
試させていただきました。
原因に関してよく分かりませんでしたがおかげで解決しました。
自分のコードにはまだまだ甘いところがたくさんあるということを思い知りました。
ありがとうございました。
>
> 追伸: 無限ループと思われますが、脱出はこれからしょうか?
>

コード: 全て選択


>   Do
>       i=i+1
>       Cls
>       Print i
>       MyRutine()
>   Loop
> 
自分のソースをもとに作ったソースですので実際はまったく違ったものになっております。
返信する