Are you ready for TECH INFO?
access 2003 (だったかな?)で開発して、今でも現役で使っているソフト。
メンテの為に access 2013 上で動かしてみると、エラー…
デバッグしてみると、クラスの初期化で落ちる。
いくらVBAでクラスを使うのがマレだとしても、言語の機能として用意されているものを使っていてエラーになるってどういうこと???
相変わらずのMSのひどさにうんざり。
そんなことじゃ、windows phone なんて絶対に買えないよ。
久しぶりに、MSを締め殺してやりたくなった。
本当に、期待を裏切ってくれるなぁ。
追記:
結局、原因は クラスの初期化 にあるのではなく、参照でカレンダーコントロール(Access2013では、なくなっているocx)を参照している為と判明。
でも、該当のフォームではカレンダーコントロールなんか使ってないんですよ(他のフォームで使っている)。
しかも、落ちるのはなぜか クラスのメンバー関数をを呼び出す部分。なんでかしらんけど、new の部分では初期化されず、最初にメンバー関数を呼び出したところでコンストラクタが走る仕様。そして、落ちる。
クラスとカレンダーコントロール、何も関係ないやんけー!
なんでここで落ちるの?わけわからん。
なんという不可解。なんというエラーの掴みにくさ。
ここを見て、ようやく「原因これだったりしてwww まさかな。」「うひー!これかよ!マジキチ??」てなもんです。
ひでーひでー。
ひどすぎるぞー!
原因がわかったのは、本当に偶然の産物。
こんな環境はいやだーーー!
たまに、
BaseWindow() : m_hwnd(NULL) { }
みたいなコードを c++ で見るのですが、なぜかその書式を説明する文章をネット上でも書籍でも、めったに見かけません。
なんで?
答えは メンバイニシャライザ といいます。それらしい名前がちゃんとあるのですね。
クラスのメンバー変数を初期化する方法の一つです。
そういえば、昔の c++ Builder でも多用されていたように記憶していますが、構文の意味がわからんままだった覚えがあります。
なぜに、こういうのは説明されないのでしょうか?不思議だ。
これに詰まって進めないようでは、c++ を使う資格は無いということなのかもしれません。うーん。
できれば、そんな資格はいらんと言いたいものだ。
MS-Access からUSBカメラを操作して画像を適当にDBに(あるいは画像位置とファイル名を)登録したい。
などという事は、誰もが思っているのに、簡単ではありません。
外人もそのように思っているらしく、色々考えているようです。
ちゃんと動くとも思いませんが、一応、それらしいことはしているみたいです。
参考になるかどうかわかりませんが、興味があればどうぞう。英語です。
| 月 | 火 | 水 | 木 | 金 | 土 | 日 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 | ||||