Delphi Holic (HopeSeeds blog) 2021-05-30T09:12:47+09:00 「Delphi Holic」は、ホープシーズ製品の紹介、
Delphi、Kylix、Lazarusなどの情報を上げていきます。 JUGEM メールチェックなどで、エラーメッセージ回避 http://delphiholic.hopeseeds.com/?eid=514005 2008-03-18T17:16:44+09:00 2008-03-18T08:32:42Z 2008-03-18T08:16:44Z DelphiのIndyコンポーネントを使いながら、例えば、定期的なチェックを行わなければならない、メールチェック(受信ボックスに何通入っているかだけ把握するたぐい)などをする際、通信障害など起こった時、いちいち、エラーメッセージが出ていてはうざったい。
2点... hopeseeds Delphi Holic
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コンポーネント:FlashEngine http://delphiholic.hopeseeds.com/?eid=509663 2008-03-13T23:56:14+09:00 2010-06-05T17:10:43Z 2008-03-13T14:56:14Z 「FlashEngine」を紹介する。
FlashをDelphi上に展開できるコンポネントだ。
KSDev から、購入できる。(ちょっと、ここはサポートが良くないので注意。マニュアルもそこそこです。)
「FlashEngine」は、ただ、ビューワーの様に見せるだけではない。フラッシュで配... hopeseeds Delphi Holic
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で、色々できるのは、嬉しいことだ。
]]> 大笑い、くそゲー http://delphiholic.hopeseeds.com/?eid=506518 2008-03-11T05:40:13+09:00 2008-03-10T20:51:40Z 2008-03-10T20:40:13Z 久々に、あまりにも大笑いしたので、紹介します。
「ドリームキャスト」の公式サイトを装ったサイト」のページつながりから、「世界中で売れなかったゲーム機ワースト10 」を参照し、懐かしく思って見ていたら、「なぜこんなものを発売したのかわからない史上最悪の... hopeseeds そんな理不尽なぁ
「ドリームキャスト」の公式サイトを装ったサイト」 のページつながりから、「世界中で売れなかったゲーム機ワースト10 」 を参照し、懐かしく思って見ていたら、「なぜこんなものを発売したのかわからない史上最悪のクソゲー「Big Rigs」」 というのを発見、このページの動画リンク(YouTube)を見てみよう。
これはひどい。あまりにもひどさに、プレイヤーが落胆している様が公開されている。これを発売していたとは、まさに、理不尽だな。
車のゲームなのに、建物は通過するし、敵の車はストップしているし、ルールもなきに等しいし、さらに時々、自者が暴れだす始末。昨今のフリーソフトで出しているゲームの方が完成度が高い。
]]> 特定のページが開けない!なんと、コードギアのホームページが開けない・・私のせい? http://delphiholic.hopeseeds.com/?eid=506521 2008-03-10T23:51:46+09:00 2008-03-10T20:52:04Z 2008-03-10T14:51:46Z 最近、コードギアのホームページがまともに開けないのだが、私のマシンのせい?と思い、同じLANのラインで、別のマシンで開いたら・・。開けるではないか。いったい、どういうことだろう。メインマシンで開けないとは、非常に悲しい。きっと、誰かにのろいをかけられた... hopeseeds Delphi Holic コードギアのホームページがまともに開けないのだが、私のマシンのせい?と思い、同じLANのラインで、別のマシンで開いたら・・。開けるではないか。いったい、どういうことだろう。メインマシンで開けないとは、非常に悲しい。きっと、誰かにのろいをかけられたのかも。
ウィルスチェックソフトが、何か制限をかけているのかと思ったが、OFFにしてもだめだった。FireFoxも、IEもだめだし、ずっと、こちらがおかしいと思ってなかったから、半月位、チェックできなかったよ。
こういうの私だけかと思ったら、以下の様なページを発見。
人力検索はてな 今、PCが複数台あるのですが、・・
本当になぞ、なぞである。
]]> 注目しているの WebOS AppsBuilder http://delphiholic.hopeseeds.com/?eid=482723 2008-02-20T21:28:47+09:00 2008-02-20T12:28:47Z 2008-02-20T12:28:47Z 3rdRailを使った関係の仕事の際に、色々と技術を物色していた中で、「WebOS AppsBuilder」というのがあった。
最近、私のメールに、ダイレクトメールが入っていたのだが、バージョンアップも進んでいるようだ。
これ、何かというと、A-Jaxを使った、WEBサーバーの構築... hopeseeds Delphi Holic WebOS AppsBuilder」というのがあった。
最近、私のメールに、ダイレクトメールが入っていたのだが、バージョンアップも進んでいるようだ。
これ、何かというと、A-Jaxを使った、WEBサーバーの構築ができるのだけれど、IDE風だし、使える言語が、BASICやPASCAL、Java、C#でクロスコンパイル機能がある。もちろん、PASCALつながりで、私としても注目大だ。
「 Ajaxアプリケーションの開発を容易にするIDEが年内に登場 」ということで、一昨年、紹介されていた。この時は、高値だったが、今は、10万円程度、無料のデモ版を用意されている。
組み込み型RDBMSエンジン「Firebird」、Webサーバ「Apache」で構成される。Delphi .Net も良いのだが、ライセンスの問題をクリアするには、ターゲットによっては、やはり、こういう構成の方も、お客に進めやすい面もあると私は思うのだが・・。
]]> .tag は何に使う? http://delphiholic.hopeseeds.com/?eid=480725 2008-02-18T23:34:00+09:00 2008-02-18T14:53:59Z 2008-02-18T14:34:00Z Delphiのコンポーネントのほとんどについている。 tag プロパティだが、これ、何に使ってます?
tagプロパティは、Integer型だ。
たぶん、一般的に、ボタンなら、
procedure TForm1.Button1Click(Sender: TObject);
begin
case Tbutton(sender).tag of
1:ShowMe... hopeseeds Delphi Holic
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型の変数に、
などなど・・。やりすぎると、ソースが見えにくくなる。
]]> ウィルスチェックソフトの遷移 http://delphiholic.hopeseeds.com/?eid=479750 2008-02-17T23:48:28+09:00 2008-02-17T17:10:13Z 2008-02-17T14:48:28Z 私のメインパソコンだが、ここ3年の間に、ウィルスチェックソフトを次々変えていっている。
※現在のソフトウェア名を記載しているが当時は違う名前だったかも。
(1)ノートン・インターネットセキュリティ
マシンにインストールされていたが、重かったので・・・
... hopeseeds 開発日記
※現在のソフトウェア名を記載しているが当時は違う名前だったかも。
(1)ノートン・インターネットセキュリティ
マシンにインストールされていたが、重かったので・・・
ちなみに、2008年版は随分と軽くなったよ(比較的だが)
(2)McAfee のインターネットセキュリティ
今は改善されていると思うが、3年前は、急にインターネットが重くなる傾向にあって・・・
(3)Kaspersky
これは良かったね。検出率が良かった。
圧縮ファイルのあるフォルダーを開くと、急に遅くなるのが、気になった。1年の期間を経て、気持ち的にさよなら・・
(4)ウィルスバスター2008
別のマシンに2007版をインストールしていたのだが、2008になって、明らかに動作が軽くなったので、メインにもインストール!
しかし、気になったのは、定期的なウィルスチェックを強いる。しないと警告マークがついてしまう。これだけで気持ち悪い。
(5)ESET Smart Security
今のところ、不満なし。検出率も割りといいという報告が出ているし、何せ、動作が軽い。
さて、もうひとつ、ウィルスチェックソフトを選ぶポイントがある。インターネットなどのアクセスをするソフトウェアを開発していると、ソースを更新する度に、パーソナルファイヤーウォールにひっかかって、アクセスするかどうか問い合わせが出てくる。これは、しかたないにして、 一つに、簡単にファイヤーウォールをOFFにできるかどうか、そして、除外リストなどにアプリケーションのファイル名で登録が可能かどうかがあげられる。それでも、面倒な場合は、「許可する」を選択し続ける訳だが、ウィルスバスターは、ある日、許可する登録数が超えて、これ以上登録できないと出てしまった。いただけませんな。
ここ数年で、ウィルスチェックソフトは、スパイウェアを入れ込んできた。今後は、スパムフィルターを充実して欲しいな。あんまり、おまけ程度しか効き目がないんだよね。
]]> Delphiコンポーネント:ZipMaster http://delphiholic.hopeseeds.com/?eid=477906 2008-02-16T15:14:17+09:00 2008-02-16T06:14:17Z 2008-02-16T06:14:17Z Zipの圧縮・解凍方法は色々あるが、既出のDllを使わないといけないなど、そのDllファイルの著作権でひっかかる。
かといって、Dllなしのコンポーネントは概ね有料だ。
ZipMaster は、DLLは、ソース付きで付属しており、GNUライセンスなので、改変しないでそのま... hopeseeds Delphi Holic
かといって、Dllなしのコンポーネントは概ね有料だ。
ZipMaster は、DLLは、ソース付きで付属しており、GNUライセンスなので、改変しないでそのまま使う分には、利用できる様だ。
実は、ZipMasterを使う前は、一般的なUnZipのDLLを使う方法を取っていたのだが、解凍・圧縮時に出てくる状況表示のウィンドウが、良く見る画面なので、ちょっと、おおっぴらに使えないなと思っていた。
私の愛用の有料コンポーネント TMS Software の中から、TCABFile を使う手もあったが、とても使いよいのだけれども、どうも暗号化ができないので、ちょっと残念だ。
他、色々と使ってみた。得に、暗号化とサブディレクトリ検索で、大体、面倒な手続きになり、開発に時間がかかってしまいそうで、とっかかりにくかった。
ZipMaster は、9つ、デモをソース付きで用意してくれているので、その点は安心だろう。
]]> 第8回 CodeGearデベロッパーキャンプどうだった? http://delphiholic.hopeseeds.com/?eid=477747 2008-02-15T23:56:16+09:00 2008-02-18T13:45:58Z 2008-02-15T14:56:16Z 第8回 CodeGearデベロッパーキャンプに行けなかった私は、その情報をインターネットでしか見られないのだけれども、どうだったですか?
CodeGearの藤井さんのブログ 参照あれ
CodeGearさんのホームページ、何だか見えにく状況なのですが・・。
追記します。... hopeseeds Delphi Holic
CodeGearの藤井さんのブログ 参照あれ
CodeGearさんのホームページ、何だか見えにく状況なのですが・・。
追記します。
DelFusaBlog の方に、詳細なレポートがありました。感謝です。
]]> 第8回 CodeGearデベロッパーキャンプ開催! http://delphiholic.hopeseeds.com/?eid=471883 2008-02-12T01:13:01+09:00 2008-02-11T14:17:32Z 2008-02-11T16:13:01Z 「第8回 CodeGearデベロッパーキャンプ開催!」ということで、2月12日、本日でございます。
あぁ・・。忙しすぎて、ブログもサボるわ、このデベロッパーキャンプにも行けないし。悲しいな。
でも、浮気はしておりません。
昨今も100% Delphiを使って、フル... hopeseeds Delphi Holic 第8回 CodeGearデベロッパーキャンプ開催!」ということで、2月12日、本日でございます。
あぁ・・。忙しすぎて、ブログもサボるわ、このデベロッパーキャンプにも行けないし。悲しいな。
でも、浮気はしておりません。
昨今も100% Delphiを使って、フル・デベロップメントでございます。こんな、仕事をしている人って、なかなか、いないだろうなと思いつつ。
]]> 忙しすぎて・・ http://delphiholic.hopeseeds.com/?eid=471874 2008-02-11T23:12:29+09:00 2008-02-11T14:12:30Z 2008-02-11T14:12:29Z 超・超、忙しすぎて、1ヶ月ほど、サボってました。
テンパッテるってやつです。
でも、ぼちぼち、更新していきます。 hopeseeds 開発日記
テンパッテるってやつです。
でも、ぼちぼち、更新していきます。]]> アップデート情報(3rdRail、RAD Studio 2007) http://delphiholic.hopeseeds.com/?eid=433923 2008-01-13T00:57:11+09:00 2008-01-12T15:57:11Z 2008-01-12T15:57:11Z 年末にアップデートがされていた様なので、紹介する。
3rdRailは、Ver1.01 にアップされた。購入しているユーザーの方は、下記よりダウンロードに移れる。
http://cc.codegear.com/reg/3rdrail
アップデートは3rdRail本体の機能として、持っているのだが、それをや... hopeseeds 3rdRail
3rdRailは、Ver1.01 にアップされた。購入しているユーザーの方は、下記よりダウンロードに移れる。
http://cc.codegear.com/reg/3rdrail
アップデートは3rdRail本体の機能として、持っているのだが、それをやると、ややこしいことが起こる場合があるので、この様な公開されたアップデートの手段の方が安心といえる。
CodeGear RAD Studio 2007 は、去年の12月17日にアップデートが公開されている。まだの方は、下記より、ダウンロードすべし。
CodeGear RAD Studio 2007 December Update
]]> 年末年始、今年も宜しく。いきなりだが、昨今の斎場 http://delphiholic.hopeseeds.com/?eid=427942 2008-01-07T21:17:34+09:00 2008-01-07T12:17:34Z 2008-01-07T12:17:34Z 明けましておめでとうございます。
年末からずっと忙しく、ブログは休んでおりました。
正月は実家(北海道・札幌)に帰っていたのですが、正月に親族に不幸があって、お葬式という事態に・・。全く、余裕のない年末・年始でした。
そこで、おっと思ったことが・・... hopeseeds 開発日記
年末からずっと忙しく、ブログは休んでおりました。
正月は実家(北海道・札幌)に帰っていたのですが、正月に親族に不幸があって、お葬式という事態に・・。全く、余裕のない年末・年始でした。
そこで、おっと思ったことが・・。
札幌の斎場、いわゆる火葬場だが、びっくりする程、システム化されていた。最近はそうなのかもしれないが、親戚一同、こんなの見たことないと言っていたので、少ない類かもしれない。
約30、焼き場があるのだが、氏名の看板は液晶画面。つまり、どんどん運ばれてくるから、切り替えもスムーズだ。また、メインスクリーンがあって、そこには今、どの段階かをリアルタイムで表示される。これらは、各担当者がタッチパネルで、報告している様だった。従業員もシステム化された感じで、なんか、ここまできたら、全てやっておいてよとまで言いたくなる程、流れ作業だ。
最後の別れの場にふさわしいかどうかは別として、こんなところにもシステム化の余地があるものだと、関心してしまった。
紹介しているページがあったので、参考に、参考ページ
意外と、葬儀関係も、IT化の需要はあるものだ。実は、過去に葬儀の記帳システムみたいなものを、受注開発したことがある。
システム化は、サービスをする方もされる方も、負担を少なくするツールと言えるのだけれども、そこに心情が伴うかどうかは、別問題だな。
]]> Delphi ADOを使って、ビットマップなどの画像を保存、取り出し http://delphiholic.hopeseeds.com/?eid=399014 2007-12-20T23:27:20+09:00 2007-12-20T14:27:20Z 2007-12-20T14:27:20Z 年末年始、忙しい。目がまわりそうだ。まさに、師走である。
さて、Delphiを使っていると、若干、互換性に苦しむ内容がある。いや、Delphi Holic としては、断じて、Delphiの仕様が標準に正しいに違いないと疑う余地はないのだが・・。
その一つが、XML。 Delphi7 あ... hopeseeds Delphi Holic
さて、Delphiを使っていると、若干、互換性に苦しむ内容がある。いや、Delphi Holic としては、断じて、Delphiの仕様が標準に正しいに違いないと疑う余地はないのだが・・。
その一つが、XML。 Delphi7 あたりから、MyBASE というのが搭載され、TClientDataSet でXMLを保存できたりできる様になったが、このXMLの仕様と、MicroSoftのXMLパーサーが出力する内容と、若干の違いがあった。
そして、最近、気が付いたのが、データベースのADOコントロールを使って、MDBファイルのデータベースのテーブルに、画像を登録したり、取り出したりすること。
Delphiで終始利用していれば問題ない。しかし、他の手段で、画像を保存すると、たちまち、取り出せなくなる。
ADOの使い方の紹介ページ Delphi-fan
その原因が、ヘッダーにいらない文字が含まされていることだ。
その原因を記載された紹介ページ PeacefulWish
勝手なことすな!と思ったのだが、この余計な部分を取り除くソースを作るのもばかばかしいし、2、30個の内容だったので、全て、画像ファイルとして保存しなおして、それを使うことに・・。
]]> DelphiSpeedUp !! デルファイを高速に・・ http://delphiholic.hopeseeds.com/?eid=390479 2007-12-15T23:24:32+09:00 2007-12-15T14:24:32Z 2007-12-15T14:24:32Z 私のモバイル用のノートパソコンが、古いこともあって、HDDのアクセスが異常に遅くなることがある。もともと、比較的遅い感じがしていたので、HDDそのものという訳ではなく、恐らくマザーボードの方に原因があると思われる。
致命的なのは、Delphiのコンパイルだ。... hopeseeds Delphi Holic
致命的なのは、Delphiのコンパイルだ。少し大きなプロジェクトだと、3、4分も再構築にかかってしまう異常さだ。一度、Delphi関係をすべて、Flashメモリに入れたらどうかなと思っているのだが、そんな中、昔から有名だったのかもしれないが、DelphiSpeedUp というソフトウェアを発見した。
Ver2.7だから、ずいぶん昔からあるらしい。
これを、半ば人柱と思いながら、どうしようもないノートパソコンの環境に入れてみた。対象は、BDS2006だ。
それがそれが、効果テキメン。
つたない英語翻訳で理解したのは、最適化とキャッシングらしいが、何かが良くなった気がする。相変わらず、「再構築」を選ぶと、同じ結果だが、コンパイルは速い。もうダメかと思ったノートパソコンも息を吹き返した。
何せ、自称Delphi Holicは、全てDelphi基準。Delphiが使えないパソコンはごみなのだ! 危なかったな、Va○o 。
私の様な、コンポーネント マニアはちょっと気をつけたし。ソースのないコンポーネントの一部にエラーメッセージが出た。しかし、それはDelphi起動時の話で、ソフト開発においては、問題なく使えた。最適化できなかったのだろう。
]]>