ざつだ ん。 (09/08/01~)

09/08/03

・ は?

> バグを出さない FT に罵倒メールを送っているひとがいるそうだ 

 嘘くせぇ。Weaver-FT では、QC 入れたヒトは 100% フォーラムに書き込みをしている(日本人限定)。逆に言えば QC 入れていないヒトはフォーラムに書き込んでいない。

 ...つまりだ。バグを出していない(QC を入れていない)奴を知ることは不可能なのだよ。"ROM ってる FTer" を知り得るのは "ROM ってる FTer 自身" しか有り得んのだわ。自分が何もしなかった事を正当化するために自作自演しているとしか思えんな。

 今更アリバイ作りのために QC 入れても逆にバレバレなんだけどね。あと、「日本人とは思われない名前で投稿している」とか嘘言うのもやめようね。フォーラムは投稿者の国が判るようになってんだから。

 ま、"罵倒メール"とやらが本当に届いていたとしても、「そりゃ、事実なんだろうから仕方ねーんじゃネーノ?」としか言えないわな。メールの全文晒してみたらどうだい?僕のトコロに罵倒メールが来ていないのは、僕がバグ出ししている証拠でいいのかな...(´ー`)y-~~>オサーン。

・ 人違い
 私は戸田氏でも、KHE00221氏でも、pcode氏でもありません。同様にtotonica氏はdelfusa氏ではありません。FDELPHI のログにも DEKO って名前があるでしょうが。

・ Weaverプレビュー会
 3日後ですね。私は FTer ですから東京に居たとしても参加する意味はないですね。その日に東京に居て、ブログ持ってる Delphi/C++Builder の有名人で、なおかつ FT に参加していないとなると、参加者はかなり限られてしまいますな。下手すりゃ定員割れしそうです。

 確実に参加するのが分かっているのは

 ですね。ふーさんはどうされるのかな?行ってもらいたいなぁ...。

 いずれにせよ、僕は FTer なので Weaver に関する事をここでベラベラ喋る事はできません。Weaverプレビュー会 に行かれた方はご自身のブログで忌憚の無い意見/感想を書いて頂けるとよろしいかと思います。

・ RANさんトコ
 とりあえず、"お疲れ様でした"。

・ は?(その2)
 そりゃ、メールは晒せないよな?"FTerからのメールというのが判る" という事は、送り主を FTer の誰かに仕立て上げなきゃならん。ところがだ、"ROM ってる FTer" を知り得ないのだから、そうなると "送り主を QC 入れてる FTer にする" しかないわなぁ?誰にすれば辻褄合うんだろうな?


09/08/04

・ ちょっとマテ!
 Weaverプレビュー会 も近いというのに "RADically Reduce Development Time with RAD Studio 2010" にて、IDE機能のプレビューが公開されている。公開された機能に関しては発言できるルールだったと思うので、この際喋ってみる。

 他にも "クラスエクスプローラ" や "デバッガスレッドコントロール" 等が紹介されている。

・ ちょっとマテ!(その2)
 "RAD Studio 2010 Preview Center" にカウントダウンが表示されているが、"残り20日?" いやいやいやいや、それはどうなのよ?本気?これは発売日なの?それとも...?

・ 出鼻を挫かれた方たちへ
 "ヒゲのおじさんたちに美味しいトコロを持っていかれてしまった Weaverプレビュー会 に参加される方" へのヒント。

 これで何かが見えてくるハズ。実際に触れる機会があれば、の話だけどね。プレビューサイトの次回更新は 08/11 で、尚且つ "タッチ&ジェスチャ" の話なので、うまく行けば出し抜ける(?)と思います。今日の雑談をよく読むと...。


09/08/05

・ "RAD Studio 2010 Preview Center"のビデオから判ること
 巧みな技(?)で、"言及されている機能以外のスクリーンキャプチャは極力排除されている"ものの、それでも隠しきれていないものがあるようで。

 他にも、ビデオを目を皿のようにして眺めると D2009 にはなかった機能が見つかるかもしれませんね。

・ Weaver の IDE には 古くからの Delphi 使いが泣いて喜びそうな機能 があったような気がしたが、ビデオには別にそんな機能はなかったぜ!
 やっぱりあったんだぜ! > "コンポーネントツールバー"。
 ツールパレット同様に、右側に検索ボックスがあります。コンポーネントツールバー自体を右クリックしてコンポーネントのタブを探すことも可能です。
 旧IDEのように "完全なフローティングレイアウト" にする事が可能になりました(^-^)b

・ Weaver の IDE には TEAD 使いがニヤリとしそうな機能 があったような気がしたが、ビデオには別にそんな機能はなかったぜ!
 やっぱりあったんだぜ! > "ユニットの表示 (Search for unites)"。
 TEAD で言う所の [タブ | タブを選択...] ですね。昔からあった?いえいえ、記事にもあるように挙動が異なるのです。
 IDEインサイト同様に、部分一致でインクリメンタル可能です。現状の Delphi ではインクリメンタルですが先頭一致で、且つ絞込みは行われません。"frmuなんたら" みたいなのを "なんたら" で探すには "frmu" を必ずタイプしなくてはなりませんが、それが不要になったという事です。隣にパス表示が行われるようにもなっていますね(旧来はステータスバー)。

・ Weaver の IDE には Firefox 使いがニヤリとしそうな機能 があったような気がしたが、ビデオには別にそんな機能はなかったぜ!
 やっぱりあったんだぜ! > "検索バー"。
 上下矢印のボタンが何を意味するのかは明白ですよね?

・ "RAD Studio 2010 Preview Center(日本語版)"
 こ、これは、

 なのかーーー!?(参考) サラっと "データビジュアライザは自作できる" と言っているのがミソ。


09/08/06

・ Weaverプレビュー会当日
 海外では EMBT 関係者のブログにも載っていないような事をスクリーンショット付きでブログに書いていたりする Weaver-FTer (誰とは申しませんが) が居たりしますが、ここ数日の Weaver 情報はまさにカオス。先日書いたヒントにあった事はかなりの割合でリークされてしまいました。正直、"EMBT 関係者のブログ見とけ" としか言いようがないですな。こちとら、どこまで書いていいんだかサッパリ判りませんので。

 さて、今日は "Weaverプレビュー会" 当日です。"見てしまったものは仕方がない" と思うので、参加者の方はよーく観察して下さいね。間違い探しだと思って、D2009 の主要な機能のスクショを印刷して持って行ったりすると違いが判るかもしれません。

 私からは、"現在判明している情報の範囲内で当たり障りの無いスクリーンショット" を提供しておきます。カスタマイズすれば "こんなスタイルにもできる"、という事で。

・ ふーさん参加決定!!
 誰だ?遅刻したのは?休憩時間ではカメラの前を "いつものヒトたち" が横切って行った...(^^;A

・ Weaverプレビュー会 内容

 紹介されたのはこんなトコか。詳細な内容については、参加者の方からの詳しいレポートがあると思われます。


09/08/07

・ Weaverプレビュー会
 参加者の皆様、お疲れ様でした。昨日の模様は ライブ録画 で確認する事ができるようになっています(但し、後半のみ)。


09/08/08

・ Delphi 2010 (Weaver)

・ Delphi 2010 (Weaver): スプラッシュ
 D2009 のスプラッシュは何かと不評のようでしたが...

 結構カッチョイイですね。Delphi パーソナリティのみだとアイコンが "赤神殿" ではなく "赤カブト" になります(C++Builderだとまた違います)。"赤カブト" が出てくるからと言って、Delphi で "絶・天狼抜刀牙" が使えるようになる訳ではありませんので悪しからず。

 え?"赤カブト" じゃなく、 "クチビルオバケ" に見える?目がおかしいようなので眼科に行く事をオススメします。

・ Delphi 2010 (Weaver): 言語切り替え (BDSSetLang.exe)
 D2010 では、簡単に言語を切り替える事が出来ます。

 言語切り替えツール ($(BDS)\bin\BDSSetLang.exe) が用意されており、

 簡単に切り替える事が可能です。QC を入れる際にメニューの名前が判らなかったりした時とか、スクリーンショット撮ったりする場合に便利ですね。但し、リアルタイムで切り替える事はできません。言語切り替えツールを使って Delphi 起動前に切り替える必要があります。

 という点がミソです。日英独仏への "エラーメッセージ等を含めた" ローカライズが可能となっています。いかな Unicode 版だとはいえ、VCL/RTLのエラーメッセージ等は各言語版にローカライズされていますので、各言語版特有のエラーメッセージを出さなくするためにはすべてのエラーをトラップしなくてはなりません...それはあまりにも非現実的ですよね。多言語対応にしておいて、クリティカルな内部エラーのみを英語にするといった事ができるようになっています。

 英語版のアプリケーションを作っておいて、VCL/RTLのエラーメッセージが日本語で出ても普通ガイジンサンには読めませんし、下手すれば表示すらできませんからね。グローバリゼーションという意味では重要な新機能です。

・ Delphi 2010 (Weaver): コンポーネントツールバー
 旧IDEのようにコンポーネントをツールバー上に配置できるようになりました。

 カスタマイズを施すことにより、限りなく 旧IDE に近づける事が可能となっています。ガリレオIDEが未だに馴染めないヒトにはぴったりの機能ですね。この機能はただ戻ってきた訳ではなく、右側の検索ボックスでコンポーネントを絞り込み検索できたりします。

 また、旧 IDE では目的のタブがスクロールアウトしている場合、左右のボタンでスクロールさせるか、[右クリック | タブ] で縦に長くなったリストからタブを探すしかありませんでしたが、Delphi 2010 では、右クリック一発で複数列表示のメニューから目的のタブへ簡単にジャンプできるようになっています。

 旧 IDE に近づけるために、画像では "ツールパレット" を表示していませんが、"ツールパレット" と "コンポーネントツールバー" は同時利用可能です。排他ではありません。

・ Delphi 2010 (Weaver): IDEインサイト(F6 または Ctrl+.)
 IDE に備わっている Delphi の機能を、インクリメンタル(部分一致の絞込み) で呼び出す機能です。コマンド形式のランチャみたいなものですが、マウスで辿っていってもOKです。IDEインサイトの詳細に関しては、"RAD Studio 2010: IDEインサイト" をご覧頂くのがよいでしょう。

・ Delphi 2010 (Weaver): ユニットの検索 (Ctrl+F12) / フォームの検索 (Shift+F12)
 D2010 では ユニットの検索 (Ctrl+F12) / フォームの検索 (Shift+F12) が強化されており、絞込み検索が可能となっています。

 現状の Delphi ではインクリメンタルですが先頭一致で、且つ絞込みは行われません。"frmuDBなんたら" みたいなのを "DB" で探すには "frmu" を必ずタイプしなくてはなりませんでしたが、それが不要になったという事です。隣にパス表示/ユニット表示が行われるようにもなっていますね(旧来はステータスバー)。

 地味な機能ではありますが、プロジェクトに大量のユニットを抱えている場合には非常に役に立つ強力な機能です。

・ Delphi 2010 (Weaver): 開き直す
 古くから存在する存在する "開き直す" の機能がカスタマイズ可能になりました。"開き直す" の詳細に関しては、"RAD Studio 2010: ファイル・プロジェクトの再オープン" をご覧頂くのがよいでしょう。

・ Delphi 2010 (Weaver): 検索 (F3/Shift+F3)
 検索です。D2010 では Firefox 等のようにコードエディタ下部に "検索バー" として実装されています。

 古くから要望のあった "逆順検索(Shift+F3)" が実装されています。意外な事に QC 入りしたのはごく最近で、実際に QC に入れたのは totonicaさんです(周知の事実ですので...)。

 検索を行うと、一致する箇所はすべてオレンジ色でハイライト表示されます。カレントは黒です。最後まで検索した後に、また最初から検索するかどうかも指定できます。わざわざ "Ctrl+Home" でユニットの先頭に行かなくてもいいという訳です。

・ Delphi 2010 (Weaver): ファイル検索 (Ctrl+F3)
 ファイル検索です。D2010 では検索するフォルダをグループ化する事が可能です。

 "ディレクトリ(D)" の右側にあるボタンでディレクトリグループを作成できます。作成したグループを "TEST" として名前を付けて保存すると、以降、フォルダの指定に "@TEST" というマクロ文字列が利用可能になります。

・ Delphi 2010 (Weaver): コードフォールディング機能のON/OFF
 今まではコードフォールディング機能(折り畳み)を無効にするにはレジストリを直接操作するしかありませんでしたが、オプションの設定で有効/無効が切り替えられるようになっています。

・ Delphi 2010 (Weaver): オブジェクトインスペクタ
 Booleanの値を持つものは、チェックボックスによる設定が可能になりました。但し、"オブジェクトインスペクタでの一行が一つのプロパティを表しているとは限らない" という点に関しては注意が必要です。

・ Delphi 2010 (Weaver): プロジェクトマネージャ
 ソート機能が付いています。

・ Delphi 2010 (Weaver): DBX

 等がサポートされます。過去のバージョンの Delphi でサポートされている DBX の詳細は "DBX で使える DB のバージョンは?" をご覧下さい。

・ Delphi 2010 (Weaver): Firebird サポート
 Delphi 2010 (Weaver) では、DBX において、Firebird が正式サポートされています。私にとってはかなり嬉しい新機能だったりします。従来ですと、Firebirdを扱うには IBX で無理矢理使うか、DBX で Interbase のドライバを不具合があるのを承知で使うか、サードパーティの コンポーネント/DBXドライバ を使うしかありませんでした。EMBT 純正ドライバで正式サポートされる事に大きな意味があるのです。

 D2009/2010 で、Interbase 2007/2009 を使うサンプルは以下のようになります。

procedure TForm1.Button2Click(Sender: TObject);
var
 DBXC: TSQLConnection;
 QRY: TSQLQuery;
 DataBase: String;
begin
 DBXC := TSQLConnection.Create(Self);
 try
  QRY := TSQLQuery.Create(Self);
  try
   DBXC.LoginPrompt  := False;
   DBXC.DriverName   := 'InterBase';
   DBXC.ConnectionName := 'IBConnection';
   DBXC.GetDriverFunc := 'getSQLDriverINTERBASE';
   DBXC.LibraryName  := 'dbxint.dll';
   DBXC.VendorLib   := 'gds32.dll';

   DBXC.Params.Clear;
   DBXC.Params.Add(Format('user_name=%s',['SYSDBA']));  // User Name
   DBXC.Params.Add(Format('password=%s' ,['masterkey'])); // Password
   DBXC.Params.Add(Format('ServerCharSet=%s' ,['UTF8'])); // CharSet
   DataBase := '127.0.0.1:' +
         IncludeTrailingPathDelimiter(ExtractFilePath(ParamStr(0))) +
         'DATA\DATA.IB';
   DBXC.Params.Add(Format('DataBase=%s' ,[DataBase]));  // Database

   QRY.SQLConnection := DBXC;
   DBXC.Connected := True;

   QRY.SQL.Clear;
   QRY.SQL.Add('Select * From MST_EMPLOYEE');
   QRY.SQL.Add('Where           ');
   QRY.SQL.Add(' NAME = :_NAME      ');
   QRY.ParamByName('_NAME').AsString := Edit1.Text;
   QRY.Open;
   if QRY.IsEmpty then
    ShowMessage('Empty')
   else
    ShowMessage(IntToStr(QRY.FieldByName('CODE').AsInteger));
   QRY.Close;

   DBXC.Connected := False;
  finally
   QRY.Free;
  end;
 finally
  DBXC.Free;
 end;
end;

 同様に D2010 で、Firebird を使うサンプルは以下のようになります。

procedure TForm1.Button2Click(Sender: TObject);
var
 DBXC: TSQLConnection;
 QRY: TSQLQuery;
 DataBase: String;
begin
 DBXC := TSQLConnection.Create(Self);
 try
  QRY := TSQLQuery.Create(Self);
  try
   DBXC.LoginPrompt  := False;
      DBXC.DriverName     := 'Firebird';
      DBXC.ConnectionName := 'FBConnection';
      DBXC.GetDriverFunc  := 'getSQLDriverFIREBIRD';
      DBXC.LibraryName    := 'dbxfb.dll';
      DBXC.VendorLib      := 'fbclient.dll';

      DBXC.Params.Clear;
      DBXC.Params.Add(Format('user_name=%s',['SYSDBA']));    // User Name
      DBXC.Params.Add(Format('password=%s' ,['masterke']));  // Password
      DBXC.Params.Add(Format('ServerCharSet=%s' ,['UTF8'])); // CharSet
      DataBase := '127.0.0.1:' +
                  IncludeTrailingPathDelimiter(ExtractFilePath(ParamStr(0))) +
                  'DATA\DATA.FDB';
      DBXC.Params.Add(Format('DataBase=%s' ,[DataBase]));    // Database

   QRY.SQLConnection := DBXC;
   DBXC.Connected := True;

   QRY.SQL.Clear;
   QRY.SQL.Add('Select * From MST_EMPLOYEE');
   QRY.SQL.Add('Where           ');
   QRY.SQL.Add(' NAME = :_NAME      ');
   QRY.ParamByName('_NAME').AsString := Edit1.Text;
   QRY.Open;
   if QRY.IsEmpty then
    ShowMessage('Empty')
   else
    ShowMessage(IntToStr(QRY.FieldByName('CODE').AsInteger));
   QRY.Close;

   DBXC.Connected := False;
  finally
   QRY.Free;
  end;
 finally
  DBXC.Free;
 end;
end;

 接続パラメータ以外はほぼ同じですね。UTF-8 なデータベースで 4バイト文字は通りますし、ちゃんとパラメータも使えます。IBX と同じような使い方ができるので、Delphi2010 以降で Firebird を扱う場合には DBX を使うのがいいでしょうね。

 "IBX + Firebird" も引き続き使えますが、Firebird の正式サポートは DBX4 のみですので、積極的に使うメリットはあまりないかもしれません。"配布物が少なくて済む"、"構造上ボトルネックが最小で済む" という利点はあるのですが、逆に "DataSnap で利用できない" というデメリットもあります。

 独自ビルド版 IBConsole でデータを表示してみた所です(Weaver でコンパイルされています)。このデータは DBX を使って書き込んだものです。

・ Delphi 2010 (Weaver): Gridコントロールのテーマサポート
 Grid 系のコントロールは Windows 標準のコントロールではないため、テーマサポートというのは多少語弊があるのですが、Grid 系のコントロールでテーマにマッチした描画が行われるようになりました。上の IBConsole の画像でも何気に DBGrid がテーマでキレイに描画されていますね(^-^)b

 従来の Delphi で Grid 系のコントロールをテーマで描画するには "コントロールをテーマでオーナードロー" が参考になると思います。

・ Delphi 2010 (Weaver): Action
 わざわざ、ActionManagerをダブルクリックしなくとも、Actionプロパティから新規作成できるようになっています。

 TAction にアイコンが指定してあると、ご覧の通り視認性が格段に向上します。

・ Delphi 2010 (Weaver): Date
 Date型のプロパティではカレンダーによる日付指定が可能になっています。

・ Delphi 2010 (Weaver): TWICImage
 "Windows Imaging Component (WIC)" をラッピングしたクラスが用意されており、既存の BMP/WMF/EMF/JPEG/GIF/PNG とは "別系統で" BMP/PNG/ICO/JPEG/GIF/TIFF/HDP が扱えます。但し、この機能は Windows に依存しますので、XP SP3 以降が必要となります。

・ Delphi 2010 (Weaver): TDirect2DCanvas
 Windows 7 からの新機能です。アンチエイリアスを有効にして描画できたり、画像の回転を簡単に行うことが可能で、さらには描画のパフォーマンスも向上します。その破壊力は、"Direct2DとGDI、描画速度の違い(動画)"で確認する事ができます。

・ Delphi 2010 (Weaver): マルチタッチ
 Windows 7 からの新機能です。この機能を使うには、マルチタッチ対応ディスプレイが必要となるため、当サイトでは詳しく説明はしませんが、"RAD Studio 2010 Preview Center" にて、08/11 にビデオが公開されます。是非そちらをチェックしてみて下さい。この機能ばかりは動画で見ないとピンと来ないと思います。

・ Delphi 2010 (Weaver): TTouchKeyboard
 Windows 7 の機能とは別の、既存のタッチディスプレイでも使える仮想キーボードコントロールです。もちろん、マウスでも使えますし、XP等で動作させる事も可能です。プロパティで、通常キーボード/テンキーを切り替えられます。

 TTouchKeyboard を 2枚貼ってフルキーボードにしてみました。キーの色等はカスタマイズできます。独自のキー配列のキーボードは "努力と根性" があれば多分作れます。50音キーボードなんかも作れるかもしれませんね。DVORAK配列とか、親指シフトとか、PC-98とか...。

 ...タッチ対応のディスプレイをを二台縦に配置して、下のディスプレイに TTouchKeyboard を配置すれば、キーボードもマウスも要らない "超巨大な Nintendo-DS ライクなPC" が...はいはい、言ってみただけです(^^;

 ...イヤマテ、ワイドディスプレイを使えばフルキーボードも夢じゃ...はいはい、言ってみただけです(^^;

 ...このキーボードでIDとパスワードを入力するのか、"JOHN" と "ADA" だったかな...はいはい、言ってみただけです(^^;

・ Delphi 2010 (Weaver): ジェスチャ
 "RAD Studio 2010 Preview Center" にて、08/11 にビデオが公開されますので、是非そちらをチェックしてみて下さい。この機能も動画で見ないとピンと来ないと思います。Windows 7 からの新機能である "Aeroシェイク" 等は Delphi アプリケーションでも普通に動作します。

 標準のジェスチャの他にも、独自のカスタムジェスチャを登録して利用する事が可能です(殆どの場合、標準ジェスチャで事足りるでしょうが)。カスタムジェスチャは座標を...なんて面倒なことをする必要はなく、マウスの動作をキャプチャ可能です。また、設計時だけではなく、実行時にカスタムジェスチャを登録するためのコンポーネントも用意されています。ジェスチャの感度も変更可能です。

 ジェスチャのイベントは TAction が引き受ける形になりますので、アプリケーションの機能が TActionManager で管理されるような作りになっていると、ジェスチャ対応が比較的簡単になります。

・ Delphi 2010 (Weaver): データビジュアライザ
 TStringList/TDateTime 型の変数はビジュアル的に中身を見ることが出来ます。以下は TStringList と TDateTime のビジュアライザです。

 これらのビジュアライザは "Open Tools API (OTA)" を使って実装されています。コンポーネントエディタのような感じで、ユーザが独自のビジュアライザを作成する事も可能になっています。ビジュアライザはオプション設定で ON/OFF が可能です。

・ Delphi 2010 (Weaver): コードフォーマッタ(Ctrl+Alt+F)
 他人が書いたソースコードが見難い場合にはソースコードフォーマッタで一発修正です。コードフォーマットの細かいルールはオプションで変更可能です。

・ Delphi 2010 (Weaver): バックグラウンドコンパイル
 バックグラウンドコンパイルも可能になっていますが、この機能はむしろ C++Builder で重宝される機能だと思われます。

・ Delphi 2010 (Weaver): スレッドデバッグ制御
 スレッドにブレークポイントを張る事により、特定のスレッドのみをデバッグ可能になっています。

・ Delphi 2010 (Weaver): RTTI
 RTTI に関しては "Delphi 2010: RTTI新機能を試す" をご覧下さい。ORマッパが柔軟に記述できそうな感じです。この辺りは使い込んでみないと解らないかもしれませんね。

・ Delphi 2010 (Weaver): まとめ
 Delphi 2010 は Delphi 2009 の "正常進化版" といったトコロですね。旧IDEとほぼ同じ外観にできる事も相まって、特に "Delphi 7" 以前をお使いの企業ユーザ にオススメな製品だと思います。Unicode 関連は D2009 でこなれてきていますし、情報も増えてきました。Unicode版 Delphi へ移行するいい機会ではないでしょうか。

 え?「クラスエクスプローラは紹介しないのか?」 って?やだなぁ、Delphi では 2009 からありますってば。

 駆け足で "Delphi 2010 (Weaver)" の機能を紹介しましたが、紹介できていない部分もあります。紹介できなかった箇所については、RTM 後、体験版等が入手できるようになってから紹介したいと思います

 「"C++Builder 2010" は?」...えーと、うーんと、A7M さんにお願いしておきます...(^^;A

 See Also:


09/08/11

・ ヒント
 てってってー♪...じゃなくてだな。"Ad[es]で*ndroidを以下略" を観ると、Delphi 2010 のタッチ&ジェスチャで何かやりたくなるような気がしないでもない。

 "RAD Studio 2010 Preview Center" でタッチ&ジェスチャのデモが出てるので、視聴してみるといいかも。このビデオには僕が "その仕様はどうなんだろう?" と思っているシーンが映っているのだけれど、ビデオを観て何も思わなかったのであれば僕の取り越し苦労だったかのもしれない。

・ dbExpress Driver for Firebird
 D2010 のものではないサードパーティ製 DBX4 ドライバ。無償(寄付は歓迎)。D2007/2009対応らしい。作者はマレーシアの Chau Chee Yang氏。"estream software" という会社の方のようだ。

 検証はしてないので詳しい性能は解らないが、Firebird 接続の選択肢が増えたことは素直に喜ぶべきことだと思う。サポートは Googleグループの "dbExpress Firebird" で行われるようなので、このドライバで何かの不具合を見つけたらフィードバックを行う事が可能となっている。

 EMBT のフォーラムで普通に彼の名前を見かけるので(3桁以上投稿していれば嫌でも目に付く)、"詳細不明" はともかくとして "出所不明" とまで言われるようなモノではないと思う。

 このドライバは DBX4 用であるため、DBX3 な BDS2006 では動作しないようだが、彼にコンタクトを取れば "DBX3 用のドライバ" をくれるとの事だ。但し、この DBX3 ドライバはもはやメンテナンスされておらず、"As Is" で使う必要がある。

・ delfusa氏
 フォーラムエイトさんのシミュレータに関して面白いことをやってくれたようですな...ネタは上がっておりますぜ。

・ FON、NASにもなるWi-Fiルータ『La Fonera 2.0』 - プラグインで機能拡張も
 NAS機能まであれば、デフォルトの状態でも面白い事ができそう。OpenWrt が使えそうなので、いじろうと思えばもっといじれるみたいだ。


09/08/12

・ 今更ながら無償版の DB
 本当に今更ですが、無償版の DB を紹介。

 他にも無償の DB がありますね。  "Developer Edition" は "無償版" と言えるのかアヤしいので別枠で。この無償版 DB のチョイスは Delphi 2010 の DBX4 対応に基づいています。

 MySQL は間違いなく "有償のライセンスを選ばざるを得なくなる" ので、"ちっとは行動しろ!" と言っているのだけれども。

・ ライセンス
 DBX のライセンスも要注意。Delphi 2009 の license.rtf にはこんな事が書いてあります。

4.4 PROFESSIONAL エディションおよび PROFESSIONAL ACADEMIC エディションの DB Express 配備制限に適用される追加条項

本製品の Professional エディションについては、次の制限が適用されます。本契約のすべての条項に従って、Embarcadero は本製品のライセンス ユーザーであるお客様に対し、「DB Express」として識別される本製品の一部を、実行形式に限り、著作物と同じマシン上にインストールされたローカルなデータベースへのアクセスを目的として配布および使用する限定的な使用権を付与します。著作物がインストールされているマシン以外の異なるマシン上に置かれたデータベースと関連させて「DB Express」として識別される本製品の一部を使用してはなりません。

 つまり、Professional 版だとライセンス的には lochalhost 等のループバックによる接続は OK と。しかし、Professional 版である限り、"純正ドライバだろうがサードパーティドライバだろうが同一PC以外への接続は禁止" だという事ではないの?これは、ドライバがリモート接続可能かどうかとはまた別の話になりますわね。

 聞いた事ないですよね?だってこの一文は D2007 以前には存在しないですもの。この文を素直に解釈すると "Professional 版では DBX を使った C/S アプリは作れない" 事になりますよね?例えリモート接続が可能なフリーの DBX4 ドライバがあったとしても。


09/08/16

・ Professional 版での DBX のライセンス
 Tips として別記事に起こしてみました。

・ Delphi 2010 (Weaver): STAFF
 Delphi は昔から AboutBox で "Alt+[T][E][A][M]" ってやると、開発スタッフのリストが見れます。何気にこれを Delphi 2010 でやってみました。すると...

 見覚えのある名前が...(^^;A ここに載ってる有名人は Delphi 2010 を "開発用、保存用、布教用" として、最低でも3つ購入すべし。


09/08/20

・ DocWiki (日本語版)
 一般公開しちゃったのか。それじゃ、ここに書いてあることは喋っちゃって良い訳ね。

 "Delphi 2010 および C++Builder 2010 の新機能" には Weaverプレビュー会 や、このサイトで語られなかった機能が多数載っているので必読。

 但し、現状読むべきは "DocWiki (日本語版)" ではなく "DocWiki (英語版)"。 何故なら、日本語版のトピックは抜け落ちてるものがあるから。日本語版は Weaver の目玉機能であるはずの "IDE インサイト" のドキュメントすら現状では存在しない。 "オンラインヘルプの変更点" には "[ActiveX コントロール ウィザード]のヘルプが復活しました。 「ActiveX コントロールの作成」を参照。 " と記述があるのに、日本語版は復活していなかったりして 「これは何のジョークだ?」 とツッコミを入れたくなってしまう。

 ただ、日本語版は英語版をフォローしているだけなので、基本的に不備の指摘は "英語版" の方で行う必要がある。英語版で正しくて日本語版がおかしい場合、同期が済んでいないと考えておいた方がいい。Wiki 形式になっても "日本語で直接書き換えるのは無理" なんじゃないかと思う...各言語で記述がバラバラだったらドキュメントの体を成さないでしょ?各言語版固有の機能だったらともかくとして。

 "VCLリファレンス(英語版)" は...良く言えば、"D2009 相当"、悪く言えば、"何ら進展がない"。構造的には不要なページが大幅に減っている(それこそ数万の単位)ので、とても軽いヘルプにはなっているのだが、VCLリファレンスの約半数のページには内容が無い。"構造的にはよくなったが、トピックがないのは相変わらず" というのは、正直褒められたものではないと思う。どんだけ軽くなっても、内容が無いのなら役に立たない点では変わりはないのだから。

 "以前のヘルプに比べるとよくなった" なんて評価はしてはいけない。何故なら、"Delphi を購入するのが初めてなヒトには比較対象となるものが存在しない" からだ。評価は相対的なものではなく、絶対的でなくてはならないと思う。以前のひどいヘルプを知っているヒトほど 「かなりよくなってるじゃないか、これのどこがダメなんだ?」 なんて評価をしがちだけれど、客観的に考えてみると "リファレンスの半分が使い物にならない" というのは異常な事だよね?家電製品とかでそんな説明書が付属してるのって見た事ないっしょ?

 "「VCL リファレンスの半数が役に立たない」と言うが、良く使われるトコは網羅している" とか言われるともっともらしく聞こえるかもしれないが、ヘルプは "ワカラナイから調べる" のだから、Delphi にある程度詳しい人間にはやっぱり "使えない VCL リファレンス" なのだ。"リファレンス" だよ?バグか仕様か判断するのはリファレンスに書かれている事が基準になるハズなのに、内容が無い場合には何を基準に判断すればいいのだろうね?

 製品がリリースされる頃までにこれらの問題が解決されている事を切に願っております > EMBT様

・ Win32.Induc
 Delphi 4~7 を狙ったマルウェア。構造からして、未感染なのであれば "$(DELPHI)\lib" にある "sysconst.dcu" をコピーして "sysconst.bak" という名前で保存しておき、それぞれに "リードオンリー属性" を付与してやれば被害の拡大を防ぐことが出来るように思う。感染してたらアウトだけどね。念のために、"$(DELPHI)\source" にある "sysconst.pas" にも "リードオンリー属性" を付与しておけばいいかと。

 心配ならば、"FindFirstChangeNotification / FindNextChangeNotification" を使ってファイル変更を検知する常駐アプリを作ってみては?もちろん Delphi で...(^^;A

・ Win32.Induc
 感染の疑いがある場合の詳細な対策方法。

  1. $(DELPHI)\lib にある sysconst.dcu をバックアップした上で削除。sysconst.bak があればこちらもバックアップした上で削除。
  2. $(DELPHI)\source\rtl\sys に sysconst.pas がなければ Delphi を再インストール&アップデータをすべて当てる。
  3. $(DELPHI)\source\rtl\sys に sysconst.pas があれば 改竄されていない事を確認、改竄されていれば怪しいコードを削除。
  4. Delphi を起動し、[ファイル | 新規作成 | アプリケーション]
  5. uses に SysConst を追加
  6. プロジェクトに "$(DELPHI)\source\rtl\sys\sysconst.pas" を追加。
  7. 再構築。$(DELPHI)\source\rtl\sys に sysconst.dcu が生成される。
  8. $(DELPHI)\lib へ $(DELPHI)\source\rtl\sys\sysconst.dcu をコピー。
  9. sysconst.dcu をさらにコピーし、sysconst.bak にリネーム。
  10. sysconst.dcu と sysconst.bak に リードオンリー属性を付与。
  11. $(DELPHI)\source\rtl\sys の sysconst.pas にもリードオンリー属性を付与。
 こんな感じで対策できるような気がします。こうしてできた sysconst.dcu / sysconst.bak / sysconst.pas をバックアップしておき、Delphi 起動前に書き戻すバッチファイルを書いておくと更にいいかもしれませんね。

 Delphi 2009 以降だと、コンパイル時にプリプロセッサとポストプロセッサを走らせられるので、ここに改竄チェッカを指定しておくという対処方法を取れます...ま、このマルウェアは D2009 には感染しないようですが。

・ Delphi Launcher 2.10
 Win32.Induc 対策をしてみた...おぉっと、勘違いしないように。"Delphi Launcher" が感染していた訳じゃないぞぉ(^^;A

 プリプロセッサを走らせる事ができるようになっているので、SysConst.dcu を Delphi 起動前に書き戻すなんて芸当ができるようになっている。Win32.Induc 対策用のスクリプトも同梱しておいた。詳しくは Extras フォルダ内にある readme.txt を参照の事。


09/08/23

・ Delphi Quiz (totonica)
 totonica 氏がなんか面白そうな事を始めたっぽい。

・ Delphi 2010 (Weaver): 動作環境
 IDE 自体は Windows 2000 では動作しません。Pre-Requied に Windows 2000 にはインストールできない ".NET Framework 3.5" が存在するのと、WIC サポートが "XP SP3 以降" というのが関係していると思う。 "Visual Studio 2008" だって、XP以降でないと動作しないのだから、あんまり気にするヒトは居ないとは思うけれど。

・ Windows 7 と Delphi
 しょうもない話ですが、Windows 7 で IME を ON にして "Delphi" を変換すると、"強いリセ国" と出てきます...何ぞコレ?

 追記: 本当にしょうもないですが、カナが ON になっていました。これは Delphi (以下略)

・ Delphi Launcher 2.20
 25日公開予定。スクショは以下に

 細かいトコロの使い勝手を改善してみました。

・ Win32.Induc
 知り合いから 「Delphi 大丈夫?」という声をちらほら頂いた。まぁ、大抵が「Borland 買収されたって?」と仰る面々なので、説明するのも面倒なのだが "Delphi Launcher" を何のためにリリースしたのか位は察して欲しかったりする。

 ニュースサイトの記事のどれもこれも、"感染対象はサポート期限切れのバージョンである" という事を一言も書いてなかったりするからなぁ...亜種が出ないとも限らないので注意喚起は必要だけれどもね。EMBT さんも、トップページに説明ページの一つも貼ればよかろうに。2010 発売直前でドタバタしてるのは解りますがね...。


09/08/24

・ RAN氏曰く、

ウィルス騒動でも、公式掲示板や日本の公式ブログには、大してコメントは付かないんだな。そこまでオフィシャルをないがしろにしなくてもと思うのだが。

 そうですな。「PostgreSQL がー!」とよく言ってるヒトも 全然協力しない し、「NNTPメンドクセ」と言ってたヒトは Web 形式になっても書き込まない。FAQ や Tips の類はともかく、公式サイトで問い合わせた方がいいものは公式で聞けばいいのに。そして、書き込みが少ない割には Views (閲覧数) は多いのよね。

・ A7M氏曰く、

日本語ヘルプについては言うに及ばず。 まぁ、Wiki化したからチマチマ直していく戦略だろうけど、整備にはもっと時間がかかるだろうな・・・。

 FTer が二人して同意見な訳ですが、誰も DocWiki を見てないのでしょうかね?公式フォーラムでアンケートでも取ってみましょうか...って、誰も参加しないのだろうな。


09/08/25

・ Delphi Launcher 2.20
 リリース。ポップアップメニューにイロイロ増えてます。D2010 に対応。

・ Win32.Induc
 公式な対策方法 (日本語)。

 うーん。普通の使い方ではこれで問題ないような気もするけれど、  D2005~D2010 を亜種から守るという観点からこれやっちゃう場合、リードオンリー属性外すの忘れてアップデータ適用するとマズいような気がします。

・ Delphi のアップデータ
 少なくとも D2007 以降では、自前でいじっちゃったファイルはアップデートされない ので、アップデート前に修復セットアップで元の状態に戻してからアップデートを行わないといけません。

・ RAD Studio 2010
 発売開始。ESD (Electronic Software Delivery = ダウンロード販売) 版 はパッケージ版に比べて 4,000円お得。何気に RAD Studio のバージョンアップは、Enterprise / Architect 版の価格が下がっています。価格一覧はこちら。

・ "いつものページ"
 それなりにできておりますのでご一読下さい。

・ RAD Studio 2010 トライアル版
 製品購入を考えている方は一度トライアル版をお試し下さい。但し、VM 上での評価をお勧めします。これは、評価版をアンインストールした後で製品版をインストールした際に発生する "かもしれない" 障害を回避するためです (2007/2009 等では問題に遭遇した例が幾つか報告されています)。インストールしたらとりあえず、AboutBox で "Alt+[T][E][R][M]" してみましょう(^^;A

・ マルチタッチ動画
 この動画を観れば、何かの創作意欲が湧く...かもしれませんね。

・ Delphi 2010 (Weaver): Direct X
 いや、TDirect2DCanvas という Windows 7 でしか使えない機能限定の話ではなくてですね、

 上記ユニットが追加されております。


09/08/26

・ Delphi 2010 (Weaver): DBX Firebird サポート
 確定情報ですが、Professional 版では Firebird のドライバそのものが提供されません ので、ローカルサーバ接続も不可能です。Professional版で ローカル接続したい場合には、Chau Chee Yang氏 の "dbExpress Firebird" を使うといいかもしれません。リモート接続はライセンス上不可能です。

 "Firebird Embedded Server" を使うのにすら Enterprise 版以上の SKU が必要になるというのでは、勉強用にもなりません。特に日本では Professional 版のユーザが多かったと思いますので、ライセンスの問題も含めて "DBX は死んだも同然" かも知れませんね。少なくとも、Professional 版で見た場合、DB 関連の新機能は無いに等しい 事になります。

 "Firebird サポート" を謳うのは構わないけれど、"Firebird サポート (但し Ent版 以上)" の但し書きがないとフェアじゃないのでは?

・ Delphi 2010 (Weaver): IBX & Firebird
 バグ修正が行われ、Delphi 2009 では UTF-8 接続に "UNICODE_FSS" を用いる必要がありましたが、Delphi 2010 では素直に "UTF8" で接続可能になっています。正式サポートではないのは従来と同様です。

・ Delphi 2010 (Weaver): 動作環境 (追記)
 Windows 2000 にインストールするための "/win2k" というオプションは もはや存在しない と思われます。真偽を確かめたければ、トライアル版を Windows 2000 へインストールしてみるといいでしょう。エラーがボコボコ発生するはずです (件のオプションが有効なら、エラーダイアログを出す必要はないハズ)。それでも無理矢理に先に進められますが、readme.html の動作環境に載ってない OS で無理矢理使った所で、トラブルを解決できなくなるのが関の山だと思われます。

 どうしても Delphi 2010 を Windows 2000 で動作させたい方は自己責任で。但し、その場合 "誰にも相談できないし、すべきではない" という事も加えて記しておきます。


09/08/27

・ Weaver FT 終了
 FTer の方々お疲れ様でした。前回の FT を経験された方は、少なからず "(゚Д゚)ハァ?" と思われるかもしれませんが本当です。それに伴ってかどうか知りませんが、QC 登録時の製品バージョンに 14.0 を指定する事が可能になっています。


09/08/28

・ TEAD ver2.29
 リリース。もうお忘れかもしれませんが、

 上記製品お使いの方は、TEAD をレジストする事なしに利用 (試用ではありません) する事が可能です。

 Delphi パーソナリティが含まれていればいいので、単体の Delphi だけではなく RAD Studio でも利用可能です。

・ A7M氏曰く、

dbExpressとFirebirdの件は、FT中にアンケートを採って欲しかった。

 A7M さんがバラしちゃってますが、要は僕ら (FTer) も RTM 後に知らされた事が多いという事です。"Professional 版の DBX はドライバは提供するけどリモート接続に限られる" という 一貫性のある条件 であれば、納得もするのですがね。

・ totonica氏曰く、

国内的にはProユーザーが多いらしいから、
このニュースを聞いてがっかりする人もいるのではなかろうか。
あと、2007以前のProユーザーは張り切って2010に乗り換えると、
DBXのリモートアクセスがライセンスレベルで禁じられるので、
サードパーティ製ドライバでリモート接続とかしていた人にとっては、
とてつもない損失になる可能性があります。
っていうかDBXを使ったプロジェクトの移行ができないっつーことに。

 「使用許諾ちゃんと読め」と言われればそれまでかもしれないけれど、いきなり(悪いほうへ)条件変更するのはどうかと。DBX に関しては D6~D2007 の間、利用制限は変更がなかった。で、元々 BDP 用だった制限事項を 2009 からは DBX に適用しちゃってるのよね...BDP なくなっちゃったもんねぇ。言い方は悪いけど、これって "騙まし討ち" に近いよね?

 Delphi 2010 はともかく、2009 は "製品を実際に購入するか、体験版をインストールしないと判らない" ライセンス条項変更だったと思う。それに、Web 上の 2009 のライセンス規約は 英語版 しかなかったのだから。

 古いデブキャンの資料なんかには、Professional でサードパーティ製 DBX ドライバを利用し、無料で DB 接続する方法が記載されている。デブキャン資料や古い情報だけ読んでたら知らない間にライセンス違反してた、とかなったりはしないのか?

 何にせよ、同じ SKU で "過去に出来ていたことができなくなる" というのは批判の対象にしかならないと思う。ただでさえ、Delphi 2009 から価格が上昇しているのだからなおさら。Delphi1~Delphi 2007 迄の13年間、Professional 版相当の SKU の値段がずっと据え置きだったのは評価するけどさ。

 ぶっちゃけ、"Visual Studio" のリリーススパンは2年で、Delphi は1年。どちらも10万円の同程度のSKUだったとすると、常に最新版の製品を使いたい場合には1年あたりの経費は2倍になる 事に気付いているのか、いないのか...。

・ Turbo Explorer 2006
 既に DL できなくなりましたが、これで仮に Delphi 2010 相当の Turbo Explorer が出た場合、下手すりゃ、Professional 版の存在意義が危うい気がする (DBX がアレだから)。何をどう差別化するのがいいのやら。

・ 雑談の情報
 いい事も悪い事もどっちも書かないとね...フェアじゃないから。


09/08/29

・ Delphi の Tips

 以上を追加しました。ちょっと古いネタもありますが...。

・ About Delphi 2010 and IBX (Embarcadero Forum)
 「何で IBX で Firebird を正式サポートしないのさ?」と昔から言われている件です。

・ Firebird dbx driver for D2009 (Embarcadero Forum)
 「2009 にはドライバ提供しないの?」という話から、話はそれて RAD Studio 2010 Professional 版のライセンスの話に。

・ Delphi 2010 Satndard Edition $99 download, possible? (Embarcadero Forum)
 「Standard Edition を $99 で DL 販売できるか?」という話です。

・ Turbo Delphi 2006 with Windows 7 RC (Embarcadero Forum)
 Windows 7 で Turbo Delphi が動作しないという話。Explorer とは書いていないので、BDS 2006 も同じ現象が出るかもしれませんね。解決方法は

 このどちらかを行えばいいようです(どっちが正解なのかは不明)。Windows 7 で実際に試したわけではないので備忘録としてメモ。

・ やっぱり
 世界のユーザの意見と日本のユーザの意見って大して違いはないのだな、と実感。

・ Weaver-FT
 Thunderbird で NNTP 接続してフォーラムログを根こそぎ Get しておいた。ついでに、Tiburon-FT のフォーラムログも (NewsGroup ログは持っているので)。


09/08/31

・ 要注意マザーボード
 "ECS G31T-M" このマザーボードは要注意。

 時間の経過と共に症状が深刻化して行き、最後には BIOS すら起動しなくなります。1枚なら個体差で済みますが、結構な数の症例があります。熱暴走に似た現象が起きるためファンの追加を行うと、一時的に改善したような挙動をみせますが、結局はダメになります。タチが悪いのは、その殆どが1年を経過した辺りからおかしくなる事です (多くの場合保証が受けられません)。


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