2003-01-01から1年間の記事一覧

ショートサーキット

VB

ちょっとは VB の話題も書いておこう。VB の式、論理値の評価は常に完全評価されるようで、ショートサーキット論理評価になれた身にはつらいです。

送信用フォントが適用されない

OL

プライベートでは AL-Mail32 を利用していますが、仕事場ではOutlook 2000 を使用しています。この Outlook 2000 ですが、http://www.hatena.ne.jp/1070190199 なんていう問題があります。 HTMLでないテキスト形式のメールを作成する設定にし、そのフォント…

IISの応答がない

NIS

色々な用途で Web Service がローカルで1つ動いていると都合がいい。それ用のPCは Linux + Apache あたりで用意できるのだが ASP とか ISAPI Extensions とかで遊んだりするのに IIS による Web サイトも立ち上げておいて損はない。 とりあえず、そういうこ…

MS-IME 2000

そういえば、Office 2000 には MS-IME 2000 という IME(ややこしいな!)が付属していたのですが、インストール時にインストールするコンポーネントとして選択肢がありませんでした。XP には MS-IME 2002 がインストール済みなので必要ないと思って排除した…

Service Pack 3

続けて、Service Pack 3 と5つのセキュリティアップデートがあたって終了。Service Release 2 とか出てたはずなんですが、Service Pack 3 に統合されちゃってるのかな? 今日はインストールだけで終わりました…。

Service Release-1

Office Update へ接続すると必須の更新が山のように表示されますが、インストールされるモジュールの排他関係と依存関係の都合で、まずは SR1 からです。1秒でダウンロードが終了し、2段階ロケット式に次のダウンロードが始まります。説明ではインストール…

Office 2000

必要性がでてきたので、Microsoft Office をインストールします。といっても、手持ちは Office 2000 Personal なので、WORD, Excel, Outlook, IME-2000 の3点セットです。 XPにインストールしても大丈夫なのか微妙に不安なところはありますが、Outlook 以外…

書き込み専用プロパティ

dev

実は、今日になって初めてこれを利用している COM Object を見たような気がします。それほど滅多にないものだと思います。しかも、 ' set_position に必要なパラメータを設定 obj.left = 10 obj.top = 10 obj.right = 80 obj.bottom = 40 ' 書き込み専用プロ…

With の適用範囲は即理解できる程度に

VB

意外にサポートしている言語は少なく、微妙な仕様差がある with ですが、どの言語にしても with の適用範囲が非常に広いコードは読みにくいですね。できれば、一呼吸で読めるような範囲のコードにしか影響がないようにしてもらいたいものです。特に、ネスト…

スペースはただです

VB

これは誰の言葉だったか忘れましたが、VB でコーディングする際の問題点の1つは、かなり強制的な整形機能によるものがあると思います。同じ意味をもつパラメータなんかは、空白を使ってインデントをあわせたりしたいですが、VB はパラメータの前後の空白を…

ソースコードのスタイルあれこれ

ほとんどのプログラミング言語では空白文字やコメントを利用してソースコードを読みやすく整形することを許しています。 今、読んでいるコードはとてもとてもぎっしり詰まっていて、もっと空行とかインデントとかをうまいことつかって、読みやすくしてほしい…

Linux Desktop

当時の話題では、Linux デスクトップが使いにくいというような話題だったのですが、当時の Linux Desktop を私は Windows の展開と比較して Windows 3.0 くらい相当の時期と書いてました。 実際に、各種ディストリビューションがデスクトップ向けのインスト…

連日VBの悪口ばっかりですが

新しい環境に移行すると、最初は悪いところばっかり見えてくるもんです。 ってのは3年前に自分が fj.comp.os.linux に投稿したときの文ですが、まさにそんな感じですね。

Package and Deployment Wizard

VB

名前をきいてもピンとこない人がいるに違いないが、和名をディストリビューションウィザードという。 VB6のインストール先には、前述の c2.exe などのような機能が非公開なもの以外にもいくつかのファイルがあり、その1つがディストリビューションウィザー…

VisualStudioでVB

VB

たぶん、検索すればまとまった設定例が見つかるのではないかと思うのです。VB6 のインストール先を覗くと c2.exe だの link.exe だのが配置されていて、なんとかしてコンパイラ環境として登録できそうな雰囲気があります。ですが、手軽に登録するなら vb6.ex…

Breakpoint はどこ?

VB

仕方なく(?)、VBでトレースしてるわけですが、途中で処理の区切りとして設定したブレークポイントがありまして、その部分を参照しようとしたら・・・どこに設定したか覚えてなくて見つからない! ブレークポイントの一覧も出せない*1し、ブレークポイント…

グローバルスコープ

VB

Visual Basic では、クラス構成以外の個々のソースコードが1つの名称空間を共有します。このため、標準モジュールで安易に Public として変数や関数を作成してしまうと、それはプロジェクト全体から利用可能なグローバル変数・グローバル関数になってしまう…

コーディング規約

dev

コードを書くときのルールのドレが良いかはさておき、何らかのルールを定め・守ることは非常に重要だと思いますが、その内容があまりにひどいのはつらいところですね。 変数名や関数名にスコープや型に即した名前付けと連番が指定されています。 Private Dim…

気を抜くと・・・

気を抜くと日記が滞ります。時間を作れないのは忙しいのではなくて、時間の使い方がまずいからだろうと思います。

開発便りが出ました!

今更、不意打ちの有効範囲を後方限定に修正するようです。*1世の中に よこだま が流布した頃にはLv65でカンストしていた身ですので、元の一時盾戦術に戻るだけという感じですが、よこだまが流布してからのシーフしか見たことがない、プレイしたことがないシ…

いつ commit するか?

vcs

バージョン管理システムに変更内容を commit*1 するのはいつがベストだろうか? 理想的には、1つの機能を作成または修正したら、その修正内容を沿えて commit をするべきなんだろうが、実際にはなかなかそういうわけにはいかない。 たとえば、あるプロジェ…

Nothing ?

VB

昨日の日記に書きたかった内容ですが、文章を組み立ててる時間がなくてさっさと寝てしまいました。Nothing 自体は、何度も見ました。多くの場合は Set obj = Nothing というようなかんじで、対象オブジェクトの参照カウンタを減らすために代入されています。…

たっぷり疲れる

仕事で、予定通りに作業が終わりませんでした。 金曜日の午前中に終わる予定を立てていたものが、会社が閉じるまで残ってても軽く4時間くらい足りませんでした。

動的配列から Collection へ

VB

いろいろな方法がある中で、今回は型チェックができて実装が簡単な Collection をメンバーにもつクラスを作成することにしました。元のコードは Public Type MyType Name As String Datum As String Value As Long End Type ' Dim ary() As MyType と宣言し…

Collection を使おう

VB

前述の動的配列は、昨日の日記でも触れたようにちょっと入り組んだメンバー構成をしており、変更内容が多大になるためコスト的に修正を見送りましたが、もう1つ別のユーザ定義型が同様に要素を後ろへ追加する動的配列であり、メンバー構成が非常に単純なの…

動的配列がロックアウトされている

VB

前述のコードは十数分で破棄されました。インデックスのエラーを解消したので、関数全体は正常に稼動するかに思われましたが、今度は配列のロックアウトエラーというものが発生しました。 VB の配列は OLE の SafeArray として実装されていることは事前に知…

Variant とユーザ定義型

VB

VB は基本的にすべての値を Variant で扱おうとする言語です。型に厳しいのかどうかが言語の優劣を決めるわけではないのですが、現在の VB は型を意識した機能と Variant を意識した機能が入り混じっており、結果としてプログラム言語として扱いにくいかんじ…

PUSHとLSet

VB

ユーザ定義型の動的配列に、どんどん新しい要素(レコード)を追加していきます。いわゆるPUSH*1の作業だが、 For i=0 To 300 ReDim Preserved ary(0 To UBound(ary)+1) ary(UBound(ary)).member = ... Next i とか、さすがにコレは ReDim Preserved ary(0 T…

デバッグテクニック

VB

VB に関する内容を含んだ書籍は手持ちにもたくさんある。それらの VB に関する内容はよほど興味がない限りはスルーしてきたのだが、ここ数日はすぐに役に立ちそうだと思われるコラムや連載をいくつかパラパラと目を通しなおしている。 それらでは、ほとんど…

寝違えた

いつも通りの時間に寝て、いつも通りの時間に起きて、なぜか眠い朝だった。オマケに、寝違えたのか首筋が痛くて首がまわらない。 寝違えというのは、 寝ているときの姿勢に問題があった よく冷えた 首の筋力の衰え といったことが原因になるらしい。筋力にも…