<?xml version="1.0" encoding="UTF-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en">
<title>blog::楓</title>
<link rel="alternate" type="text/html" href="http://blog.kaede-software.com/rss_reader/" />
<modified>2005-12-20T21:53:36Z</modified>
<tagline></tagline>
<id>tag:blog.kaede-software.com,2005:/rss_reader//3</id>
<generator url="http://www.movabletype.org/" version="3.0D-BETA-ja">Movable Type</generator>
<copyright>Copyright (c) 2005, Takenori</copyright>
<entry>
<title>ページの移動</title>
<link rel="alternate" type="text/html" href="http://blog.kaede-software.com/rss_reader/000485.html" />
<modified>2005-12-20T21:53:36Z</modified>
<issued>2005-02-26T17:18:27Z</issued>
<id>tag:blog.kaede-software.com,2005:/rss_reader//3.485</id>
<created>2005-02-26T17:18:27Z</created>
<summary type="text/plain">トップページはこのページへ移動しました。 このブログは更新されません。 今後は上記ページを参照してください。...</summary>
<author>
<name>Takenori</name>
<url>http://www.kaede-software.com/</url>
<email>ikuze@kk.iij4u.or.jp</email>
</author>
<dc:subject>このHPについて雑記</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.kaede-software.com/rss_reader/">
<![CDATA[<p>トップページは<a href="http://www.kaede-software.com/">このページ</a>へ移動しました。<br />
このブログは更新されません。<br />
今後は上記ページを参照してください。</p>]]>

</content>
</entry>
<entry>
<title>シーングラフについてメモ</title>
<link rel="alternate" type="text/html" href="http://blog.kaede-software.com/rss_reader/000484.html" />
<modified>2005-01-29T08:47:47Z</modified>
<issued>2005-01-29T08:45:20Z</issued>
<id>tag:blog.kaede-software.com,2005:/rss_reader//3.484</id>
<created>2005-01-29T08:45:20Z</created>
<summary type="text/plain">GNU 3DKit OpenSceneGraph OpenSG Open Inventor NVSG LAMP Irrlicht...</summary>
<author>
<name>Takenori</name>
<url>http://www.kaede-software.com/</url>
<email>ikuze@kk.iij4u.or.jp</email>
</author>
<dc:subject>気ままに3D</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.kaede-software.com/rss_reader/">
<![CDATA[<p><a href="http://www.fsf.org/software/gnu3dkit/gnu3dkit.html" target="_blank">GNU 3DKit</a><br />
<a href="http://www.openscenegraph.org/" target="_blank">OpenSceneGraph</a><br />
<a href="http://sourceforge.net/projects/opensg" target="_blank">OpenSG</a><br />
<a href="http://www.sgi.co.jp/visualization/inventor/" target="_blank">Open Inventor</a><br />
<a href="http://developer.nvidia.com/object/nvsg_home.html" target="_blank">NVSG</a><br />
<a href="http://lamp.sourceforge.jp/" target="_blank">LAMP</a><br />
<a href="http://www.zgock-lab.net/irrlicht/index.htm" target="_blank">Irrlicht</a><br />
</p>]]>

</content>
</entry>
<entry>
<title>こまごまとした事</title>
<link rel="alternate" type="text/html" href="http://blog.kaede-software.com/rss_reader/000483.html" />
<modified>2005-01-28T19:12:34Z</modified>
<issued>2005-01-28T18:31:45Z</issued>
<id>tag:blog.kaede-software.com,2005:/rss_reader//3.483</id>
<created>2005-01-28T18:31:45Z</created>
<summary type="text/plain">プロジェクトプロパティに基づき、グリッドのレイヤー数とサウンドバッファ数を決定するようにした。 グリッドの横の数をコマンド数+100になるようにした。 変更付加セルでクリックされた場合、その前に有効になっていた位置でメニューが表示されていたのを、表示されないようにした。 シーケンサーが閉じようとされた時、実際には閉じずに、非表示にするだけにした。 メインフォームのボタンからシーケンサーを表示できるようにした。 メインフォームも現在のシーンを保持していたので、そのプロパティを削除。 そのプロパティを参照していたDocModuleのメソッドも削除。 使われていないソースファイルがあったので削除。 シーケンサーが表示される時、ドキュメント(DocModule)に基づきシーンタブとグリッドの左端の項目が設定されるようにした。 これで、プロジェクト生成/保存部分までにやることは、少し大変なコマンド属性のメモリ上での保存とフォームへの反映のみになった。 ちょっとメモ。 コマンド属性を生成する時、レイヤー番号などもきちんと設定すること。 こういった細々とした事はここに書かずに、こまめにコミットしてそこにコメントとして書いたほうが良いかも。 それと、早めにWebSVNの設定をしてブラウザでコメントなどを見やすくしたほうが良さそう。...</summary>
<author>
<name>Takenori</name>
<url>http://www.kaede-software.com/</url>
<email>ikuze@kk.iij4u.or.jp</email>
</author>
<dc:subject>キリカ・グライト開発日誌</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.kaede-software.com/rss_reader/">
<![CDATA[<p>プロジェクトプロパティに基づき、グリッドのレイヤー数とサウンドバッファ数を決定するようにした。<br />
グリッドの横の数をコマンド数+100になるようにした。<br />
変更付加セルでクリックされた場合、その前に有効になっていた位置でメニューが表示されていたのを、表示されないようにした。<br />
シーケンサーが閉じようとされた時、実際には閉じずに、非表示にするだけにした。<br />
メインフォームのボタンからシーケンサーを表示できるようにした。<br />
メインフォームも現在のシーンを保持していたので、そのプロパティを削除。<br />
そのプロパティを参照していたDocModuleのメソッドも削除。<br />
使われていないソースファイルがあったので削除。<br />
シーケンサーが表示される時、ドキュメント(DocModule)に基づきシーンタブとグリッドの左端の項目が設定されるようにした。</p>

<p>これで、プロジェクト生成/保存部分までにやることは、少し大変なコマンド属性のメモリ上での保存とフォームへの反映のみになった。</p>

<p>ちょっとメモ。<br />
コマンド属性を生成する時、レイヤー番号などもきちんと設定すること。</p>

<p>こういった細々とした事はここに書かずに、こまめにコミットしてそこにコメントとして書いたほうが良いかも。<br />
それと、早めにWebSVNの設定をしてブラウザでコメントなどを見やすくしたほうが良さそう。</p>]]>

</content>
</entry>
<entry>
<title>シーン周りを整備</title>
<link rel="alternate" type="text/html" href="http://blog.kaede-software.com/rss_reader/000482.html" />
<modified>2005-01-28T18:20:11Z</modified>
<issued>2005-01-28T18:04:30Z</issued>
<id>tag:blog.kaede-software.com,2005:/rss_reader//3.482</id>
<created>2005-01-28T18:04:30Z</created>
<summary type="text/plain">シーンの追加/削除/名前の変更が行えるようにした。 Enterキーでメニューを表示できるようにしようとしたら、メニュー項目決定のEnterで再びメニューが表示されてしまい、かなり使いづらい。なんか、前も同じ事やったような・・・。で、諦めた気がする。 でも、今回はいい方法を思い付いた。単に、Enterではなくスペースキーでメニューを表示させると言うだけのことだが。 で、そのように実装。 いい感じ。 直近でやることをメモ。 プロジェクトプロパティに基づき、レイヤー数を変更する。 コマンド属性のメモリ上での保存とフォームへの反映。 現在固定になっているグリッドの横の数をコマンド数に応じて追加する。 プロジェクトの生成/保存部分を作る。...</summary>
<author>
<name>Takenori</name>
<url>http://www.kaede-software.com/</url>
<email>ikuze@kk.iij4u.or.jp</email>
</author>
<dc:subject>キリカ・グライト開発日誌</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.kaede-software.com/rss_reader/">
<![CDATA[<p>シーンの追加/削除/名前の変更が行えるようにした。<br />
Enterキーでメニューを表示できるようにしようとしたら、メニュー項目決定のEnterで再びメニューが表示されてしまい、かなり使いづらい。なんか、前も同じ事やったような・・・。で、諦めた気がする。<br />
でも、今回はいい方法を思い付いた。単に、Enterではなくスペースキーでメニューを表示させると言うだけのことだが。<br />
で、そのように実装。<br />
いい感じ。</p>

<p>直近でやることをメモ。<br />
プロジェクトプロパティに基づき、レイヤー数を変更する。<br />
コマンド属性のメモリ上での保存とフォームへの反映。<br />
現在固定になっているグリッドの横の数をコマンド数に応じて追加する。<br />
プロジェクトの生成/保存部分を作る。</p>]]>

</content>
</entry>
<entry>
<title>EAccessViolation例外</title>
<link rel="alternate" type="text/html" href="http://blog.kaede-software.com/rss_reader/000481.html" />
<modified>2005-01-28T16:33:19Z</modified>
<issued>2005-01-28T16:16:47Z</issued>
<id>tag:blog.kaede-software.com,2005:/rss_reader//3.481</id>
<created>2005-01-28T16:16:47Z</created>
<summary type="text/plain">起動時にEAccessViolation例外が突然発生するようになった。 メンバを直接アクセスしていたのをプロパティ経由にして、参照を使うようにしたのか、ダイアログを追加したぐらいしかやっていないはず。 なんだ？ バージョン管理しているので、戻そうかと思ったけど、また変更を加えるのは面倒なのでとりあえず、ダイアログを自動生成しないようにしてみる。 変わらず例外発生。 プロパティ経由を、メンバ直接アクセスに戻す。 例外が発生しなくなった。 プロパティ経由とメンバ直接アクセスは何か違うのだろうか？ 読み出しの場合、プロパティは単にメソッドを呼び出し、その結果を使っていると思っていたのだが・・・ その読み出し用メソッドは単純に参照を返しているだけ。 よくわからないなぁ。 デバッガで追うと、初期化が完了していない値が返ってきているか、変なアドレスを参照しているみたい。 よくわからんな。...</summary>
<author>
<name>Takenori</name>
<url>http://www.kaede-software.com/</url>
<email>ikuze@kk.iij4u.or.jp</email>
</author>
<dc:subject>キリカ・グライト開発日誌</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.kaede-software.com/rss_reader/">
<![CDATA[<p>起動時にEAccessViolation例外が突然発生するようになった。<br />
メンバを直接アクセスしていたのをプロパティ経由にして、参照を使うようにしたのか、ダイアログを追加したぐらいしかやっていないはず。<br />
なんだ？<br />
バージョン管理しているので、戻そうかと思ったけど、また変更を加えるのは面倒なのでとりあえず、ダイアログを自動生成しないようにしてみる。<br />
変わらず例外発生。<br />
プロパティ経由を、メンバ直接アクセスに戻す。<br />
例外が発生しなくなった。<br />
プロパティ経由とメンバ直接アクセスは何か違うのだろうか？<br />
読み出しの場合、プロパティは単にメソッドを呼び出し、その結果を使っていると思っていたのだが・・・<br />
その読み出し用メソッドは単純に参照を返しているだけ。<br />
よくわからないなぁ。<br />
デバッガで追うと、初期化が完了していない値が返ってきているか、変なアドレスを参照しているみたい。<br />
よくわからんな。</p>]]>

</content>
</entry>
<entry>
<title>WinInetの接続周りの見直し</title>
<link rel="alternate" type="text/html" href="http://blog.kaede-software.com/rss_reader/000480.html" />
<modified>2005-01-28T09:12:33Z</modified>
<issued>2005-01-27T18:10:02Z</issued>
<id>tag:blog.kaede-software.com,2005:/rss_reader//3.480</id>
<created>2005-01-27T18:10:02Z</created>
<summary type="text/plain">WinInetのAPIを調べたら、キャッシュが有効になっていた。 キャッシュが効くと困るので、修正。 あと、接続が常に直接接続となっていたので、レジストリの設定を参照するようにした。...</summary>
<author>
<name>Takenori</name>
<url>http://www.kaede-software.com/</url>
<email>ikuze@kk.iij4u.or.jp</email>
</author>
<dc:subject>開発日誌 for mixi Alert</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.kaede-software.com/rss_reader/">
<![CDATA[<p>WinInetのAPIを調べたら、キャッシュが有効になっていた。<br />
キャッシュが効くと困るので、修正。<br />
あと、接続が常に直接接続となっていたので、レジストリの設定を参照するようにした。<br />
</p>]]>

</content>
</entry>
<entry>
<title>コマンド属性生成部完成</title>
<link rel="alternate" type="text/html" href="http://blog.kaede-software.com/rss_reader/000479.html" />
<modified>2005-01-28T10:04:45Z</modified>
<issued>2005-01-27T17:08:09Z</issued>
<id>tag:blog.kaede-software.com,2005:/rss_reader//3.479</id>
<created>2005-01-27T17:08:09Z</created>
<summary type="text/plain">各コマンド属性の生成部分を一通り作成 シーンの追加、削除、プロパティのメニューだけ作成 シーンの追加を実装するためにシーン周りを少し見直し中。 左クリックのみでメニューを表示していたのを、Ctrl+左クリックで表示するように変更。...</summary>
<author>
<name>Takenori</name>
<url>http://www.kaede-software.com/</url>
<email>ikuze@kk.iij4u.or.jp</email>
</author>
<dc:subject>キリカ・グライト開発日誌</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.kaede-software.com/rss_reader/">
<![CDATA[<p>各コマンド属性の生成部分を一通り作成<br />
シーンの追加、削除、プロパティのメニューだけ作成<br />
シーンの追加を実装するためにシーン周りを少し見直し中。<br />
左クリックのみでメニューを表示していたのを、Ctrl+左クリックで表示するように変更。</p>]]>

</content>
</entry>
<entry>
<title>公開開始</title>
<link rel="alternate" type="text/html" href="http://blog.kaede-software.com/rss_reader/000478.html" />
<modified>2005-01-27T13:42:19Z</modified>
<issued>2005-01-27T13:39:59Z</issued>
<id>tag:blog.kaede-software.com,2005:/rss_reader//3.478</id>
<created>2005-01-27T13:39:59Z</created>
<summary type="text/plain">そこそこまともに動くようになったと思うので、公開を開始した。 公開前に変更＆追加したこと 一部エラーメッセージの変更。 アクセス時にエラーが発生した場合、エラーログを出力するようにした。 設定ウィンドウの表示位置を画面中央になるようにした。...</summary>
<author>
<name>Takenori</name>
<url>http://www.kaede-software.com/</url>
<email>ikuze@kk.iij4u.or.jp</email>
</author>
<dc:subject>開発日誌 for mixi Alert</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.kaede-software.com/rss_reader/">
<![CDATA[<p>そこそこまともに動くようになったと思うので、公開を開始した。</p>

<p>公開前に変更＆追加したこと<br />
一部エラーメッセージの変更。<br />
アクセス時にエラーが発生した場合、エラーログを出力するようにした。<br />
設定ウィンドウの表示位置を画面中央になるようにした。</p>]]>

</content>
</entry>
<entry>
<title>XML データバインドウィザード</title>
<link rel="alternate" type="text/html" href="http://blog.kaede-software.com/rss_reader/000477.html" />
<modified>2005-01-26T18:39:21Z</modified>
<issued>2005-01-26T17:33:23Z</issued>
<id>tag:blog.kaede-software.com,2005:/rss_reader//3.477</id>
<created>2005-01-26T17:33:23Z</created>
<summary type="text/plain">少し前に、XMLを扱うライブラリは何を使おうかと悩んでいたが、C++Builderのものを使うことにした。 そして、ヘルプを見てみるとXML データバインドウィザードなるものがある。 どうやらこれは、XML の構造を表したクラスを作ってくれる機能のようだ。 で、使おうとしたのだが・・・ ない！ ないぞそんなの。 C++Builderのページを見てみるとEnterpriseでのみ使えるようだ。 持っているのはProfessional。 使えないのか。 で、仕方なくTXMLDocumentを直接使おうとコンポーネントのInternetタブを見るが・・・ない！ あれ？ コンポーネントもないのか？ XMLDoc.hpp をインクルードし、自分でnewすると使えるが、newするときにファイル名を指定しないといけない。 で、ファイルがないとエラー。 新しく作るときにはどうするのだろう？ 面倒なのでMSXMLを少し調べてみる。 やはり、OSとIEのバージョン依存だな。 となると、やっぱりXerces C++か？ Xerces C++はApacheライセンスだったな。 日本語訳を読むことにする。 どうやら、Xerces C++はライセンスのテキストファイルを添付し、著作権表示を入れれば使用できるようだ。...</summary>
<author>
<name>Takenori</name>
<url>http://www.kaede-software.com/</url>
<email>ikuze@kk.iij4u.or.jp</email>
</author>
<dc:subject>キリカ・グライト開発日誌</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.kaede-software.com/rss_reader/">
<![CDATA[<p>少し前に、XMLを扱うライブラリは何を使おうかと悩んでいたが、C++Builderのものを使うことにした。<br />
そして、ヘルプを見てみるとXML データバインドウィザードなるものがある。<br />
どうやらこれは、XML の構造を表したクラスを作ってくれる機能のようだ。<br />
で、使おうとしたのだが・・・ ない！<br />
ないぞそんなの。<br />
<a href="http://www.borland.co.jp/cppbuilder/cb6/feamatrix/feature04.html" target="_blank">C++Builderのページ</a>を見てみるとEnterpriseでのみ使えるようだ。<br />
持っているのはProfessional。<br />
使えないのか。<br />
で、仕方なくTXMLDocumentを直接使おうとコンポーネントのInternetタブを見るが・・・ない！ あれ？<br />
コンポーネントもないのか？<br />
XMLDoc.hpp をインクルードし、自分でnewすると使えるが、newするときにファイル名を指定しないといけない。<br />
で、ファイルがないとエラー。<br />
新しく作るときにはどうするのだろう？<br />
面倒なので<a href="http://www.microsoft.com/japan/msdn/xml/default.asp" target="_blank">MSXML</a>を少し調べてみる。<br />
やはり、OSとIEのバージョン依存だな。<br />
となると、やっぱり<a href="http://xml.apache.org/xerces-c/" target="_blank">Xerces C++</a>か？<br />
Xerces C++は<a href="http://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">Apacheライセンス</a>だったな。<br />
<a href="http://www.opensource.jp/licenses/apache2.0.html" target="_blank">日本語訳</a>を読むことにする。</p>

<p>どうやら、Xerces C++はライセンスのテキストファイルを添付し、著作権表示を入れれば使用できるようだ。</p>]]>

</content>
</entry>
<entry>
<title>新着日記もチェック</title>
<link rel="alternate" type="text/html" href="http://blog.kaede-software.com/rss_reader/000476.html" />
<modified>2005-01-26T14:03:51Z</modified>
<issued>2005-01-26T13:53:08Z</issued>
<id>tag:blog.kaede-software.com,2005:/rss_reader//3.476</id>
<created>2005-01-26T13:53:08Z</created>
<summary type="text/plain">新着日記もチェックにも対応した。 インストール後、初回起動時は常に新着日記があると表示。 Alert Windowで「mixiを開く」もしくは「Close」がクリックされたら、見たとみなす。 仕様はそんなところ。...</summary>
<author>
<name>Takenori</name>
<url>http://www.kaede-software.com/</url>
<email>ikuze@kk.iij4u.or.jp</email>
</author>
<dc:subject>開発日誌 for mixi Alert</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.kaede-software.com/rss_reader/">
<![CDATA[<p>新着日記もチェックにも対応した。</p>

<p>インストール後、初回起動時は常に新着日記があると表示。<br />
Alert Windowで「mixiを開く」もしくは「Close」がクリックされたら、見たとみなす。<br />
仕様はそんなところ。</p>]]>

</content>
</entry>
<entry>
<title>コマンドパラメタ用フレーム作成一通り終了</title>
<link rel="alternate" type="text/html" href="http://blog.kaede-software.com/rss_reader/000475.html" />
<modified>2005-01-25T17:01:56Z</modified>
<issued>2005-01-25T16:14:58Z</issued>
<id>tag:blog.kaede-software.com,2005:/rss_reader//3.475</id>
<created>2005-01-25T16:14:58Z</created>
<summary type="text/plain">コマンドパラメタ用フレーム作成が一通り終わった。 改良の余地のあるものもあるが、とりあえずは良しとしよう。 後、シーンタブの切り替えにも対応した。 画像、音、動画はプロジェクトにいったん追加して、そこから選ぶようにした方が良さそうだな。(とりあえず、メディアパレットと呼ぼう) なら、プロジェクト周りを作る必要があるな。 他に最低限必要なものは、 ・シーンの追加と削除 ・プロジェクトプロパティの設定 ・プロジェクトの新規作成/保存 ・スクリプトの生成 ・メディアパレット これだけあれば、とりあえず作ることは可能なはず。 たぶん、まだまだ使いにくいだろうけど。 次は、プロジェクトの新規作成/保存だな。 そういえば、エレメントの生成も途中までしか作ってなかった。...</summary>
<author>
<name>Takenori</name>
<url>http://www.kaede-software.com/</url>
<email>ikuze@kk.iij4u.or.jp</email>
</author>
<dc:subject>キリカ・グライト開発日誌</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.kaede-software.com/rss_reader/">
<![CDATA[<p>コマンドパラメタ用フレーム作成が一通り終わった。<br />
改良の余地のあるものもあるが、とりあえずは良しとしよう。<br />
後、シーンタブの切り替えにも対応した。</p>

<p>画像、音、動画はプロジェクトにいったん追加して、そこから選ぶようにした方が良さそうだな。(とりあえず、メディアパレットと呼ぼう)<br />
なら、プロジェクト周りを作る必要があるな。</p>

<p>他に最低限必要なものは、<br />
・シーンの追加と削除<br />
・プロジェクトプロパティの設定<br />
・プロジェクトの新規作成/保存<br />
・スクリプトの生成<br />
・メディアパレット<br />
これだけあれば、とりあえず作ることは可能なはず。<br />
たぶん、まだまだ使いにくいだろうけど。</p>

<p>次は、プロジェクトの新規作成/保存だな。</p>

<p>そういえば、エレメントの生成も途中までしか作ってなかった。</p>]]>

</content>
</entry>
<entry>
<title>ひたすらコマンドパラメタ用フレーム作成</title>
<link rel="alternate" type="text/html" href="http://blog.kaede-software.com/rss_reader/000474.html" />
<modified>2005-01-24T20:30:49Z</modified>
<issued>2005-01-24T20:25:05Z</issued>
<id>tag:blog.kaede-software.com,2005:/rss_reader//3.474</id>
<created>2005-01-24T20:25:05Z</created>
<summary type="text/plain">imageタグはパラメタが多いのですごいことになってしまった。 グループ化したり、有効/無効で表示/非表示にしたりして、もう少し見やすくしたほうがよさそう。 タブとかにしたほうがいいかなぁ・・・ でも、2時間で6個ぐらい。 あんまり進まないなぁと思ったけど、imageタグに1時間以上とられてる。 パラメタがそんなに多くなければ1時間で5個ぐらい？ まずまずかな？...</summary>
<author>
<name>Takenori</name>
<url>http://www.kaede-software.com/</url>
<email>ikuze@kk.iij4u.or.jp</email>
</author>
<dc:subject>キリカ・グライト開発日誌</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.kaede-software.com/rss_reader/">
<![CDATA[<p>imageタグはパラメタが多いのですごいことになってしまった。<br />
グループ化したり、有効/無効で表示/非表示にしたりして、もう少し見やすくしたほうがよさそう。<br />
タブとかにしたほうがいいかなぁ・・・</p>

<p>でも、2時間で6個ぐらい。<br />
あんまり進まないなぁと思ったけど、imageタグに1時間以上とられてる。<br />
パラメタがそんなに多くなければ1時間で5個ぐらい？<br />
まずまずかな？</p>]]>

</content>
</entry>
<entry>
<title>機能追加＆変更</title>
<link rel="alternate" type="text/html" href="http://blog.kaede-software.com/rss_reader/000473.html" />
<modified>2005-01-24T17:24:45Z</modified>
<issued>2005-01-24T16:59:56Z</issued>
<id>tag:blog.kaede-software.com,2005:/rss_reader//3.473</id>
<created>2005-01-24T16:59:56Z</created>
<summary type="text/plain"><![CDATA[変更項目 接続時のエラーメッセージを詳細に表示するように変更。 Alertウィンドウが自動的に消えないように変更。 ログイン時のレスポンスのリダイレクトURLを認識し、そのURLを読み込むように変更。 その時、boost::regexの正規表現でまたハマる。 &lt;と&gt;は別にエスケープしなくても良いようだ。と言うか、しないようにしないとヒットしない？ 不必要なエスケープを減らしたらヒットするようになった。 チェックサイクルの時間をインターバルに変更。(以前は定期的に実行) 追加機能 チェックサイクルを1分、2分、3分、5分、10分、15分、20分、30分、1時間の中から選択できるように機能追加。 ソース上の変更 設定ウィンドウの各コントロールの設定を、前は呼び出し元が行っていたが、設定ウィンドウが表示される時に、自分で取得、設定を行うように変更。また、同時に設定ウィンドウのプロパティもなくす。...]]></summary>
<author>
<name>Takenori</name>
<url>http://www.kaede-software.com/</url>
<email>ikuze@kk.iij4u.or.jp</email>
</author>
<dc:subject>開発日誌 for mixi Alert</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.kaede-software.com/rss_reader/">
<![CDATA[<p>変更項目<br />
接続時のエラーメッセージを詳細に表示するように変更。<br />
Alertウィンドウが自動的に消えないように変更。<br />
ログイン時のレスポンスのリダイレクトURLを認識し、そのURLを読み込むように変更。<br />
その時、boost::regexの正規表現でまたハマる。<br />
&lt;と&gt;は別にエスケープしなくても良いようだ。と言うか、しないようにしないとヒットしない？<br />
不必要なエスケープを減らしたらヒットするようになった。<br />
チェックサイクルの時間をインターバルに変更。(以前は定期的に実行)</p>

<p>追加機能<br />
チェックサイクルを1分、2分、3分、5分、10分、15分、20分、30分、1時間の中から選択できるように機能追加。</p>

<p>ソース上の変更<br />
設定ウィンドウの各コントロールの設定を、前は呼び出し元が行っていたが、設定ウィンドウが表示される時に、自分で取得、設定を行うように変更。また、同時に設定ウィンドウのプロパティもなくす。</p>]]>

</content>
</entry>
<entry>
<title>コマンド表示部を追加</title>
<link rel="alternate" type="text/html" href="http://blog.kaede-software.com/rss_reader/000471.html" />
<modified>2005-01-22T19:06:17Z</modified>
<issued>2005-01-22T18:59:38Z</issued>
<id>tag:blog.kaede-software.com,2005:/rss_reader//3.471</id>
<created>2005-01-22T18:59:38Z</created>
<summary type="text/plain">ウィンドウ上部にコマンドを表示するようにした。 今までは表示していなかったので、各フレームにどのようなコマンドが設定されているか全然わからなかった。 このことに限らず、実際に使用する時にいろいろと足りないと思うことがありそうだ。...</summary>
<author>
<name>Takenori</name>
<url>http://www.kaede-software.com/</url>
<email>ikuze@kk.iij4u.or.jp</email>
</author>
<dc:subject>キリカ・グライト開発日誌</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.kaede-software.com/rss_reader/">
<![CDATA[<p>ウィンドウ上部にコマンドを表示するようにした。<br />
今までは表示していなかったので、各フレームにどのようなコマンドが設定されているか全然わからなかった。<br />
このことに限らず、実際に使用する時にいろいろと足りないと思うことがありそうだ。</p>]]>

</content>
</entry>
<entry>
<title>Frameとのデータの受け渡し</title>
<link rel="alternate" type="text/html" href="http://blog.kaede-software.com/rss_reader/000470.html" />
<modified>2005-01-22T17:46:14Z</modified>
<issued>2005-01-22T17:30:03Z</issued>
<id>tag:blog.kaede-software.com,2005:/rss_reader//3.470</id>
<created>2005-01-22T17:30:03Z</created>
<summary type="text/plain">パラメータを設定する箇所はFrameを使用しているが、そのFrameとのデータの受け渡しに初めは多重継承によって実現しようと考えていた。 そのFrameを切り替える元となるフォームは、各Frameを保持している。 そして、そのFrameのメソッドを介してデータを渡すようにしようとしていた。 そのため、単純に多重継承したのでは、そのインターフェイスとなるクラスのポインタも保持しなければならなくなる。 それを回避するために、Frame の派生クラスではなく、その親となるクラスで多重継承することにした。 次のような感じ。 class ITagProp class TPropFrame : public TFrame, public ITagProp class TUserFrame : TPropFrame こうすれば、TPropFrame を保持しておくだけで良い。 これでメイクも通りうまくいったかと思ったが、Frameのレイアウトなどを変更しようとしたら問題が発生した。 プロパティが取得できないとかなんとかエラーが出てしまった。 それでも、そのまま無視を選択したらフォームが表示されたのだが、メイクして動かそうとしたらエクセプション。 どうやら、この方法ではダメのようだ。 そこで、Tagプロパティを使って受け渡しをしようと思ったが、FrameにはOnShowなどがないので、Tagプロパティに値を設定しても、それを拾うタイミングがわからない。 良いメソッドがないかヘルプのTFrameを見る。 Dispatch！ そうだ、普通にメッセージでやり取りすればいい。 Frameの切り替えを行う際、Dispatchをコールすることにした。 そして、独自のメッセージを作り、各Frameで受ける。 この方法でうまくいくかどうか実装してみた。 いい感じだ。 初めからこうするべきだったな。 なお、実際のDispatch 部分は、次のようにマクロで定義するようにした。 void __fastcall SetElement(...</summary>
<author>
<name>Takenori</name>
<url>http://www.kaede-software.com/</url>
<email>ikuze@kk.iij4u.or.jp</email>
</author>
<dc:subject>キリカ・グライト開発日誌</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://blog.kaede-software.com/rss_reader/">
<![CDATA[<p>パラメータを設定する箇所はFrameを使用しているが、そのFrameとのデータの受け渡しに初めは多重継承によって実現しようと考えていた。<br />
そのFrameを切り替える元となるフォームは、各Frameを保持している。<br />
そして、そのFrameのメソッドを介してデータを渡すようにしようとしていた。<br />
そのため、単純に多重継承したのでは、そのインターフェイスとなるクラスのポインタも保持しなければならなくなる。<br />
それを回避するために、Frame の派生クラスではなく、その親となるクラスで多重継承することにした。<br />
次のような感じ。<br />
class ITagProp<br />
class TPropFrame : public TFrame, public ITagProp<br />
class TUserFrame : TPropFrame<br />
こうすれば、TPropFrame を保持しておくだけで良い。<br />
これでメイクも通りうまくいったかと思ったが、Frameのレイアウトなどを変更しようとしたら問題が発生した。<br />
プロパティが取得できないとかなんとかエラーが出てしまった。<br />
それでも、そのまま無視を選択したらフォームが表示されたのだが、メイクして動かそうとしたらエクセプション。<br />
どうやら、この方法ではダメのようだ。<br />
そこで、Tagプロパティを使って受け渡しをしようと思ったが、FrameにはOnShowなどがないので、Tagプロパティに値を設定しても、それを拾うタイミングがわからない。<br />
良いメソッドがないかヘルプのTFrameを見る。<br />
Dispatch！<br />
そうだ、普通にメッセージでやり取りすればいい。<br />
Frameの切り替えを行う際、Dispatchをコールすることにした。<br />
そして、独自のメッセージを作り、各Frameで受ける。<br />
この方法でうまくいくかどうか実装してみた。<br />
いい感じだ。<br />
初めからこうするべきだったな。<br />
なお、実際のDispatch 部分は、次のようにマクロで定義するようにした。</p>

<p> void __fastcall SetElement( TElementMessage &amp;mes );<br />
BEGIN_MESSAGE_MAP<br />
 VCL_MESSAGE_HANDLER(WM_SET_ELEMENT,TElementMessage, SetElement);<br />
END_MESSAGE_MAP(TFrame);</p>]]>

</content>
</entry>

</feed>
