白 Be 2007 年 7 月

 BeOS 及びパソコン関連の日記です。といっても毎日書いているわけではありませんが(^^;)。タイトルは「はくび(白眉)」と読んで下さい。BeOS が最も優れた OS になってくれたらいいなぁ、などと期待しながら……。
 各日記の日付の部分は、その日記のアドレスへのリンクになっています。他の雑談や日記からこの日記へリンクを張る際の URL 取得用としてご利用下さい。


<< 前の白 Be ] [ 翔星 Be ランド Home ] [ 次の白 Be >>


PR

2007/07/31 Be++Builder 進捗状況

 ソースファイルとヘッダファイルの依存関係を解析する部分がうまくいっていなかったので、再実装。

 リンクまで一通りできるようになった。コアとなる部分の技術的問題がクリアできたので、ぼちぼち形を整えていくか。


2007/07/28 Be++Builder 進捗状況

 コンパイル「だけ」できるようになった。次はリンク。

 早いとことりあえずの形を作りたい。穴だらけの実装のまま突き進み中。


2007/07/26 Be++Builder×GuiBerry メモ

 Be++Builder、まずは BeIDE 並みの機能を実装するのが先だけど、その後のビジュアル開発環境に向けて、momoziro さんと打ち合わせ中。問題が出てきたのでメモ。

 BeOS では複数のビューが同じ名前というのが許されてしまう。同じ名前のビューがいくつもあったらいろいろ不都合が出てきそう。GuiBerry 側で同じ名前を許可しないようにしてくれるとのことで、有り難い。

 ただ、GuiBerry で同名を防いでも、いくつか抜け道はあるので、同じ名前があった場合にどう取り扱うかを決めておかないとな……。


2007/07/24 Be++Builder 進捗状況

 ソースファイルとヘッダファイルの依存関係を解析する部分を実装。仮実装が多いけど。

 次はコンパイル部分の実装。


2007/07/22 現状無いかな……

 オープンソースの管理だけど、ソースコードホスティングサイトを見てみたが、ブラウザでソースコードをアップロードできるところはないみたい。残念。

 ViewCVS(ViewVC に名前が変わったのかな?)がブラウザでのコミットをサポートしてくれたら問題は一気に解決しそうなんだけど。


2007/07/21 タブビューの見た目

 リソースから復元したタブビューは黒枠の立体的でない見た目になってしまうが、一旦ソースコード上で生成したタブビュー(3D 表示される)を表示すると、3D 表示になるようだ。なんだこりゃ。


2007/07/20 Be++Builder 進捗状況

 とりあえず最低限の GUI から作成中。プロジェクトウィンドウにソースコードを登録して、編集できるように……。


2007/07/19 B 機能一覧更新

 機能一覧を更新。Elven Edit を掲載。


2007/07/19 A Elven Edit Ver 4.4

 公開

 カーソル位置の表示や、各種バグフィックスなど。

 結局、謎の WWWWW フォント問題は解決せず……。起動中に Locale 設定が変更された場合、落ちる可能性があります。


2007/07/18 謎の WWWWW フォントスタイル

 Elven Edit で謎の現象。

 get_font_family() および get_font_style() で一連のフォントを得る作業を 2 回繰り返すと、なぜかスタイルの先頭が W で埋め尽くされ、スタイルが 64 文字以上になってしまう。font_style は 64 文字までなので、メモリを破壊し、落ちる。

 テストプログラムで 2 回繰り返しても大丈夫。むー、フォントメニューのフォントを変えている部分がうまくないのか。でも悪そうな所見当たらないんだけどなぁ。

 フォントメニューのフォントを変えずにデバッグ出力見てみるか。


2007/07/16 サイトをクリエイティブコモンズ化

 BeWare はひとまず置いておいて、翔星 Be ランド内のコンテンツにクリエイティブ・コモンズ・ライセンス(表示 - 非営利 - 継承 2.1 日本)を適用した。


2007/07/15 ライセンス探し / 続 

 2 週間以上経ってもクリエイティブコモンズ運営側からの返事は無し。む〜ん。


2007/07/11 オランダ語ロケールファイル

 オランダ語(ベルギー用およびオランダ用)の Elven Edit ロケールファイルを送ってもらったので、BeBits に追加。


2007/07/09 B コマンドラインプログラムの出力をゲット

 やり方は BeDevTalk FAQ に。とりあえずうまくいった。これで、BeIDE みたいに gcc のエラーメッセージをウィンドウに表示できるな。


2007/07/09 A BMessage::SendReply() のテスト

 Be++Builder と GuiBerry の連携には BMessage のやりとりが必要なので、準備として BMessage::SendReply() を試してみた。むー、synchronous なリプライは注意しないとすぐフリーズする……。

●返信待ちのスレッドに返信の必要なメッセージを送るとフリーズ

 何となく理屈は想像できる。返信待ちの間は他のメッセージは処理されず、キューに溜まるだけ。なので返事を待っても待ってもキューにあるまま。お互いフリーズ。返信が不要なのに返信を要求するとフリーズする危険が増大。つまり、返信が不要なら
aReceivedMsg.SendReply(&aReplyMsg, &aReplyOfReplyMsg); ……(1)
ではなく
aReceivedMsg.SendReply(&aReplyMsg); ……(2)
としなければ危険。

 送信側のアプリは、2 つ以上続けてメッセージを送る場合、受け取ったリプライに SendReply(B_NO_REPLY) を返してから次のメッセージを送る方が安全ということだと思う(メッセージのインスタンスが消える時には自動的に B_NO_REPLY が送られる)。そうすれば受信側が (1) のコードを書いていてもリプライ待ちを解除できる。

●リプライが要求されているメッセージは転送できない

 メッセージ受信側が「俺の担当じゃないや」と他のスレッドにメッセージを転送しようとすると落ちる。一旦メッセージを複製しなくてはいけない。

	switch ( oMsg->what ) {
	case 'test':
		aDupli = *oMsg;
		BMessenger(static_cast<BHandler*>(WindowAt(0))).SendMessage(&aDupli, &aReply);
		oMsg->SendReply(&aReply);
		break;
	}


2007/07/08 C Elven Edit Ver 3.9

 ついに正式リリース


2007/07/08 B Basho が動かない / 続 

 B's Recorder GOLD 9 で焼いているが、ディスクアットワンスをやめたら動くようになった。


2007/07/08 A Elven Edit 進捗状況

 環境設定を実装中。


2007/07/07 B Basho が動かない 

 Haiku LiveCD Basho の 7/5 版が動かない

PANIC: vm_page_fault: unhandled page fault in kernel space at 0xe04c0000, ip 0x80091834
と表示されて KDL へご招待。実機にて。


2007/07/07 A Elven Edit 進捗状況

 背景色を設定できるようにした。

 そろそろ正式リリースをしたいな。


2007/07/04 Elven Edit Ver 3.1 Developer Release

 限定公開
 オプションメニューの実装やら、細かいブラッシュアップやら。


2007/07/03 Elven Edit 進捗状況

 オートインデント、文字揃えなどを実装。オートインデントは全角スペースにも対応。HotEdit にも無い機能。

 繰り返しコマンドも実装。直前の動作を繰り返せる。例えば、文字を赤くした後、他の文字を選択して繰り返しすると、やはり文字が赤くなる。Ctrl+Y のショートカットで実行できるので手間が少ない。


2007/07/02 新統合開発環境 Be++Builder

 ZETA にも Haiku にも BeIDE が無くなってしまったので、BeIDE に代わる新しい統合開発環境を作ろうと思う。

 将来的には C++Builder のようなビジュアル開発環境としたい。といってもビジュアル部分を作るスキルは無いのだが、 momoziro さんに GuiBerry を改良して頂いて、こちらのアプリと連携できるようにしてもらえることになった。momoziro さん、ご協力ありがとうございます!

 とりあえず新ソフトの名称は Be++Builder だが、これは開発コードネーム。既に似たような名前のソフトがあるので正式名称は後ほど考案予定。


2007/07/01 Elven Edit 進捗状況

 ワードラップを実装。

 ワードラップの設定は、StyledEdit も HotEdit も "wrap" という属性に書き込む。が、StyledEdit は bool 値なのに、HotEdit は long 値と、微妙に違う。Elven Edit では StyledEdit に合わせて bool にしておいたが、HotEdit で作成されたドキュメントの wrap もちゃんと読み込めるようだ。



<< 前の白 Be ] [ 翔星 Be ランド Home ] [ 次の白 Be >>


最初前先頭次最後ホーム