(10/09/01~)

10/09/01

根拠はない (キリッ)
 とある事に気付いた。根拠はないが、ごく最近のうちに RAD Studio XE のアップデータが出るような気がする。今の所確実なソースはどこにもないので、ハズしたらゴメンナサイ。

根拠はない (Part2)
 Embarcadero 製品の サポート期限情報 が更新された。面白い事に、Delphi 2010 がパッシブフェーズに移行していない。Delphi 2009 は 1 年でパッシブフェーズに移行しているのに、だ。

 またまた適当な事を言うが、Delphi 2010 はもう一度アップデータが提供される可能性がある。アップデータを提供する気がないのならば、"Passive Phase: August 2010" と記載しても問題ないハズだからだ。これまたハズしたらゴメンナサイね。

とは言え。
 RTL / VCL の Win32 部分は 2010 / XE で大きく変わっていないのだから、バグ Fix 部分がバックポートされるとなると、"本当にリリースされるのであれば"、XE のアップデータと同時期か、その後という事になるとは思う。

ヨタ話。
 本日の雑談は完全に DEKO のヨタ話なので、あんまり本気にしないように。


10/09/02

David I Underwater XE Challenge
 ヒゲのおじさんが "テキオー灯" を浴びて水中散歩を洒落込むゲーム。

Key Action
←→ 移動
ジャンプ
しゃがむ

 前方からイロイロな動物がやってくるので避けるなり逃げるなりしなくてはならない。海にカエルが居たとするならばそれは世紀の大発見なのだが、ヒゲはまったく解っていない...縦に歩くカニでさえ相当に珍しいと思うのだが。

Threat Escape pts Pass pts Description
ray (エイ) 25 5 ジャンプで避ける。食べればいいのに。
crab (カニ) 50 10 ジャンプで避ける。食べればいいのに。
frog (カエル) 500 50 しゃがんで避ける。食べればいいのに。
shark (サメ) 750 75 しゃがんで避ける。食べればいいのに。

 動物が画面外に行った場合には。Pass ポイントが加算され、ジャンプかしゃがみで回避した場合には Escape ポイントが加算される。

 しゃがみで避けた場合、Escape ポイントが表示された後はそのオブジェクトに対して当たり判定はないので立ち上がっても大丈夫。ジャンプの場合には Escape ポイントが表示された後でやられる事もある。つまり、「できるだけ飛ぶな」って事ね。

 一定時間を過ぎるとレベルクリア。レベルクリアボーナスは "Level×1000"。たまに流れてくるピンズを取るとボーナスポイントが加算される。

pins pts
white (白) 500
blue (青) 1,000
red (赤) 2,000
beard (ヒゲ) 1UP

 このゲームには裏技が幾つかある。

 QC 投稿先のカテゴリとしてどこが適切か検討中。

 スコアを送信すると何かくれたりするらしい。期限は 2010/09/24。何も貰えなかったら 「"ぬり絵" と "間違い探し" と "紙ヒコーキ" で我慢しやがれ」 という事らしい。おいコラ、俺らは幼稚園児か!リアルに忘れそうになるが、一連のブツは "Embarcadero XE Database Tools" の販促用なのでお忘れなきよう。

 それから一言...

ちゃんと仕事しろよ Embarcadero (w

David I Underwater XE Challenge
 何の気もなしにやったらゲッダン状態に。狙ってやったらできないのになぁ...。録画してみたので カバディ&ゲッダンを観たいヒトはどうぞ (WMV 動画。音声は消してあります)。ちなみに今は Level:45。もう、こうなったらカンストするまでカバディさせとくか。Youtube アカウント持ってるのでアップしようと思ったが、流石にそれはやめた (w

 どうも "やられると同時にポイント加算" されると無敵モードになるような気がする。"最後にやってきた動物にやられて横たわってる間にレベルクリア" した時とかね。

Delphi XE の価格
 パッケージ版も含めて価格が出揃った。特筆すべきは、Professional 版に限定されるものの、"Delphi 1 ~ 2005 ユーザにも特別価格の製品が用意されている" 事だ。

 「アップグレード価格で購入できるのは BDS 2006 ユーザ以降だよ」1 年前にあちこちで 言われていたのに、今頃になって 「古いユーザの切り捨てだ!」と騒ぐオバカさん用の救済措置でしょう。Delphi 2005 の発売が 2004 年なので "少なくとも 6 年以上もの間バージョンアップをしてくれなかったお客さん" という事になりますな..."ユーザの切捨て" ねぇ。

なんかイロイロ
 「ところでオマエ、資料はどうしたよ?」 と米澤さんから暗にプレッシャーを与えられた気がしたんだが、そうなんだぜ

 第 2 回の画像をプリントアウトしてディスプレイに貼っておきます。サーセン。

つーか
 督促状がやってきたのでお送りしておきました。取り立て怖いガクブル。

「と...途中に休憩がある?!」
 やだなぁ..."【A4】セッションは 2 時間" でつよ?


10/09/03

第17回エンバカデロ・デベロッパーキャンプ
 twitter はこちら。資料は提出したけど細部は調整しなきゃかな?締め切りと新製品発表が 1 日違いだったという...。一番怖いのは 【A3】の山本悟さんのセッション内容とカブる事ですな。互いのセッションタイトルからしてどうもカブりそうなんだよなぁ...。

続々 David I Underwater XE Challenge
 スコアの幅が 9 桁以上だと下の桁が表示されないみたい。フォントがプロポーショナルなので、スコアに 1 とか 7 が多いとなんとか 9 桁は表示されます。Level が 1000 を超えるとこれまた正しく表示されません...てか、もうやめていいかな?

予言の裏付け?
 ふーさんトコより。そうなんだ...あの予言はフォーラムの内容であるとかそういったものが根拠となっている訳ではなく、"ある事に気付いた" だけで、全く根拠がありません。"ある事" というのも 「だからそれがどうした」 レベルのものだったりします。このサイトのどこかにも "ある事" を再現してありますが、まず気付かないと思います。その位、根拠としては弱いのです。デマ話は大概にしとかないと Embarcadero さんにご迷惑が掛かるかもしれないので、この辺で。

SKRegExp ラッパー "SkRegularExpressions.pas"
 キタ━(゚∀゚)━!!!!! コイツがあれば、Delphi XE の TRgEx のような記述 が可能...つまり、"for in do" でマッチ結果を回せます。

 「TRegEx と何が違うん?」...って、またまたご冗談を。"SkRegularExpressions.pas にはジェネリクスが使われていない" ってのがミソでしょ。つまりは、"SKRegExp がサポートする Delphi 2005 以降で for in do が使える" っちゅー事ですよ (奇しくも "for in do" は 2005 から利用可能)。ANSI 版 Delphi でも Unicode 版 Delphi でも同じ記述ができるって事です。小宮さん、GJ!!


10/09/04

第17回エンバカデロ・デベロッパーキャンプ
 RSS に引かれてあちこちのサイトを眺めてみると、とても心臓に悪い事が書いてあったりする。デブキャンのネタとカブりそうなのが散見されるからだ。「いーもん、確かに発表は 15 日だけど、提出したのは 2 日だもん」 と子供のような事を言ってみる。

Delphi XE と C++Builder XE で修正された不具合一覧
 Document 関係は不具合一覧に載せるべきではないと思う今日この頃。なお、このリストは "不具合のうち、ユーザから QC で報告されたもの" であるため、実際の修正点はもっと多い。

 < NDA に抵触しそうなので削除 >

 フォーラムで 「XE で 1,000 のバグが修正された!」「14 年放置されてたのが直ったねぇ (´ー`)y-~~ 」 みたいなやりとりがなされている訳だが、バグを全部潰す気 (= Project Chromium) だったのだと思うよ、当初の予定では。むしろ、"14 年がどうとか細けぇ事はどうでもいい" ので、この調子でどんどんやってくれ...なにしろ、僕の Open 中の QC だけでもあと < ゲフンゲフン > 個あるんだから。


10/09/07

SplitString
 OldTPFun さんのネタ。実は、SplitString() はDelphi 7 から存在する。但し、SysUtils ではなく XMLDoc に存在する。プライベート関数なので、XMLDoc.SplitString() のような使い方はできない (XMLDoc からパクってくるしかない)。XMLDoc.SplitString の ToDo に "RTL に移動するべ" と書いてあったりしたのだが、忘れていたのだろうか?

 "どのバージョンでどういった関数が追加されたのか?" というリストは 以前作った事があり、期間限定でこっそり公開していたのだけれど、ウチのサイトをマメにチェックしないとワカンナイよね...こんなの。現在 Tips で公開されているのは "Delphi のどのバージョンで何が追加されたのか?" であり、概要の差異しかわからない...これはこれで便利だけど。あの時作った資料の片割れが "Delphi の製品情報" 。こっちは容量を食わないので、改変して現在に至る...という訳。

 "どのバージョンでどういった関数が追加されたのか?" は、現在 CHM にコンバートされ、たまに使われている。「~以降で使えます」とか質問の回答には重宝する。


10/09/08

Delphi のレジストリ
 delfusa 様よりご要望を承ったので、"Delphi の製品情報" に Delphi が使用しているレジストリ位置を追記。なお、$(BDS) を求めるには、旧 IDE の場合だと HKLM の方を見ないといけない事に注意が必要デス...あ、旧 IDE なら $(BDS) じゃなくて $(DELPHI) か。

Delphi のビルドバージョン
 takapon 様よりご要望を承ったので、"Delphi の製品情報" に Delphi のビルドバージョンを追記。このバージョンはパッケージ名に含まれる数値であったり、QC での "Build No" だったりします。

Delphi の最新(最終)ビルドバージョン
 せっかくなので追加。記載されているバージョンでない場合には、すべてのアップデータが適用された状態ではないと思われます。ご確認下さい。

Blackfish SQL
 マジですよ。>kryu2 >tknakamuriカントゥーさんの記事 を待つまでもなく、08/31 の雑談 に書いてあったと思いますが...これもマイナーサイトの成せる業だな (w それにしても、中村センセの twitter はなんで tknakamura じゃなくて tknakamuri なんだろうか?

SKRegExp
 最近、怒涛のバージョンアップが行われております。"SkRegularExpressions.pas" に Replace / Split を分離するという案はいいかもしれませんね。...なんて書いてるうちに、"SkRegularExpressions.pas" に Replace / Split が実装された模様です。これで TRegEx / TPerlRegEx に勝つる...てか、小宮さん仕事早っ!!


10/09/15

第17回エンバカデロ・デベロッパーキャンプ
 「お江戸なう。」...とでも言えばいいのか。実は月曜日からお江戸でございます。

デブキャンまでの道のり
 もうね、「おのぼりさんってレベルじゃねーぞ!」だったの。

続・第17回エンバカデロ・デベロッパーキャンプ
 そんなこんなで、多分喋ってる事はグダグダだったと思う。改めてここで補足する。

 Blackfish の件は本当に困った。お題に "Database"、"マイグレーション"、"Unicode" というキーワードがあるのに、XE では Blackfish がサポートされなくなったものだから、Pro ユーザも含めた話にしようとすると DBX4 は無理になってしまう。というのも、  というユーザが未だに結構な数居るようなのだ。これらの条件からスムーズなマイグレーションを行おうとすると、"IBX + Firebird" または "何らかの ADO 接続" しかない。DBX4 + MySQL のローカル接続なら条件を満たしているような気がするだろうが、未だに MySQL は 3 バイト UTF-8 だし、商用で使うとなると、ほぼ 100% の確率で MySQL のライセンス料を支払わなくてはならないだろう

 Pro 版で使える DBX ドライバは Interbase と MySQL 二択になってしまったが、商用で使う場合にはどちらの DB も無償で配布したりする事はできない訳で、BDE (dBASE / Paradox) からのマイグレーション用途として考えた場合、Pro 版における DBX は死んだも同然だったりする。だから、どう考えても "DB 使うなら Ent 以上のグレード買おうね" という結論に至ってしまうのだった。

 ...かといって、Ent 版以上を前提としたマイグレーションの講義なんて意味ないしなぁ。

BDE (dBASE/ Paradox) 代替としての "IBX + Firebird"
 Firebird に接続するためのミドルウェアとして IBX 以外を推さないのは、ミドルウェアの殆どが商用 (...つか有償) なため、やっぱり BDE (dBASE / Paradox) 難民を救済する手段に成り得ないからだったりする。そりゃね...どんだけでも金を使えるならそうしたらいいさ。でも、お客さんが「以前のバージョンではデータベースに金掛からなかったのに、なんでバージョンアップするとデータベースに金が掛かるんだ?」 と言ってきた場合、何と答えるべきなのだ?こうなってしまうと、

  1. BDE を使い続けるしかない
  2. Unicode である必要がない (Unicode が使えないから)
  3. Unicode 版 Delphi である必要がない
  4. Unicode 版 Delphi を購入する理由がない
 という悪循環に陥ってしまう。ANSI アプリケーションでずっと留まる訳にはいかないだろうに。せめて、SQLite / PotgreSQL が DBX で使えたらなぁ...(もちろん Embarcadero 純正ドライバで)。


10/09/16

まだ、お江戸なう
 明日、帰るよー。

Delphiで「#26412 <= #255」がTrueになるのが納得出来ない
 えぇ、確かに。この件は 前回のセッション で言うところの P86,P87 です。

procedure TForm1.Button1Click(Sender: TObject);
var
  ret: Integer;
begin
  ret := CompareStr(#26412#255);
  ShowMessage(IntToStr(ret));

  ret := CompareStr(#$672C#$00FF);
  ShowMessage(IntToStr(ret));

  ret := CompareStr(#$672C#$FF);
  ShowMessage(IntToStr(ret));
end;

 この検証コードで何となくお解り頂けるかと。文字列の比較演算は "バイト単位での比較" だったハズです。CompareStr と比較結果は同じになると思います。"1".."10" の文字列をソートすると "1" の後は "2" ではなく "10" になるってのに似てるかと。「キッチリ 0 詰しましょうね」みたいな。

今回のデブキャン【A4】セッションの元となったもの
 2009/12/08 の雑談 が骨子となっています。2010 は XE と読み替えて下さい。

MIDAS
 そう言えば、金町駅の近くに "SPORTS MIDAS" というスポーツ用品店がある。しかも、ブログ書いてるのがニックさん (?)...が、そんな冗談を言っている余裕はなかった (^^;A


10/09/17

やっと、熊本なう
 と、思ったら、福岡のお客さんトコへ行くハメに (羽田[東京] -> 熊本空港[熊本郊外] -> 会社[熊本市内] -> お客さんトコ[福岡] -> 会社[熊本])。結局、お客さんトコから帰ってきたのは日付が変わるちょっと前...orz

デブキャン資料
 資料に追記しようかと思ったのですが、そういった諸事情により追記はできませんでした...ゴメンナサイ。


10/09/18

MECSUtils
 カレントバージョンは 1.52。

 ここんとこの私のデブキャンセッションでは MECSUtils ありきで話が進められています。前回のセッションで、

 と言いました。別にこのライブラリで金取ってる訳じゃないし、Copyright 表記しろとも言っていません。本当の意味で勝手に使えるので、自由に使って下さい。

 QC78134 が Closed になりました。これは、ISO-2022-JP を Windows 2000 で使おうとすると OS のバグにより正しい文字列が帰ってこないというもの。Closed ですが、Status は "Cannot Fixed" です。つまり、この問題は解決されませんので、ISO-2022-JP を処理される場合かつ Windows 2000 を動作環境に含めている場合には注意が必要です。

 たかだか "OS が Windows 2000 の場合で ISO-2022 系を処理する際にはバッファを多めに取る" というだけの処理がそんなに難しいのかなぁ?いずれにせよ、文字コード絡みの QC はかなり冷遇されているような印象を受けます。どんだけ Vote されていても "Cannot Fixed" になるのなら、MECSUtils を排除するのは難しいかもしれません。

 この問題に対する回避策は UTF16ToAnsi() を使って変換するか、TAltEncoding を使う事です。

3 バイト UTF-8 の DB にフル Unicode をブチ込む
 U+10000 以降の文字を HTML エンコードして DB に突っ込んで、取り出す際に HTML デコードすればいい。

 ...のだが、Delphi-RTL の HttpApp.HTMLEncode() には U+10000 以降の文字を数値文字参照に変換する機能はないし、それ以前の問題で HttpApp.HTMLEncode() は正しく動作しない (QC#78903)。HttpApp.HTMLDecode() は 数値文字参照をデコードする機能はあるが、U+10000 以降の数値文字参照を正しく処理しない (QC#87435)。

 Indy にも同等の関数があるが、エンコード/デコードのいずれも数値文字参照を考慮しない。よって MecsHTMLEncode() / MecsHTMLDecode() が必要となる。まぁ、HTML エンコードにこだわらず、他の方法で U+10000 以降の文字をエスケープしてもいいのだけれど、定番の方法が既に存在するのであれば、そちらに倣うべきかと。


10/09/19

"Cannnot Fix" なら...
 遠慮する事はないな。てな訳で TAltEncoding を CodeCentral にもアップ詳細は日本語フォーラムに譲るとして、メールの処理をする場合には多分避けて通れないと思う (特に日本に於いては)。

 Windows 2000 がサポート終了になった とはいえ、それが問題となる位に未だに広く使われているのは事実。Delphi で生成されたバイナリが Windows 2000 で動作する事を期待するのは当然だし、動かない道理もないしなぁ...。原因が OS のバグとはいえ、RTL の仕様としては間違ってる訳だし。

Delphi XE で利用可能な Delphi 7
 日本語版に関しては、提供されます(キッパリ)。もうしばらくお待ちくだされ。 との事。それと、

 何故か Delphi 7 (英語版) ユーザ向けのダウンロードは以前から存在するのですよねぇ...。

加賀ハイテック、720p動画再生対応の7型タッチ端末-Windows CE 6.0ベースの「MeoPad」。実売39,800円
 Windows CE 6.0 ベース (Windows Mobile 6.0 ベースでないことに注意) で 7 インチ液晶で TV 出力ありってか。これはかなりキテますな。無線 LAN が存在するのは確認していますが、Bluetooth はどうなんだろう?しかし、URL の "TAXAN" って久しぶりに聞いたな。PC-98 用の外付け SCSI-HDD とかあったな、TAXAN。あの当時としては "沢山" な HDD 容量だったな。しかし、名前からして、

"澪パッド"

 と呼ばれるのだろうな、と推測。


10/09/20

Delphi の Tips
 1 件追加。

 文字コード絡みの話をしようとすると、どうしても QC の話をせざるを得ない訳で、何度も同じ説明をするのが流石に億劫になってきたのでまとめてみました。 何の根拠もなく「MECSUtils 使え」と言っているのではなく、RTL だけで問題を解決しようとすると、結局は似たような外部ライブラリを構築しなくてはならないのです。正直なトコ、デブキャンのセッションで「RTL にバグがあるから MECSUtils 使ってね」なんて言いたくないですわ。それなのに、XE で解決された深刻な文字コード絡みの QC って QC#67959 くらいのものなんですよねぇ...。

 ま、日本語の問題の QC を入れる時、英語で日本語の問題を説明しなきゃいけない時点で "何かが違う気がする" んですけどね。QC 自体は英語で書いてもいいんですが、文字列定数とかを日本語で書けないってのはどうにかならんもんですかねぇ?まぁ、書けたとしても相手が "日本語を表示できるフォントを持っているか" という問題は残ってますけどね。かといって、ソースコードを画像で貼っても日本語読めなきゃロンゴロンゴ文字眺めてるのと同じでしょうが。

バグは言わなきゃ直らない
 言っても直らないかもしれませんが、少なくとも可能性がゼロって事はない訳で。

 例えば、ヘルプのソースコードが読めない件があります (QC#78315)。言語リファレンスの "宣言と文" とかにあるソースコードは、Delphi 6 あたりからインデントがおかしくなって読みづらくなり、BDS 2006 とかでは直ったものの強調構文表示されず、2007 / 2009 に至ってはソースコードが 1 行になってしまってマトモに読めないという問題がありました (お持ちであれば実際にご確認下さい。笑えますよ)。この件はそう昔の話ではないのですが、DocWiki では正しく表示されるようになりました (強調構文表示はされませんが)。

 「これはパッと見ただけで判るような問題だから、そのうち直るだろう」なんて思っていると、絶対に直りません。日本語フォーラムを含め、他のコミュニティで愚痴っても意味はありません。最低でも QC に入れないと話は始まらないのです。「ここは高橋さんが見てるだろうから...」というのは勝手な思い込みでしかなく、そもそも高橋さんの仕事はフォーラムで質問に回答する事ではありません。彼にそれをさせるのは、彼の仕事の邪魔をしている事に近いのではないかと最近思うようになってきました。むしろ QC をガンガン入れて、"本来の仕事の範疇で" 高橋さんのコメントを待つべきだと思います。QC 入れた後にフォーラムで質疑を行うのはアリだと思いますけどね。

 QC をトリアージする権限は恐らく高橋さんにはないでしょうから、QC が Open された後は Vote する位しか我々に残されたアピール手段は残っていないという訳です。こればっかりはどんだけ日本法人の方に文句を言ってもどうにもならない気がします。Vote 以外の手段となると、トリアージする権限を持つヒトが見てそうな本家フォーラムでマッチポンプするか、Field Test の初期段階でアピールするのが QC 解決への近道かと思います。

そういや
 "Delphi生誕15周年記念アプリケーション・コンテスト" の件はどうなったんだろう?明確な応募要項も結局は示されないままだったけど、皆さん忘却の彼方?ホッタラカシはよくないと思うよ、ホッタラカシは。

そういや2
 今年は Delphi 15 周年だったのだから、"Delphi XE" じゃなくて "Delphi XV (エクシヴ)" にすればよかったのに。来年は "Delphi XVI (エクシヴィ)" って事で。


10/09/21

第17回 エンバカデロ・デベロッパーキャンプ - セッション資料ダウンロード
 先に開催されたデベロッパーキャンプのセッション資料がダウンロード可能になりました。2010/09/15 以降の雑談には 【A4】セッションの補足がありますので、併せてご覧下さい。

Delphi の Tips
 1 件追加。1 件更新。

 セッション資料公開に合わせて。


10/09/22

続・QC78134
 いくら OS のバグとはいえ、RTL の仕様としては間違っていると思うので修正を入れて欲しい今日この頃。そもそも "OS のバグだから修正しない" という理屈が通るのなら、コンパイラに Pentium のバグを回避するスイッチを付ける必要もなかったんじゃないのか?そりゃ、ISO-2022 系は日本以外ではまず使わないとは思うけど、マズい事に日本ではメールの大半が ISO-2022-JP だからねぇ...。

 このまま修正されないようなら、こちらでも触れているように 黒翼猫さん 作の KDW を使うのが手っ取り早いかもしれない...が、企業とかでは採用できない方法だと思う。これとてオールマイティではないのだよな。

 追伸: ふーさん の援護射撃に感謝。

UnicodeString の問題
 図解するとこうなる。

 左側は外部ライブラリを一切利用せずにどうにかする方法。そして右側は代替策...結局 MECSUtilsUCS4Encoding のお世話にならなくてはならないと思う。Delphi XE で UnicodeStringToUCSString() がマトモになったので、どん詰まりの状況は抜ける事ができたけど。

 CharToElementIndex() が使えないとなると Copy_S() のような関数を自作するのが難しくなり、結局似たような文字列操作のライブラリを構築しなくてはならない。ByteType() で 1 文字ずつ調べて文字列処理するのが苦にならないのなら別だけど。

 コードポイント単位の操作をしなければいいのだけれど、Unicode 版 Delphi の TEdit とかにはあらゆる Unicode 文字が入力可能な訳で、ユーザがどんな文字を入力しても対応できるようにする必要がある以上、どこかでコードポイント単位の文字列処理をやるハメになる。Shift_JIS で 2 バイト文字を考慮した文字列処理を行わなくてはならないのと同じだ。

 XE リリース前の状況だと、デベロッパーキャンプで MECSUtilsUCS4Encoding の紹介をせざるを得なかったり、コッペパンを要求していた理由がお解り頂けたかと...今からでも遅くはないので 当該 QC への Vote をお願い致します。


10/09/23

Database の問題
 特に Professional 版ユーザ向け。図解するとこうなる。

 繰り返しになるけれど、TEdit とかではどんな Unicode 文字も入力できる訳で、そのため DB はフル Unicode 対応 (4 バイト UTF-8) でなくてはならない。BDE からの移行を考える場合、Pro 版ユーザには厳しい試練が待ち受けている。dBASE / Paradox のように無償かつ商用で自由に使える方法を模索すると、手段が極端に少なくなる。「Pro 版ユーザの方はご愁傷様」としか言えない現状だ。

 並び順とかを無視できるのであれば、3 バイト UTF-8 の DB を使う事もできる。「MySQL でやろう」と書いてあるが、商用で使おうとすると実は殆どのケースでライセンス料が発生するので、デブキャンでは取り上げなかった。そもそもこのフローではローカル接続前提なのだが、BDE で dBASE / Paradox をネットワーク共有で使っている場合には、リモート接続ができなくてはならない。しかし、ご存知の通り Pro 版だと DBX によるリモート接続は不可能であるため、Pro 版で DBX を使うという選択肢はなくなってしまう。

 データベースアプリケーションの Unicode 化を考えているのであれば、古い Delphi で Professional 版を使っていたとしても Enterprise 版または Architect 版の購入を念頭に置いておいたほうがいい。選択肢が格段に増えるからだ。サードパーティ製の DB コンポーネントを利用する場合、無料かつ商用で使えるものとなると限られてくる上、さらにデータコントロール (TDBEdit とか TDBGrid) に接続できるものとなると皆無に等しい...データコントロールに接続できないタイプのコンポーネントはプロジェクトを新規におこす場合にはそれでもいいのだろうが、データコントロールコンポーネントを使っている既存のアプリケーションのマイグレーション用途には不向き。というより、改変しなくてはならない箇所が多すぎて途方に暮れる事になるだろう。

 故に、「お金で解決できる問題ならそうしたほうがいい」 という結論に至る。そして、「どうせお金で解決しなくてはならないのなら Enterprise 版を購入した方が安心」 という事になる。Delphi 2009 が発売された直後のサードパーティ製 DB コンポの対応状況を覚えている方はそういう結論を出すしかないと思う。どのみち "Professional 版 + サードパーティ製 DBX ドライバ" では、ライセンスの関係上リモート接続はできないのだし。

 Pro ユーザをガン無視したセッションができたなら、どんだけ楽だった事だろうなぁ...。

澪Pad (TAXAN MEO-T740-KBPSET)
 おー Amazon でも予約受付になったのか。

 前者が限定のキーボード付。後者は普通の。澪Pad の詳しい情報はこちらからどうぞ...まだできてないのか。じゃ、こちら (PDF) をどうぞ。よーく考えてみよう。ポメラの DM20 だって定価なら 34,650円するのよ?


10/09/24

Android-x86 2.2 on VirtualBox
 ちょっといじってみた。2.2 (Froyo) の ダウンロードはこちら から。

  

 1.6 よりは数段遅い。画面エフェクトを幾つか切ってもあまり関係なかった。1.6 のダウンロードはこちら から。

  

 ブラウザも OK。

  

 Youtube も再生できる。

 VirtualBox へのインストールは "Linux 2.6" で OK。ネットワークは "NAT" で繋がると思う。ポインティングデバイスとしてマウスを使うには、VirtualBox の設定 ([システム | マザーボード タブ | 拡張機能]) で "絶対座標指定のデバイスを有効化" のチェックを入れなければいい。詳細な設定方法は "仮想環境への Android インストール手順(VirtualBox) (IS Memo)" で詳しく説明してある (説明は 1.6 のものだが、やる事は殆ど同じ)。僕自身は別に Android の案件を抱えてる訳じゃなく、開発の予定もないんだけどねー。

Pro版+有償のdbExpressドライバという手は?
 いあ、サードパーティ製ドライバにリモート接続の能力があってもローカル接続しかできないのですよ。"DBX ドライバがローカル接続しか許容していない" のではなく、"Pro 版の DBX でリモート接続する事そのものが禁止されています"。有償のサードパーティ製 DBX ドライバを購入しても、"ライセンス上ローカル接続しかできない" 訳で、どうせ費用が発生するのなら、最初から Ent 版買ったほうがいいんじゃないか?って事です。リモート接続もできますし。

 この件の認識があやふやな方は "Professional 版での DBX のライセンス" を今一度ご確認下さい。


10/09/25

トップページ
 何かがついた...が、あまりアテにしないで頂きたい (w

NTT 提供の VPN が繋がらなくなったり、シャレにならない位に遅くなった場合
 とりあえず 113 に連絡を入れる。"回線は正常です" と言われても、"実はそういう問題じゃない" ので、1 日経っても改善しない場合は再度電話を入れる。VPN 機器のマニュアルに 0120 のフリーダイアルが載っているならそっちにも連絡を入れる。すると、いつの間にか直ってるハズだ... (^^;A

 NTT にコネがある人物 (普通の代理店レベルでは難しいかも) を知っているのなら、そっちのルートを使って突っつくと早い。なお、これで直ったとしても NTT は障害の非をまず認めないので注意が必要だ (w

志、曰く。
 "「自分だけが忙しいと勘違いしてる人にいつまでも合わせられない」 とテーブルに鍵が横たわる" - B'z "それでも君には戻れない (IN THE LIFE)" より。

Twitter とか。
 リアルタイム性や緊急性を要する情報を何ら発信していないし、あっちこっち手広くやってる暇はないので Twitter やっていないしやる気もない。このサイトのウリは永らく Google とかに捕捉される事だ。最新情報の発信なんてのは他の方に任せて、自分は身の丈に合わせてまったりとやるつもり。


10/09/26

フロントエンドとかバックエンドとか
 "エンバカデロが提唱する「クラウド時代のソフトウェア開発インフラ」"にある下の方の図を参照。何か違和感が。Android への対応を MonoDroid で行うのなら、Java バイトコードへ変換する必要はないんでねーの?Prism (.NET) の話だよね?ちなみに、この逆の技術 (Java to .NET) は Blackfish SQL で用いられている。


10/09/27

Delphi XE で利用可能な Delphi 7 について
 アナウンスがあったように、Delphi XE で利用可能な Delphi 7 の日本語版がダウンロードできるようになりました。利用方法は "RAD Studio XE, Delphi XE, C++Builder XE, Delphi Prism XE 旧バージョンのライセンスの取得方法について" を参照の事。

"Delphi 7" そのものに関する情報
 こちら をどうぞ。それから簡単な注意点を。

 詳しくは、"Delphi 7 / 7.1 アップデータ""Delphi 7 / 7.1 追加ダウンロード" を参照の事。

delphi7はupdateを当てるとコンパイラ?に何か不都合が起きるので、コピーしておいた物を復帰するというようなテクニックが無かったか?(ran_bousyo)
 QC#8695 ですね。詳細はこちら (delwiki) にあります。

「古いコンポーネントを最新版の Delphi で使いたいのなら、作者に Delphi プレゼントしてみたら?」
 忘れていたデブキャンネタ。"古いコンポーネントの作者" という事は、昔は Delphi ユーザだったって事なので、少なくとも "特別アップグレードキャンペーン" の対象となりますわね。

 Delphi が \68,000 なら、外注さんとしての人件費に換算するといいとこ 2 ~ 3 日分でしょう?古いコンポーネントの対応に社員使うのと \68,000 円を天秤にかけてみれば、大抵 "Delphi プレゼント" の方が安いっしょ。\68,000 で外注として使えると考えたらよくね?要望も出しやすいんだし。まぁ、もちろん作者が乗り気である事が前提だけどね。

 Delphi XE は Delphi 2007 も利用可能なので、ANSI / Unicode どっちも検証可能な点がこのアイデアの元になっております。あ、「こうやって更新されたコンポーネントの配布は許可しない」なんてな、ケチくさい事は言いっこナシの方向でお願い致しますね。


10/09/29

出る出る詐欺?
 出る出る言いながら Dell はおろか HP も出しやがらなかった "スレート PC" ですが、オンキヨーからスレート PC が発売されるようです。

 世の中には 「スレート PC で Windows 7?ありえねー」とか言っちゃう "ヴァカ" が居ますが、現状その真価を発揮できるのは Windows 7 だけなのですよ。何故って?

 だからですよ。オンキヨーの製品 で惜しいのは GPS が付属しない事ですね。GPS があれば "ロケーション API" まで使えたのに...。

 ツッコミ入れられるのは承知で言っちゃいましょう...「時代が Delphi に追いついた」 と。「iPad のような操作が出来るアプリがない」とかネガティブな意見が見られる "スレート PC" ですが、「無いものは作る」 というのが、パソヲタのモットーだったハズ。それが比較的簡単に実現可能なのが Delphi XE (つか、2010 以降) なのです。プロセッサが比較的非力な点も Delphi にとっては逆にアドバンテージとなりますしね。

 エンバカさんも "スレート PC バンドルセット" とかのキャンペーンやればいいのに (逆でもいいけど...)。とってもアピール (セールス) ポイントが解りやすい組み合わせだと思いませんか?営業さん (?) も売りやすいと思うのですが?

 Delphi 2010 のスニークプレビュービデオの一つに、"タッチベースのユーザーインタフェイスでキーボード操作から解放!" ってのがありますので、こちらをご覧頂けると創作意欲やアイデアが沸いてくるかもしれません。

早期バージョンアップ申し込みキャンペーン
 RAD Studio / Delphi / C++Builder 2006~2010 登録ユーザ向けのキャンペーンです。明日、2010/09/30 が申し込み期限 となっています。対象ユーザが 1~2005 の "XE Professional 特別アップグレードキャンペーン" は、2010/12/25 なので、お間違えなきよう。

もう一つ
 "スレート PC" が発売されるとなると、Delphi の機能 (これに関しては C++Builder の方が楽かな?) として欲しくなるのが "拡張現実 (AR)"。"スレート PC" には大抵 Web カメラが搭載されている (カメラの向きを変えられるといいのだが...) ようですから、"センサー/ロケーション API + AR" の組み合わせはイロイロな可能性を持っていると思います。「ねー、フォーラムエイトさん?」...と話題を振ってみる。

 「寧々さんは俺の嫁」 ってなヒトにも大人気かと (w

オンキヨー TW317A5 / TW217A5 / TW117A4
 AR もやりたいのなら TW217A5 が良さげ。背面にも Web カメラがあるので合成結果を確認しやすいし、面白い事ができそう。AR やらないのなら、TW317A5 かな?画面広いし、USB ポートも 2 つ使える。

 TW117A4 には USB ポート× 2 に加え、有線 LAN があるので評価実験機にいいと思う。但し、この機種は SSD ではなく HDD なので "3軸加速度センサー" が宝の持ち腐れっぽい (常用は厳しいと思う)。余ってる SSD を持ってて尚且つ換装できるのなら話は別だけど。いっそセンサー系はスッパリ諦めて、KIOSK 端末として使うのならアリかも。予約受け付け用端末とかに使えそうな気がする...安価だし。


 BACK   古いのを読む   新しいのを読む