RECOMMEND
SELECTED ENTRIES
RECENT COMMENTS
  • delphiコンポーネント:祝祭日カレンダーコンポーネント
    pooco (12/26)
  • delphiコンポーネント:祝祭日カレンダーコンポーネント
    hopeseeds (12/26)
  • delphiコンポーネント:祝祭日カレンダーコンポーネント
    pooco (12/26)
  • Delphiコンポーネント:国際化対応コンポーネント IniLang
    hopeseeds (08/22)
  • Delphiコンポーネント:国際化対応コンポーネント IniLang
    Hideo (08/21)
  • 特定のページが開けない!なんと、コードギアのホームページが開けない・・私のせい?
    QQ (07/18)
  • delphiコンポーネント:祝祭日カレンダーコンポーネント
    taha (05/30)
  • delphiコンポーネント:祝祭日カレンダーコンポーネント
    cham (03/27)
  • 第8回 CodeGearデベロッパーキャンプ開催!
    cham (03/27)
  • delphiコンポーネント:祝祭日カレンダーコンポーネント
    ふみちゃん (03/25)
RECENT TRACKBACK
CATEGORIES
ARCHIVES
MOBILE
qrcode
LINKS
PROFILE
OTHERS

03
--
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
--
>>
<<
--

Delphi Holic (HopeSeeds blog)

「Delphi Holic」は、ホープシーズ製品の紹介、
Delphi、Kylix、Lazarusなどの情報を上げていきます。
メールチェックなどで、エラーメッセージ回避
 DelphiのIndyコンポーネントを使いながら、例えば、定期的なチェックを行わなければならない、メールチェック(受信ボックスに何通入っているかだけ把握するたぐい)などをする際、通信障害など起こった時、いちいち、エラーメッセージが出ていてはうざったい。

2点でエラーが出ることがわかった。
(1)スリープから復帰する時に、「例外 Connection Closed Gracefully」が出る。
(2)通信断の時に出る、Socketエラー

まず、(1)は、下のURLに情報があった。
・エラーはないはずなのに 例外 Connection Closed Gracefully が出る
デバッカオプション で言語固有の例外より情報を追加するだけだ。追加してその項目にチェックをはずすと、出なくなった。
try except on E : Exception do でも回避できそうな気がするが、楽なので、こちらを採用。

次に(2)は、下記の様に記述した。
uses IdStack を追加する。

var
 FMsgCount:Integer;
begin
try
try
 if IdPOP31.Connected then IdPOP31.Disconnect;

 IdPOP31.Connect;
  FMsgCount := IdPOP31.CheckMessages;
  Label_MailChk.Caption := '最新メール= '+Inttostr(FMsgCount)+' 件';

 except
  on E:EIdSocketError do
   //エラーが起こった時の処理   
   //if E.LastError=10060 then //HTTPのソケットエラー
   if E.LastError=11004 then //POP3のソケットエラー
  end;
 finally
  //絶対行いたいコードを書く
 end;




 
| Delphi Holic | 17:16 | comments(0) | trackbacks(0) | - | - |
Delphiコンポーネント:FlashEngine
「FlashEngine」を紹介する。
FlashをDelphi上に展開できるコンポネントだ。
KSDev から、購入できる。(ちょっと、ここはサポートが良くないので注意。マニュアルもそこそこです。)

「FlashEngine」は、ただ、ビューワーの様に見せるだけではない。フラッシュで配置したボタンのアクション
「Action Script」で記載されたイベントによって、あるコードを入れることで、Delphiとの連携が可能だ。それがとても簡単である。



上の画像のスライダー、ボタン類は、フラッシュ上で展開されているが、例えば、ボタンを押した時に、Action Scriptで、
on(release)
{
 getURL("FSCommand:Button_Push", 1);
}
とする。Delphiでは、FSCommandイベントに動作を記述する。

procedure TForm1.feFlashPlayer1FSCommand(ASender: TObject; const command,
args: WideString);
begin
 ShowMessage('ボタン押したね'+command+args);
 //command と、argsをパラメーターに渡せる。
end;

後は、指定のフレームへジャンプ、プレイのスタート、ストップは、通常に行える。
現在、Adobeでは、フラッシュを使ったディスクトップアプリケーションが開発できるコンセプトがあるが、慣れ親しんだ Delphiで、色々できるのは、嬉しいことだ。
| Delphi Holic | 23:56 | comments(0) | trackbacks(0) | - | - |
大笑い、くそゲー
 久々に、あまりにも大笑いしたので、紹介します。
 「ドリームキャスト」の公式サイトを装ったサイト」のページつながりから、「世界中で売れなかったゲーム機ワースト10 」を参照し、懐かしく思って見ていたら、「なぜこんなものを発売したのかわからない史上最悪のクソゲー「Big Rigs」」というのを発見、このページの動画リンク(YouTube)を見てみよう。
これはひどい。あまりにもひどさに、プレイヤーが落胆している様が公開されている。これを発売していたとは、まさに、理不尽だな。
 車のゲームなのに、建物は通過するし、敵の車はストップしているし、ルールもなきに等しいし、さらに時々、自者が暴れだす始末。昨今のフリーソフトで出しているゲームの方が完成度が高い。


| そんな理不尽なぁ | 05:40 | comments(1) | trackbacks(0) | - | - |
特定のページが開けない!なんと、コードギアのホームページが開けない・・私のせい?
 最近、コードギアのホームページがまともに開けないのだが、私のマシンのせい?と思い、同じLANのラインで、別のマシンで開いたら・・。開けるではないか。いったい、どういうことだろう。メインマシンで開けないとは、非常に悲しい。きっと、誰かにのろいをかけられたのかも。
 ウィルスチェックソフトが、何か制限をかけているのかと思ったが、OFFにしてもだめだった。FireFoxも、IEもだめだし、ずっと、こちらがおかしいと思ってなかったから、半月位、チェックできなかったよ。

こういうの私だけかと思ったら、以下の様なページを発見。
人力検索はてな今、PCが複数台あるのですが、・・

本当になぞ、なぞである。

| Delphi Holic | 23:51 | comments(1) | trackbacks(0) | - | - |
注目しているの WebOS AppsBuilder
3rdRailを使った関係の仕事の際に、色々と技術を物色していた中で、「WebOS AppsBuilder」というのがあった。
最近、私のメールに、ダイレクトメールが入っていたのだが、バージョンアップも進んでいるようだ。

これ、何かというと、A-Jaxを使った、WEBサーバーの構築ができるのだけれど、IDE風だし、使える言語が、BASICやPASCAL、Java、C#でクロスコンパイル機能がある。もちろん、PASCALつながりで、私としても注目大だ。

Ajaxアプリケーションの開発を容易にするIDEが年内に登場」ということで、一昨年、紹介されていた。この時は、高値だったが、今は、10万円程度、無料のデモ版を用意されている。

組み込み型RDBMSエンジン「Firebird」、Webサーバ「Apache」で構成される。Delphi .Net も良いのだが、ライセンスの問題をクリアするには、ターゲットによっては、やはり、こういう構成の方も、お客に進めやすい面もあると私は思うのだが・・。



| Delphi Holic | 21:28 | comments(0) | trackbacks(0) | - | - |
.tag は何に使う?
Delphiのコンポーネントのほとんどについている。 tag プロパティだが、これ、何に使ってます?
tagプロパティは、Integer型だ。
たぶん、一般的に、ボタンなら、
procedure TForm1.Button1Click(Sender: TObject);
begin
 case Tbutton(sender).tag of
 1:ShowMessage('1 Push!');
 2:ShowMessage('2 Push!');
 3:ShowMessage('3 Push!');
 end;
end;
複数のボタンを全て同じイベントに持って行って、tag番号として、振る舞いを振り分ける。

しかし、tagは、使わなければ、ただのもったいない箱だ。
Delphi7のヘルプには、こう書いてある。
「Tag は,定義済みの意味を持たない Integer プロパティです。Tag プロパティは,開発者の手間を省くために提供されます。追加の整数値の格納に使ったり,コンポーネント参照またはポインタなどの値に型キャストすることもできます。」
意味を持たない・・とさ、でも、もったいないと思う私は、下の様なことにも使っている。

//最初の振る舞いを見分ける。ボタン押下のカウントなど
procedure TForm1.Button1Click(Sender: TObject);
begin
 if Button1.tag =0 then
 begin
  ShowMessage('はじめまして');
 end;
 Button1.tag := Button1.tag +1; 
end;

正直、告白すると、変数として使っちゃったりしている。
(他の人にソースを見せない場合だけど)
他にも、
ShowHint をFalse にした時のHintプロパティを文字列変数に、
逆に、Hintを空にしておいて、ShowHint をBool型の変数に、

TLabel の TransparentをTrue にした時の Colorプロパティ
短い固定のキャプションの時の WordWrapプロパティをBool型の変数に、

などなど・・。やりすぎると、ソースが見えにくくなる。


| Delphi Holic | 23:34 | comments(0) | trackbacks(0) | - | - |
ウィルスチェックソフトの遷移
私のメインパソコンだが、ここ3年の間に、ウィルスチェックソフトを次々変えていっている。
※現在のソフトウェア名を記載しているが当時は違う名前だったかも。
(1)ノートン・インターネットセキュリティ
 マシンにインストールされていたが、重かったので・・・
 ちなみに、2008年版は随分と軽くなったよ(比較的だが)
(2)McAfee のインターネットセキュリティ
 今は改善されていると思うが、3年前は、急にインターネットが重くなる傾向にあって・・・
(3)Kaspersky
 これは良かったね。検出率が良かった。
 圧縮ファイルのあるフォルダーを開くと、急に遅くなるのが、気になった。1年の期間を経て、気持ち的にさよなら・・
(4)ウィルスバスター2008
 別のマシンに2007版をインストールしていたのだが、2008になって、明らかに動作が軽くなったので、メインにもインストール!
 しかし、気になったのは、定期的なウィルスチェックを強いる。しないと警告マークがついてしまう。これだけで気持ち悪い。
(5)ESET Smart Security
 今のところ、不満なし。検出率も割りといいという報告が出ているし、何せ、動作が軽い。

 さて、もうひとつ、ウィルスチェックソフトを選ぶポイントがある。インターネットなどのアクセスをするソフトウェアを開発していると、ソースを更新する度に、パーソナルファイヤーウォールにひっかかって、アクセスするかどうか問い合わせが出てくる。これは、しかたないにして、 一つに、簡単にファイヤーウォールをOFFにできるかどうか、そして、除外リストなどにアプリケーションのファイル名で登録が可能かどうかがあげられる。それでも、面倒な場合は、「許可する」を選択し続ける訳だが、ウィルスバスターは、ある日、許可する登録数が超えて、これ以上登録できないと出てしまった。いただけませんな。

ここ数年で、ウィルスチェックソフトは、スパイウェアを入れ込んできた。今後は、スパムフィルターを充実して欲しいな。あんまり、おまけ程度しか効き目がないんだよね。

| 開発日記 | 23:48 | comments(0) | trackbacks(0) | - | - |
Delphiコンポーネント:ZipMaster
 Zipの圧縮・解凍方法は色々あるが、既出のDllを使わないといけないなど、そのDllファイルの著作権でひっかかる。
 かといって、Dllなしのコンポーネントは概ね有料だ。

ZipMaster は、DLLは、ソース付きで付属しており、GNUライセンスなので、改変しないでそのまま使う分には、利用できる様だ。

 実は、ZipMasterを使う前は、一般的なUnZipのDLLを使う方法を取っていたのだが、解凍・圧縮時に出てくる状況表示のウィンドウが、良く見る画面なので、ちょっと、おおっぴらに使えないなと思っていた。

 私の愛用の有料コンポーネント TMS Software の中から、TCABFile を使う手もあったが、とても使いよいのだけれども、どうも暗号化ができないので、ちょっと残念だ。

 他、色々と使ってみた。得に、暗号化とサブディレクトリ検索で、大体、面倒な手続きになり、開発に時間がかかってしまいそうで、とっかかりにくかった。
ZipMaster は、9つ、デモをソース付きで用意してくれているので、その点は安心だろう。






| Delphi Holic | 15:14 | comments(0) | trackbacks(0) | - | - |
第8回 CodeGearデベロッパーキャンプどうだった?
 第8回 CodeGearデベロッパーキャンプに行けなかった私は、その情報をインターネットでしか見られないのだけれども、どうだったですか?
 CodeGearの藤井さんのブログ 参照あれ
 CodeGearさんのホームページ、何だか見えにく状況なのですが・・。

 追記します。
 DelFusaBlog の方に、詳細なレポートがありました。感謝です。


| Delphi Holic | 23:56 | comments(6) | trackbacks(0) | - | - |
第8回 CodeGearデベロッパーキャンプ開催!
第8回 CodeGearデベロッパーキャンプ開催!」ということで、2月12日、本日でございます。

あぁ・・。忙しすぎて、ブログもサボるわ、このデベロッパーキャンプにも行けないし。悲しいな。

でも、浮気はしておりません。
昨今も100% Delphiを使って、フル・デベロップメントでございます。こんな、仕事をしている人って、なかなか、いないだろうなと思いつつ。

| Delphi Holic | 01:13 | comments(3) | trackbacks(0) | - | - |