軽井沢1日目「出発!」

abdev 軽井沢1日目「出発!」 はコメントを受け付けていません

昨日は良く眠れた〜といいたいところですが、暑苦しく、翌日の旅のワクワク感から4時間くらいしか眠れてません…f(–;;;

今朝は山本家メンバーは朝AM6:00起き。AM7:30には出発できるよう、準備を整えます。写真は出発を待つアルファードちゃん。おいらが企画担当をしなければ、たぶん、5ナンバーのお財布に優しいミニバンがチョイスされてたことでしょう…。この車、レンタカーのわりに3Lハイオク車だったりするんです。

出発は計画どおりAM7:30。一日目は休憩をしつつカナディアンファームへと向かいます。静岡、富士間はバイパス道路でもいいかな〜と思っていたら、かなり渋滞している模様です。それもそのはず、この日は平日。通勤ラッシュの時間にマッチしてしまったんですね。

いやぁ〜それにしても、最新のナビは動きが違いますね。ユーザーが求める動きを先読みしてくれるというかなんというか…。道から外れた瞬間、補正ルートが表示されたり、遅いイメージがある応答性が一瞬だったりと、進化は続きますね。これから3Dナビの時代になってくるんで、楽しみです。

で、午前中はまかいの牧場や双葉サービスエリアなど、メジャーな休憩ポイントで一息いれながら中央道の諏訪南I.C.を目指します。台風11号が来る一日前ということもあって、天気が心配だったのですが、曇時々晴れといった感じで、全く問題なしでした。ありがたいことです。おばあちゃん曰く、これは日ごろの行いの良い連中が集まったからだとのこと。そういうことにしておきましょう。

で、本日のメイン、廃材王国カナディアンファームですが、森の中にたたずむその姿に一行はテンションが上がりまくりです。今回は普段、ウチの家族が体験してこなかった贅沢なものを想定しているので、このカナディアンファームは大成功です。普通のステーキ屋さんでは味わえない、自然盛りだくさんの遊び心をもらうことができてしまうんです。

廃材王国 カナディアンファーム。皆さんもお試しあれ☆

http://canadianfarm.hp.infoseek.co.jp/

今回はここでサーモンステーキを食べたかったおいらですが、店員さんの「今日はサーモン無いです」の一言で急遽「肉だんご田舎風煮込み」に変更。他の連中も、「チキンバーベキューロースト」「牛肉のビール煮込み」「スモークビーフステーキ」などを次々と注文します。

本日のメインということで、カナディアンファームでかなりの時間を費やしてしまいました。後は軽井沢へ向けて一直線。今日から3日間お世話になる貸し別荘を目指します。2時間ほどですかね〜この別荘にはかなりスムーズに到着することができました。PM5:00にもなっていなかったんで、夕飯前に温泉へと向かいます。今日チョイスするのはR146にある「トンボの湯」。おいらは運転の疲れを癒し、他の連中は慣れない旅(といってもまだ一日目)の疲れを癒します。

トンボの湯:

http://www.hoshino-area.jp/tonbo/oyu.htm

夕食は近くのスーパーで酒や食材を買い込み、ピザを注文して別荘でとります。一日目の夜は皆でワイワイしながら、しかも軽井沢の別荘で(←ここ重要)家族皆で夕食をとれたので、大成功ですな。

オブジェクトポインタのポインタを扱うときの問題

abdev オブジェクトポインタのポインタを扱うときの問題 はコメントを受け付けていません

//整数型
#define DEF_CHAR		0x0001
#define DEF_BYTE		0x0002
#define DEF_INTEGER		0x0003
#define DEF_WORD		0x0004
#define DEF_LONG		0x0005
#define DEF_DWORD		0x0006
#define DEF_INT64		0x0007
#define DEF_QWORD		0x0008

//実数型
#define DEF_SINGLE		0x0009
#define DEF_DOUBLE		0x000A

//文字列型
#define DEF_STRING		0x000B

//ポインタ型
#define DEF_PTR_VOID	0x000C
#define DEF_PTR_DOUBLE	0x000D
#define DEF_PTR_SINGLE	0x000E
#define DEF_PTR_QWORD	0x000F
#define DEF_PTR_DWORD	0x0010
#define DEF_PTR_WORD	0x0011
#define DEF_PTR_BYTE	0x0012
#define DEF_PTR_OBJECT	0x0013
#define DEF_PTR_PROC	0x0014

いきなりですが、上のコードはBasicCompiler.exeのコードの一部、内部で利用する型コードが定義されている部分です。

こうして見ると、基本型、文字列型、ポインタ型など、ABで扱うすべての型が揃っているように見えますが…

実は一つだけ足りない要素があるんです。そいつはズバリ、ポインタのポインタ!ポインタを良くわかっていない方はまたポインタかよぉ〜と言ってしまいそうですよね。ポインタがわかっているおいらもポインタのポインタをコンパイラがどのように扱うのかを考え出すとイヤになってしまいます。

ABはポインタのポインタを直接的に扱うことができません。例えば、下記のコードはエラーになります。

Dim ppRect As **RECT
〜
ppRect[0]->left=10

仕様上は何の問題もありませんが、コンパイラがオブジェクトポインタのポインタを参照しながら、同時にメンバにアクセスすることができていないんです。ちなみに、下のようにワンクッションおけば、問題ないっす。

Dim ppRect As **RECT
Dim pRect As *RECT
〜
pRect=ppRect[0]
pRect->left=10

こちらの事情ということになりますが、これを克服するためには書き換える部分が多数でてきて、がんばらねばなりません。

今考えている方法は、一番上に書いてある型コードの上位16ビットにポインタの階層番号を記すというものです。まぁ、いたって単純なわけで、すぐにでも実装にとりかかろうと思うのですが、何せ修正部分が30個所以上。バグがバグを引き寄せる可能性も大きいので慎重に修正をかけなければなりません。

今夜は軽井沢行きの支度とレンタカー借りがあるんで、開発は早々に切り上げて、ということなんで、また後日ってことですかね〜。Ver4.1β2を楽しみにされているユーザーの皆様、もうちょっとお待ちくださいm(__)m

2つのミーティングをこなし…

abdev 2つのミーティングをこなし… はコメントを受け付けていません

お昼に(株)びぎねっとさんのオフィスへ

東京の渋谷にある、(株)びぎねっとさんのオフィスへ、未踏ユース関係のミーティングをしに行ってきました。担当してくださった伊藤さん、長時間に渡り、お疲れ様でした。有意義な時間を過ごせて、良かったっす。

未踏ユースでおいらのActiveBasic開発をサポートしてくれるのが(株)びぎねっとさんなのですが、この会社、オープンソースカンファレンスを開催したり、講習会を開いたりと、面白そうな最新ソフトウェア技術を全面に出したお仕事をされているようです。ジャンル的に、ActiveBasicと密接な関係にありそうですな。今後とも良いお付き合いをしていきたいものです。

株式会社びぎねっと:

http://begi.net/

夜は服屋でミーティング

新店長の要望で開かれた今夜のミーティング。閉店後、PM9:45から始まり、PM11:00頃まで話は続きました。おいらは結構お疲れでしたが、この新店長、かなりのやり手のようで、その話の内容で疲れはどこかへ飛んでいってしまいました。経験店舗の数は10。ベテランといったところでしょうか。「仕事ができる」というのは当然のことですが、この新店長がプッシュしているのはそこではないようです。

「仕事の質」の向上を図る前の「基本的な礼儀」「人間関係の徹底サポート」が念頭にあるようで、その方針を聞く限りでは「すごい店長が来たな〜」という感想を持ってしまいます。おいらは社会経験も無く、すごいな〜、この人間的オーラ、盗み取ってやるぞぉ〜と思ってしまうのですが、もしかしたら仕事以前の人間サポートこそが店長の当たり前の仕事なのかもしれません。

服屋はもうそろそろやめにしようと思っていたところなのですが、こんな新店長を目の前にしてしまうと勿体無くてしょうがないっす。なんとか、自分にプラスになるいい方法を考えたいものです。

ってなことでですねぇ〜、いやはや今日は昼から夜まで考えさせられることばかりでした。ABもここまで来たかぁ〜と思う瞬間もあれば、おいらの考えの甘っちょろさが露出した部分もありと、ホント大変なことばかりですよ。

明日はお休みなのですが、午前中は空いた時間で開発をして、夜はレンタカーを借りにいかなくちゃぁなりません。そう、明後日から3日間、山本家は軽井沢いきなんですよ〜。台風よ、マジで去ってくれ(><)

久々にゲームにはまる…

abdev 久々にゲームにはまる… はコメントを受け付けていません

普段、ゲームには興味を持たないおいらですが、N-GAMEという、棒人間を操ってゴールへと辿り着くアクションゲームにハマってしまいました。

http://www.harveycartel.org/metanet/downloads.html

(PC versionをダウンロード)

地震警告システム

abdev 地震警告システム はコメントを受け付けていません

ニュースを見てしったのですが、最新の地震警告システムは使いようによってはホントに画期的なものになりそうですね。

先日起きた宮城県沖の地震ですが、大きな揺れが始まる11秒前にそのシステムが警告を発していたようです。予想された時刻や震度はほぼ正確といってよいものだそうで、このシステムには是非とも、成長していただきたいものです。

たかが11秒前といってしまえばそれまでですが、ネットワークやヒューマンインターフェイスが化け物かという勢いで進化している今、その情報を活用する手段は色々ありそうです。

この地震システムと高速ネットワーク、地震警告インターフェイスを組み合わせれば、家にいながら確実に情報を取得できます。例えば、ガス検知機の横に、地震警報機なんかを設置しておけば、この地震システムから高速ネットワーク回線を介して送られる「10秒後に大地震が起きます」という情報を家庭にいるすべての人間が把握できるのです。

となれば、たかが10秒とはいってられませんよね。できることは沢山あります。まずは火を消し、自分の身に降りかかってくる不安要素を取り除く作業だってできます。家族が家のどの場所にいるか、非難通路となるドアは開いているか、などなど。最後は机の下へと潜ってしまえば完璧ですね。

で、問題となるのが、このシステムの信頼性です。間違いばかりを起こすと、「また警報機がなったけど、多分間違いでしょう」と流されてしまうかもしれません。普段からビービーなるような警報機であれば、スイッチを切られてしまうかもしれません。

的中率90パーセント台で、警告音がウルサイやつ。「何秒後に起きますよ〜」みたいな音声合成機能も付けておけば間違い無さそうです。

地震警報システムの信頼性向上さえ実現すれば、いずれは必ず、地震警報機は家庭に置かれることと思います。でも、何年後、何十年後の話になるのでしょうかね…。それまで東海大地震が起きないことを祈るばかりです。

キャストを可能にすべく… Ver4.1はまだか!?

abdev キャストを可能にすべく… Ver4.1はまだか!? はコメントを受け付けていません

本日は休日。相変わらず、この問題に取り組んでいるところです。どうも、おいらは開発に専念してしまうとWebコンテンツの製作が疎かになってしまうみたいですね。どなたか、同士を組んでDiscoversoftの運営を活発なものにしたいものです。

さてさて、キャストについてですが、Ver4.1β1をそろそろリリースできそうです。あとはヘルプを書くだけって感じですかね。

“#strict”ディレクティブが指定されたソースファイルで、曖昧な型変換が行われていると、下記のようなエラーがでるようになっています。

prompt.sbp(313) - [警告] "LoadIcon"の第2パラメータが、Longから*Byteに強制変換されています。
prompt.sbp(314) - [警告] "LoadIcon"の第2パラメータが、Longから*Byteに強制変換されています。
prompt.sbp(315) - [警告] "LoadCursor"の第2パラメータが、Longから*Byteに強制変換されています。
function.sbp(438) - [警告] "memcpy"の第2パラメータが、StringからVoidPtrに強制変換されています。
function.sbp(438) - [警告] "memcpy"の第1パラメータが、StringからVoidPtrに強制変換されています。
string.sbp(26) - [警告] "memcpy"の第1パラメータが、StringからVoidPtrに強制変換されています。

まだprompt.sbp、function.sbpのライブラリ書き換えが済んでいない証拠にもなっている上の出力サンプルですが、こいつは飽くまで「警告」なので、EXE生成とデバッグはできるようになっています。

名古屋往復とハードな飲み会

abdev 名古屋往復とハードな飲み会 はコメントを受け付けていません

8/15の話ですが、お盆のUターンラッシュの中、名古屋まで行ってきましたよ〜。東名が混んでいたため、静岡県内は今年春に無料解放されたバイパス道路を使いました。右の写真は、景色がめちゃくちゃキレイな浜名湖バイパス。サーファーが集ってました。〜イイな〜海入りたいよ〜。それにしても、果てしないほどの直線が続くこの道路。静岡県ではないような、変な錯覚を起こさせます。おいらがこの道路を昼間に走ったのは初めてなんで、レゲエに浸りながらちょっとした感動に出会うことができました☆

帰ってきて、「疲れたぁ〜」とホッとしたのもつかの間。夜はウイ店長の送別会があります。◯Oo。―y(⌒O⌒)

開催場所は富士駅付近にある笑笑(←飲み屋チェーン店!?)。おいらが服屋のバイトを始めて、数え切れないほどの飲み会を楽しんできたわけですが、この日のようにスタッフ全員+OBスタッフが集合するという前代未聞の出席率には驚くばかり。欠席ゼロですよ、ゼロ!!!やはりそこには、店長の人間性が絡んでくるのか、はたまたおいら達が自ら作り出したアットホームな結束力がそうさせたのか!???ちょっとわからない点ではありますが、総勢22人で、楽しい一年間を提供してくれた店長を送り出すことができました。

で、問題だったのは、ジョニー先輩とMICが繰り出す飲め飲めコール。飲めない女スタッフに順番がくると、「身代わり♪ ヽ(^。^)ノ」「でぇーすけ♪ z(-_-z)」という身代わりコールに変わるんです。やむなく、飲めない焼酎を限界値を超して飲んで、数年間は味わうことがなかった地獄へと行ってしまったというわけです。

ウイ店長とは一体、何回ファミレスで話込んだことでしょう…。一年間、ホントに色々ありました。9月から、新しい店長、新しい店に生まれ変わります。おいらはこの新しい環境を目にしてから、引退を考えようと思っているところです。もうそろそろ服屋も引退かぁ…シンミリ(/_;。)

名古屋へお出かけ

abdev 名古屋へお出かけ はコメントを受け付けていません

今日は、とあるABユーザーの方と話をするために名古屋へと出向いたんです。

内容を色々と書きたいところなのですが、今夜はお世話になった店長の送別会があるんで、今からはそっちへ行ってきます〜。

短くてごめんですm(__)m

型思想

abdev 3 Comments »

キャストの問題を処理していて、フッと思ったことなのですが、Win32APIが用意してくれる型って、ちょっと悪趣味だと思いません?だって、よく考えてみてくださいよ。

typedef int INT;
typedef long LONG;

とかしてるんですよ。APIの上では、型を大文字で統一しましょうみたいな流れがあったと風の噂で聞いたことはありますが、それが徹底されていない現状を見ると、どうしても気持ち悪いんです。

ABはWin32APIの影響をモロに受けるような言語仕様、ライブラリ構成になってるんですが、これらVCで不徹底されている型環境というお荷物まで背負い込むことはしたくないんですよね。

ABはVer4.1から厳しい型チェックを行える”#strict”ディレクティブを導入するので、LongとDWordを曖昧に使い分けたりはできないんです。気持ち悪い型の例をもう一つくらい示しておきましょうか。

typedef long LONG;
typedef unsigned int UINT;
typedef UINT WPARAM;
typedef LONG LPARAM;

LRESULT CALLBACK WindowProc(
HWND hwnd,// ウィンドウのハンドル
UINT uMsg,// メッセージ
WPARAM wParam,// メッセージの追加情報1
LPARAM lParam// メッセージの追加情報2
);

WPARAMとLPARAMって、正直新しい型を導入してまで定義する必要、あるんでしょうか。wParamもlParamも所詮はメッセージの追加情報。どうあがいても32ビット整数値なんです。しかも、符号あり/なしに分別されている意味がわかりません。2つともDWORD(もしくはUINT)に統一させればいいじゃないですか。

初心者向けにWin32APIを解説しているページを見かけると、WPARAMとLPARAMについてのコラム的な解説が目立ちます。結局はlongとかunsigned intとかなんですぅ〜、という具合にまとめられているのですが、だったら最初からlongとかunsigned intとかで定義してくれよぅ。WPARAMとLPARAMという新たな型を作り出す必要、符号あり/なしを分ける必要がどこにあるんだよーぅ。

と、まるでタダをこねるような本日の思想ですが、、、ABライブラリではどうしようか悩んでしまいます。Win32APIとの互換性を重要視するんであれば、またはネット上にある様々な情報を取り入れやすいようにするんであれば、WPARAMやLPARAMを始めとする奇妙な型を導入すべきなんだと思います。でもでも、おいら的に納得がいかないんですよね〜。

といいながら、Ver4.1でWPARAMとLPARAMを導入してしまいそうな、意思の弱さときたら…(トホホ)。まぁ、64ビット環境のライブラリなどの環境変化を考慮すると、型指定にワンクッション余裕を持たせるのは必要ではあるんですけどね…。ABユーザーの皆さん、AB環境に影響を及ぼしかねないWin32APIの型について、どう思います???

パラメータヒントが閉じたときのチラツキが気になる!

abdev パラメータヒントが閉じたときのチラツキが気になる! はコメントを受け付けていません

おいらが気になるくらいなので、頻繁にプロジェクトエディタを利用するABユーザーさんも気にはしていたことと思います。

それはパラメータヒントを表示してからカーソルを移動するなどして、そのヒントが消えたとき。一瞬だけプロジェクトエディタのウィンドウがチラツクんです。こいつに意外と集中力を削られます。

ウィンドウの再描画のトラブルってのは、Windowsプログラマーなら誰しも通る道ですよね。描画工程ってどうしても、わかり辛いんですよ。それについて詳細にかかれている文献が見つからないというか、そのトラブルにおいて正確な状況を把握しきれないというか…。歯がゆい状況に対面すると、試行錯誤を繰り返すしかないです(-w-

なにはともあれ、InvalidateRectとUpdateWindowを適確なタイミングで呼び出すことで今回のチラツキ問題は解消されました。皆様には、次回のバージョンアップでお披露目(そんな大袈裟じゃないか…)できるかと思います☆

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS ログイン