手元に「シープラスプラスビルダー5のご案内」がある。申込書には私の住所、氏名等が印刷されているのだが、その上部に…。
1 E-MALE:y.ohm@tama.or.jp
確かにあたしゃ男性だが、電子化はされておらぬぞよ(苦笑)。
手元に「シープラスプラスビルダー5のご案内」がある。申込書には私の住所、氏名等が印刷されているのだが、その上部に…。
1 E-MALE:y.ohm@tama.or.jp
確かにあたしゃ男性だが、電子化はされておらぬぞよ(苦笑)。
Borland C++ Compiler 5.5を入手。試した範囲では日本語の扱いに問題ない。「printf(“表”)」もOKで、iskanjiはないけど_ismbbleadなんかもちゃんとある。って、当然?
んでも、何故だか作成プログラム終了時に、ページ違反とc0000026H例外が発生するんだよなぁ。c0000026HってSTATUS_INVALID_DISPOSITION? 前者は該当プログラムで、後者はKERNEL32.DLLで発生。「-x-」オプション(例外処理を行なわない)を付けてコンパイルすれば問題なく終了できるあたり、例外処理機構そのものの動作に問題があるのではなかろうか? つまり、「c0000026H例外」なんてものは発生してないのでは? どちらにせよ、環境(NEC版 Windows 95 SP1)依存の症状な気がする。例外処理って機種依存したっけ…?
あと、不正な処理は「必ず」という訳でもなく、
123456 #include <stdio.h>int main(){printf("hello\n");return 0;}
123 void main(){}
1234567 #include <iostream>int main(){using namespace std;cout << "hello" << endl;return 0;}
InfoBarの時報が思惑通りに機能していないとのことで、調査を開始。試してみると、Win95上でもWin3.1でも動作がおかしい。あれ? v0.2.1.0の頃にはちゃんと動いていたはずなのだけど…。
まずは、プログラムソースの発掘。これは何とかなった。いや、見つかるとは思わなかったのだけども(苦笑)。そして、開発環境のセットアップ。Win95上にBorland C++ 4.02Jをインストールしようとしたのだが、インストーラがエラーを出してうまく行かない。ということで、4.52Jをインストール。これは問題なくインストールでき、InfoBarのソースをいじることなく再構築できた。5.02Jにしようかとも思ったのだが、OWLのメジャーバージョンが変わっちゃうので…。InfoBarにはOWL1.x時代からのコードが大量に残っており、OWL5.xに移植するのは骨が折れる。
で、時報処理を追ってみる。何と、時刻取得の段階ですでに狂っていた。あろうことか、実際の時刻のきっかり「5時間24分16秒前」の値が入ってくる。何だ、こりゃ??? その理由を今は知りたくなんかない(苦笑)ので、既存の処理をスッパリ切り捨て、時刻取得に別のライブラリ関数群を用いるように変更。そういや、ここいら辺の処理、v0.2.1.0以降にちょっと変更したような記憶もあって…。
ということで、InfoBar v0.3.1.0を公開。実に5年ぶりのバージョンアップ。
書籍、「Delphi 2.0 ゲームプログラミングの応用50例 パワープログラミング編」購入。日高徹 著、ソフトバンク 刊。
書籍、「Delphi4 プログラミングバイブル」購入。Marco Cantù 著、篠原慶 監訳、インプレス 刊。(著者名にùを使用/IEの4以降ではちゃんと読める)
Borland Delphi Professional Version 5.0届く。 重いなぁ。起動時間もさることながら、システムリソースの消費量が…。
システムリソースの消費量(%) | ||
---|---|---|
User | GDI | |
Delphi 5 | 17 | 16 |
Delphi 4 | 10 | 10 |
Delphi 3.1 | 7 | 13 |
I-O DATA CDV-PB40T、購入。 長いこと不調なまま放っておいたXv20内蔵のCD-ROMドライブ(IDE)をこいつ(SCSI)で換装。 中身はそれぞれ、SONY CDU311-NEとPLEXTOR PX-40TS。
その他の買い物。書籍。
Delphi4のUpdate Pack 2が出たので、ダウンロード。
読めなくなったCD-Rメディアに関して、 思い出したことが一点。 1996年分の仕事が丸ごと入ってた…。 過去の自分を頼りにはできないのね(泣)。
↑これは、別のCD-Rであったことが後日判明。
Delphi 4のエディタ上で、キャレットの動きが突然重くなった。 バグかと思いきや、他のアプリでも同様。 十秒ほど悩み、とりあえずコントロールパネルの設定を確認することに。 すると、「キーボード」-「表示の間隔」が思いっきり「遅く」の方に振られていた。 「速く」の端に設定し直したら元に戻ったのだけど、いったいなぜ???
ファイルタイプ、Delphi Project(DPR)にアクション、 「別のDelphiで開く」を追加した。 標準のアクションでは「DDEを使う」ため、複数のDelphiを開けない。
Delphi4(Pro)とDelphi3.1(Pro)の「重さ」比べ。 調査環境は、P54C/200MHz/64MB/Windows 95(4.00.950a)。 仮想メモリ(最大)は128MBに設定している。
システムリソースの消費量(%) | 起動時間(秒) | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
User | GDI | OS起動後初回 | 平均 | 2回目以降 | 平均 | ||||||
Delphi 4 | 10 | 10 | 35 | 29 | 32.0 | 18 | 14 | 27 | 16 | 23 | 19.6 |
Delphi 3.1 | 7 | 13 | 25 | 28 | 26.5 | 14 | 23 | 14 | 13 | 21 | 17.0 |
両者の登録コンポーネント数が違うので、 Delphi 3.1のほうが不利ではあるが、 それでもDelphi 4は健闘しているように思う。
Delphi4。 開発環境でドッキング機能を使うと問題アリなのね。 非ドッキング形態の方が使いやすいから関係ないけど。
そういえば…。 NTTを「みかか」、NECを「みいそ」と表現する場合があるけど、 IBMを「にこも」とか、 Appleを「ちせせりえ」とか表現しているのは見たことないような。