abwiki @ ウィキ (ActiveBasic非公式wiki)内検索 / 「バグ、不具合」で検索した結果

検索 :
  • バグ、不具合
    6BA問題 デバッグ実行中にGetOpenFileName()を呼び出すとなぜか「例外処理 code 6BA」が湧き出てくる。 リリース小パイルでは問題なく動作する。 原因不明。対処法不明。 プロジェクトエディタちゃんが落ちる問題 メンバの補完機能やパラメータヒント表示する時に強制終了する。 原因不明。対処法不明。 桁あふれ問題 次のような演算をすると桁あふれを起こす。 #N88BASIC Dim b As Byte, l As Long, o As Long b=250 l=500 o=b+l Print o 238と表示される! 対処法 次のように右辺の最初に大きな型を持ってくる。 o=l+b o=0+b+l o=b As Long+l ウイルス? コンパイルするとAviraが反応する
  • リファレンス
    ... アスキーコード表 バグ、不具合 N88BASICとの互換性 歴史 演算子については基本的な演算子には何があって、どう使うの?を参照のこと。 Win32APIは MSDNライブラリ が詳しい。
  • 安定版
    安定版(あんていばん、あんじょうばん)とは、正式版やベータ版、新旧は問わず、そのプログラムでもっとも目立ったバグが無く安定しているバージョンのこと。 ABはバージョンアップごとにバグフィックス、機能追加とそれによるエンバグ、デグレードが多々発生した経緯があり一概にバージョンアップを推奨できなかった。 しかしそれももうおしまい。5年という月日は長すぎた。
  • ステップ20 「プロセス デバッガによるデバッグに挑戦」
    プログラミングはしてみたけど、いざ実行すると強制終了してしまう。なんでぇ~( _ ) この変数の値がちゃんとしてるか、MessageBoxでいちいちチェックするのって面倒… そこのあなた、こんなお悩み抱えていませんか?こんなときに登場するのが「プロセス デバッガ」。デバッグのやり方さえ覚えてしまえば、これらの問題はスマートに解決できます。 そもそも、デバッグって何? 「デバッグ」=「バグを取り除く」などという意味を持ちますが、一般的に、作ったプログラムに不具合はないかを、コードを一つ一つチェックしながら実行したり、任意のタイミングで変数の内容を表示しながら実行するといったことをしてチェックします。 論より証拠、実際にデバッギングを体験してみましょう。 まずは誰が見てもおかしいことに気付くプログラムをリリース コンパイル(F7キー)し、実行してみます。 Dim i...
  • 計算ゲーム
    #N88BASICDim a As Long, b As Long, c As LongDim i As Long, q As LongDim seikai As LongDim qq As StringRandomize Print "計算ゲーム"*LLPrint "1 足し算"Print "2 引き算"Print "3 掛け算"Print "4 割り算"Input iseikai = 0Select Case iCase 1Gosub *TASIZANCase 2Gosub *HIKIZANCase 3Gosub *KAKEZANCase 4Gosub *WARIZANEnd SelectPrint "正解率=";seikai * 100 / 10; "%&...
  • マルチスレッド
    スレッドの基本 スレッドの生成はCreateThread関数で行う。 スレッドは引数を1つだけもつ関数にする。 名前は何でもいい。 スレッドは戻り値を持っていて、GetExitCodeThreadで調べることができる。 スレッドの終を待つにはWaitFor〇〇関数を使うと良いかも。 #N88BASICDim hT As HANDLEDim id As DWordhT = CreateThread(ByVal 0, 0, AddressOf(t), 5, 0, Varptr(id))WaitForSingleObject(hT, INFINITE)CloseHandle(hT)Print "スレッドは正しく終了しました"Function t(a As DWordPtr) As LongPrint aEnd Function このようにサブスレッドを作る...
  • mciSendCommand
    mciSendCommand(マッキ・センド・コマンド)とはMCI要するに 音楽や動画の再生、録音装置に命令する関数である。 流れとしては デバイスを開く 再生や録音の命令 デバイスを閉じる の3セット。←当たり前か この関数は エラー番号 mciSendCommand(デバイス, コマンド, フラグ, 構造体) という書き方で、 コマンドやフラグ、構造体はMCIのページに書いてある通り。
  • 応用
    実践的なプログラミング、コンピュータ理論(仕組み)、アルゴリズムなど 何か要望ある?(あったら作ってね的な) アルゴリズム関連 暗号化 最適化 2進数に変換してみる Base64 エンコード DCT(離散コサイン変換) 基数変換 画像の回転 ビットカウント xorshift システム関連 ファイル圧縮してみよう htmlhelp 文字コードの変換 マルチスレッド デッドロック ダイアログボックスをリソースから読み出してみよう プログレスバー ステータスバー ウインドウの列挙 CPU使用率の取得と表示 GDIでお絵かき 壁紙チェンジャー スクリーンセーバーを作る必要性 メモリ上の機械語プログラム タイマー ラーメンタイマー デジタル時計 HDD温度を調べる メッセージフック レジストリをいじってみたい INIファイル コマンドライン引数 クリップボード マニフェスト埋め込み(XPスタ...
  • GetSingle
    名称 |GetSingle 読み |ゲットシングル 定義 |GetDouble(p As DWord) As Single 説明 |指定したポインタが示すSingle型データを取得します。 この関数はコンパイラに組み込みです。 ちなみにバグがあってうまく動きません。 戻り値 |Single型データが返ります。 参照 |GetDouble,GetDWord,GetWord,GetByte
  • 決定論、非決定論性
    決定論、非決定論ちう表現は、しばしば哲学や科学的宗教的側面で語られるが、 コンピュータプログラムにおける決定論とは、プログラムコード実行時における、 その動作や振る舞いにあいまいな点が無く、記述されたコード内容から振る舞いが予測でき、 何度実行しても同じ結果を返すコードの事を言うんや。 これに対し非決定論的なプログラムコードとは、プログラムコード実行時までその動作や 振る舞いが不明である様子を指し、具体的な例としては、入力データを要求するがデータが不定な プログラム、またはコンピュータゲームにおける人間のコントローラ操作による 未知の要素が含まれる場合が該当するちうわけや。 厳密には異なるが理解しやすい例としては、バグが内在するフィルタプログラムに対し、 前提としていっぺんも実行またはデバックされておらへんちう条件下で、未知のデータを入力する 状況では、プロ...
  • ステップ18 「RPGのマップ移動機能を作る③」
    前回の解説で主人公キャラが自由に動け回れるようになったので、今回は任意のマップを描けるようにしてみます。 マップ図にマップチップを割り当てるという、非常にシンプルな細工をするわけですが、マップチップの種類が非常に多いため、数字攻めになってしまうかもしれませんが、根気良くがんばりましょう。 今回作成するプログラムのサンプルファイルを置いておきますので、参考にしたい方はどうぞ☆ Fantasy3.zip(プロジェクトに必要なファイルがすべて入っています) 今回も、ステップ17「RPGのマップ移動機能を作る②」で掲載したプログラムの変更点を太字で表しているので、参考にして下さい。 また、以下のようなマップの配置図(25*20)をCSV形式で用意しておく必要があります。プロジェクトが保存されているディレクトリに "map.csv" というファイル...
  • ファイル圧縮してみよう
    Common Archivers Library からCAB32.DLL 開発者 SDK v0.98をダウソしましゅ。 展開して、cab32.dllを、システムホルダに投入します。 ABのプロジェクトでウインドウにリストボックス(ID=ListBox1)とボタン(ID=CommandButton1) だけの画面を作ります。このとき、MainWndの拡張スタイルでドラッグ&ドロップを許可にします。 イカのコードをコピペします。終わり。 ----------------------------------------------------------------------------- イベント プロシージャ --------------------------------------------------------------------...
  • マルチメディア
    MCIによる、お手軽サウンドプレイヤー 公式サイトで毎日のようにABのバグフィックスが行われていた頃…公式にMCIを使った解説があった。 AB4.24のサンプルにCDPlayerがあるが、これもMCIを使ったもの。 MCIでmpegやavi、waveやmidiなどを簡単に再生することができるので、エロゲー制作にはもってこいだ。 ただしMCIには問題があって、再生終了などのメッセージを受け取るにはウインドウハンドルが必要なことだ。 つまり、コンソールアプリ、N88アプリでは、扱えないということになってしまうような気がする。 その回避方法は、ダミーウインドウを作り、そいつにメッセージを送らせるようにする。 ダミーと言ってもウインドウ。見えないだけ。 そこで登場するのがサブクラス化だ。 ウインドウプロシージャを横取りするものである。 #N88BASIC #i...
  • ステップ25 「ツールバーを使う②(ボタンが浮き出すフラットツールバー)」
    こんな風に、マウスポインタを合わせるとボタンが浮き出てくるツールバーのことを、フラットツールバーと言います。今回は前回の標準ツールバーのプログラムにちょっと手を加え、オシャレなフラットツールバーにしてみましょう。 今回作成するプログラムのサンプルファイルを置いておきますので、参考にしたい方はどうぞ☆ Toolbar2.zip(プロジェクトに必要なファイルがすべて入っています) どこに手を加えるかというと… ツールバーのウィンドウスタイルに TBSTYLE_FLAT を加えるだけです。 えー、めっちゃ簡単じゃん。それではCreateToolbarEx関数の第1パラメータを… ちょっとお待ちください。実験してみると分かりますが、ツールバー生成時にダイレクトに TBSTYLE_FLAT を指定してしまうと、不思議なことにツールバーの背面が白になってしまいます。 と...
  • ステップ10 「プログレスバーとタイマー処理」
    型変換の警告が出るが公式の解説でOK プログレスバーとは、インストール画面などでよく見かけますね。処理の進行具合を示すメーターのようなものです。今回は、タイマー処理とプログレスバーを組み合わせ、カウントプログラムを作ってみます。 早速、新規プロジェクトを作るわけですが、注意点が1つ。プログレスバーはコモンコントロールの部類に入り、新規プロジェクト ダイアログの2つ目の画面(プロジェクト オプションが設定できるところ)で、「コモンコントロールを使用する(api_commctrl.sbp)」にチェックを入れておかなければなりません。その点を踏まえ、プロジェクトを作成してみましょう(プロジェクト名は "TimeCount" とします)。 ちなみに、プロジェクト オプションは、プロジェクト作成後、メニューの「表示」→「プロジェクト オプション」からも変...
  • ステップ32 「アナログ時計を作る」
    公式で配布されているプロジェクトファイルはAB5であるため、AB5プロジェクトファイルをAB4で開くを参照。 秒針、短針、長針がついているアナログ時計を作ってみます。 今回作成するプログラムのサンプルファイルを置いておきますので、参考にしたい方はどうぞ☆ clock.zip(プロジェクトに必要なファイルがすべて入っています) 早速作ろう! "clock" などという名前で、ノーマルウィンドウベースのプロジェクトを新規作成します。 MainWndはいじるところがないので、次はメニュー(IDは "OptionMenu")を挿入し、以下のような構成になるよう、メニューアイテムをいれていきます。 キャプション ID 備考 dummy - ポップアップ 常に前面に表示( T) IDM_TOPMOST - ...
  • ABのヘルプを充実させよう!
    ABのヘルプに全文検索をつける ABのヘルプはchm形式ですが、chm形式の醍醐味である全文検索がありません… どうして無いの?という話ですが、Compile full-text search infomationにチェックを入れて ABのヘルプをリコンパイルしてみると必ずヘルプコンパイラが落ちます。 これはヘルプコンパイラのバグでもあるんですが、ABのヘルプにも問題があって、 落ちる場所であるPages\Command\Window.htmとPages\API\Window\Window\CreateWindowEx.htmのソースを見ると次のように書かれている箇所があります。 コントロールのテキスト中のアンパサント「 」文字を、 htmlでは&を&としなければいけませんのでこれを修正します。 はい。これでCompile full-...
  • @wiki全体から「バグ、不具合」で調べる

更新順にページ一覧表示 | 作成順にページ一覧表示 | ページ名順にページ一覧表示 | wiki内検索