困った

目次


[目次] [はじめに] [入門] [基本] [高度] [画面] [困った] [おわりに]

プロジェクト一式がフロッピーに入らない

フロッピーなんて物は使わない、というのが最善の策です。 が、それではあんまりなので少し説明します。 たとえば、入門編で作成したプロジェクト qwtest の中身を見てみましょう。 おそらく次のようなファイルが存在するはずです。

    HandleTEMPORARY
    main.for
    qwtest.mak
    qwtest.mdp
    qwtest.ncb
    Debug\HandleTEMPORARY
    Debug\main.obj
    Debug\qwtest.exe
    Debug\qwtest.ilk
    Debug\qwtest.pdb

さて、これだけですでに 1.15 メガバイトもあります。 次節で述べるリリース版も作成すればさらに増えます。 この調子ではすぐにフロッピーに入らなくなってしまうでしょう。

この中で本当に必要な物は、 ズバリ 'main.for' だけです。 自分で作成したファイルはソースプログラムだけのはずです。 それ以外のファイルは全て Developer Studio が自動的に作成してくれたわけですから、 必要なときは再びプロジェクトの作成からやり直せばいいのです。

プログラムの実行速度が遅い

プログラムの実行速度というものは、 初心者が考ているほど重要なものではないので、 あまり気にする必要はありません。 がしかし、我慢できないほど遅い、 少しでも計算時間を短くしたい、 という人のために安全かつ効果的な方法を紹介します。

Developer Studio は、標準では "デバッグ版" の実行ファイルを 作成するようになっています。 これは、可能な限りソースプログラムに忠実なマシン語を生成し、 エラーを出来る限り細かく検出できるようなチェック機構を挿入した 実行ファイルで、実行速度は完全に二の次となっています。

[画像:作成する版の切り替え]

一方、実行速度を最大限に優先した "リリース版" というものを 作成することも可能です。 Developer Studio の開発画面の左上のあたりに、 図のような画面があるはずです。 ここを [qwtest - Win32 Release] に切り替えることで リリース版を作成することが可能です。

リリース版は、実行速度が早く、 実行可能ファイルのサイズが小さくなります。 しかし一方、エラーチェックが甘くなる、 エラー発生時の原因追及が困難になる、 コンパイル時間が長くなる、 などの副作用があります。 プログラムの開発段階ではデバッグモードで作業し、 プログラムが完成した時点でリリース版に切り替えるべきです。

「ole32.lib が無い」と言われる

環境によってはビルド時に次のようなエラーに出会うことがあります。

LINK : fatal error LNK1104: cannot open file "ole32.lib"

これは、Visual C++ のインストールされたマシンで 作成されたプロジェクトを Visual C++ の入っていない マシンで開いた場合などに発生します。 対処法は二つあります。

一つ目は、Visual C++ の入っているマシンから 必要なファイルを持ってくることでエラーを回避します。 Visual C++ のインストールされたマシンの "C:\MSDEV\LIB" の中にある以下のファイルを、 問題のマシンの同じ場所にコピーしてください。

    OLE32.LIB
    OLEAUT32.LIB
    OLEDLG.LIB
    OLEPRO32.LIB

二つ目は、プロジェクトを作り直すことで対処します。 Visual C++ の入っていないマシン上で新たにプロジェクトを作成し、 必要なソースファイルだけをコピーしてください。

画面を白地に黒にしたい

QuickWin では、画面の背景は黒、 文字や図形は白が標準となっています。 これを変更したい場合は、変更したい画面を OPEN した直後に 次の命令を挿入してください。

      oldcolor=setcolor(0)             ! 図形を黒に
      oldcolor=settextcolor(0)         ! 文字を黒に
      oldcolor=setbkcolor(15)          ! 背景を白に
      call clearscreen($GCLEARSCREEN)  ! 画面全体をクリア


[目次] [はじめに] [入門] [基本] [高度] [画面] [困った] [おわりに]

[作者ホームへ] [水工学研究室へ] [防衛大学校へ]

多田 毅 / 防衛大学校土木工学教室
tada@cc.nda.ac.jp