[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/08 22:45 / Filesize : 338 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【GUIライブラリ】wxWindowsでのひょーん



1 名前:デフォルトの名無しさん mailto:sage [03/05/06 11:04]
クロスプラットフォームGUIライブラリのwxWindowsについて語りましょう。

本家
 www.wxwindows.org/
dW : Linux : wxWindowsの概要
 www-6.ibm.com/jp/developerworks/linux/010413/j_l-wxwin.html
SunWorld Online:wxWindows――無名だが成熟したGUIツールキット
 www.idg.co.jp/sw/back/200102/20010219_01_report.html
メルマガ
 www.mag2.com/m/0000108320.htm

1はこれからインストールします

296 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/08 22:16]
>>295
 ・・・なるへそ、プログラム部分はASCIIコードで書いて,文字列部分のみをなんとかして
UCS2で書くんですね・・・
・・・・・・やっぱりSJIS使います。後輩に使わせるためにやってるんで・・・・・・

(´-`).。oO(もしや>>295は,コンパイルできなくても書き込む事はできると言っているだけ?)

297 名前:デフォルトの名無しさん mailto:sage [03/07/08 22:18]
>>296
>(´-`).。oO(もしや>>295は,コンパイルできなくても書き込む事はできると言っているだけ?)

ASCII対応のコンパイラにSJISの文字列リテラル渡してはいけない法律はないだろう?二バイト目が"のコードとかだと悲惨だが。


298 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/08 22:29]
>>297
 もちろんSJISはね。問題なのは2バイト目が\の時だったと思うけど。
 でも、UCS2ではASCII文字も非ASCIIコードが割り当てられているから,javacみたいに
コンパイラが対応していないと,コンパイル自体が出来ない。UTF-8では文字化けする。

 とりあえず,>>294の「不可能」っていうのは,gccでコンパイルできないor実行時に
文字化けするという意味ね。

 結局,MinGWで日本語を使うには,SJISを使ってコードを書いて,2バイト目が\な文字の
直後に\を追加するプリプロセッサをかますしか無いのかな。GCCのDevelopmentPlanにも
unicodeサポートは無いみたいだし。

299 名前:デフォルトの名無しさん mailto:sage [03/07/08 22:57]
>>298
お前はSJISを使うプログラムを書くときは全角英数を使用するんですか?

300 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/08 23:13]
>>299
???
 少なくとも文字列定数以外には半角文字っつーかASCII文字を使ってるので
問題ありませんが何か?

301 名前:デフォルトの名無しさん mailto:sage [03/07/08 23:28]
>>300
だろ?だったらなんで俺にけちを付ける?

302 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/08 23:59]
>>301
 え〜っと、けちをつけるってどれのことですか?
 コテハンもIDも無いので判らないのですが。

 というか,私が問題にしているのはunicodeのことで,SJISでは\問題以外は
全く問題ないのですけど,どこからSJISの話に?

303 名前:デフォルトの名無しさん mailto:sage [03/07/09 00:29]
>>290
Sizerベースのwxrceditの方が今は旬みたい。
使い方は知らんけど。

参考はこの辺り。
wxwindowsjp.sourceforge.jp/docs/html/wx/wx21.htm#utilities
wxwindowsjp.sourceforge.jp/docs/html/wx/wx478.htm#xrcoverview

304 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/09 01:06]
>>290
 英語のドキュメントを見る限りでは,普通にincludeしてからごにょごにょって
感じなんだけど・・・今--enable-resourceつけてconfigureし直しているので,
判ったら書き込みなおします。

 なんか--enable-prologしないといけないみたい。・・・もう眠いから、多分明日の
夜くらいになります。

>>303
 そこを見るとXMLつかったリソースもあるみたいですね。
wxwindowsjp.sourceforge.jp/docs/html/wx/wx418.htm
 wxXmlResource::LoadDialogでダイアログ作ってくれたりするみたい。
 まだunder developmentな所が多いけれど,これからに期待です。



305 名前: mailto:sage [03/07/09 01:15]
Unicodeの参考でげす
www.mikeneko.ne.jp/~lab/kcode/uni-encode.html
基本的にUTF-8は8ビット目が常に立っているので安全ですな。
ASCIIとの親和性のために効率落している部分もありますが……

前述の文字コードを変更してのプログラミングの話は、(マトモに使うには)
コンパイラの対応だけじゃなくてOSとかの諸々の環境も考慮する必要が
あるので一概にはいえないと思うけど。

#そもそもライブラリからして8bitクリーンである必要があるし。

306 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/09 01:27]
>>305
 Cの規格にwchar_tが追加されたことを知ったときは喜んでたけど,実際に
使えるのはまだまだ環境がそろいませんね。

 文字列定数の前にLをつけるとUNICODEに変換してくれるというのも,ASCII
コードしか変換してくれなかったら意味が無いし。

307 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/09 02:07]
検索してたらこんなのがヒット
seclan.dll.jp/c99d/c99d03.htm
C99スゲーよ。という事で、これからいろいろ実験します。

308 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/09 19:35]
遅くなったけどunicodeの実験結果

 gccに-std=c99オプションをつけて,\uを有効にしてコンパイル

wchar_t str[] = L"\u3042\u3044";//"あい"のunicode
wprintf( str );
MessageBoxW( NULL , str , str , MB_OK );

 wprintfは実行しても何も表示されず。L"hoge"とかなら表示できたので,
ASCII文字しか表示できないのかもしれない。
 MessageBoxWは成功。ちゃんと「あい」と表示されてる。

 ただし,g++では,windows.hをincludeすることで一緒にincludeされる
rpcndr.hがコンパイルできなくて使えない。

 ということで,現状でも\uを使うことで,unicodeを埋め込んだプログラムを
g++で使うことは可能。選択範囲の文字列を\u形式に変換する機能を持つ
エディタを使えば,簡単にunicodeのwxWindowsアプリを作れる。

 gccが,L""文字列の中のマルチバイト文字列をunicodeに変換してくれる
ようになればもっと楽なんだけどな。せめてUTF-8だけでもいいから対応
して欲しい。


309 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/09 21:00]
追加報告

 gccは,一応文字列の解析に,環境変数LANGを用いてマルチバイト文字列
からunicodeに内部で変換している。(少なくとも今gcc3.3のソースを見た限りでは
ちゃんと変換している部分があった)

 だけどbitwalkのMinGWパッケージに入っているgcc3.2.3ではそれが有効にならない
らしい。この機能はgcc3.2.3でもあるはずだから,configureするときのオプションか
何かでdisableされているのかも知れない。

 これから,MinGWからgccのソースを持ってきて,configure等を確かめてみる。

310 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/09 23:08]
 結局,configureしなおしてもダメでした。というかGCCのスレに同じようなことを
やっている人が・・・鬱だ。

 でも,gcc3.2.3のソースを見ていると,UTF-8からunicodeへの変換をするソースが
#if 0〜#endifでコメントアウトされていたので,これからに期待・・・かな。
 マルチバイト文字列をunicodeへ変換する関数もちゃんと呼ばれてない気がするし。

311 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/10 21:10]
>>290
 結局,あの後configureしなおしてからdialogedをmakeしようとしたんだけれど,DailogEd_
resources.oが無いとかでまだ出来てません。
 だれかダイアログエディタのビルド成功した人いませんか?

312 名前:◆v/.u/aNe9w mailto:sage [03/07/10 23:50]
>>311
うちではビルドできてますよ。
ただ、.wxrの使い方は良くわかりませんが…。
環境
win2k sp4
bcc32 5.5.1
wxWindows 2.4.1 + patch01

>>273
> どうでもいいけど、Topicの「参照(reference)を・・・」というの,C++の参照とかぶる
亀レスですが、これってC++のリファレンスと文書のリファレンスを掛けているような気がしてきました。
”リファレンスを使う際の注意”とすると良いかもしれない。
ご意見くださいませ。
wxwindowsjp.sourceforge.jp/docs/html/wx/wx450.htm#referencenotes

313 名前: mailto:sage [03/07/11 02:41]
>312
いや、これは単純に「この参考資料」程度の意味でしょう。
文章リストの頭にあるわけですし。

あと、
for remaining char * return values〜〜
のところは、
「wxStringはwxWindowsによって参照カウントされるから、char*を(コピーして)
保存しておいてもwxWindowsが勝手に割り当てや削除をしちまうぜ」
ぐらいの意味でしょうね。


314 名前:◆v/.u/aNe9w mailto:sage [03/07/12 03:45]
>>313
ありがとやんす。
”このリファレンスを読む際の注意”に直してきますた。

しばらく、"トピックの概要”の辺りを翻訳してますです。



315 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/12 08:41]
dialogedをコンパイルしてみました。makeは何故か失敗するけれど,dialoged.rcを
windresでコンパイルしてからソースファイル全部をコンパイルしたら動いた。

 で,wxrファイルの使い方。

 dialogedで作ったwxrファイルには,ダイアログの構造を書いたリソースが文字列定数
で書かれています。
 プログラムの中でこれを使うには

#include "hoge.h"
#include "hoge.wxr"
#include <wx/resource.h>

...

wxDialog *dialog = new wxDialog();
::wxResourceParseData( hoge );
dialog->LoadFromResource( (親ウィンドウへのポインタ) , "hoge" );
dialog->ShowModal();

 こんな感じでできます。もちろんこのままだとダイアログの動作を定義できないので,
wxDialogを継承したクラスを自分で作って,hoge.hの中で宣言されている定数等を
使って動作を実装する必要があります。(↑の例だと無意味なダイアログができる)

 詳細は,wx477.htmを見てください。(っていうか訳せよ>俺)




316 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/12 08:48]
P.S.
 サンプルプログラムにresourceってのがあって,そこでダイアログとメニューを
リソースから取り出して使っているので,それを読めばすぐにわかると思います。

 そのサンプルプログラムの中で,__WXMSW__ではリソースを実行時にファイルから
取り込んでいますが,コメントを見る限りWindows用のコンパイラの中に拡張子がwxrな
ファイルのincludeを許さないものがあるかららしいです。

wxrファイルのincludeが出来るのなら普通に使えますし,出来なくても拡張子を
wxrからhに書き換えたらいいだけなので,サンプルプログラムで行っている場合分けは
必要ありません。


317 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/12 20:41]
久しぶりに翻訳
wx461.htmを翻訳しました。
wxwindowsjp.sourceforge.jp/docs/html/wx/wx461.htm

 日本語アプリを作りたい人は参考にして下さい.この機構をSJISで使えば,
9x系でもNT系でも問題なく動作するアプリが作れます.
 このドキュメントより,>>65氏の解説の方が良いので,既出だけどリンクをば
www.geocities.co.jp/SiliconValley-Cupertino/8526/wxWindows/japanese.html

318 名前:◆v/.u/aNe9w mailto:sage [03/07/13 02:19]
wxWindows 2.4.1 on Win32 で gettext で i18n 化して遊ぶサンプルを上げてみますた。
突っ込みプリーズ。
dot-gray.s33.xrea.com/index.xcg?page=%A5%B5%A5%F3%A5%D7%A5%EB%3A%3Aminimal%2Dja

319 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/13 03:19]
>>318
 gettextって,moファイルから入力したあとロケールにあわせて文字コード変換を
行うらしい。

www.gnu.org/manual/gettext/html_mono/gettext.html#SEC149
gettext not only looks up a translation in a message catalog. It also converts
the translation on the fly to the desired output character set.

 っつーことで,poファイルをeuc-jpかUTF-8でエンコードして,プログラムでは
ロケールにSJISをするという実験プリーズ
 明日の昼になって誰も実験してない&暇&気が向いたら私が実験します。

320 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/13 03:55]
というか
www.geocities.co.jp/SiliconValley-Cupertino/8526/wxWindows/japanese.html
ここのメッセージカタログの文字コードで既に書いてあるし・・・
 とりあえず今の私の環境では、iconvを使わずにwxWindowsをビルドしたからUTF-8は
無理でした。
 今度configureしなおしてみます。


321 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/13 08:39]
スミマセン、wx461.htmの翻訳ミスってました。

.poファイルのヘッダで
#, fuzzy
という行があると,文字コードの自動変換が行われなくなります。

このことを知らなくて,Make sure ...の文の訳に見当違いなことを書いていました。
>>318
そのページの.poファイルもfuzzyの行を外した方が良いです.


322 名前:◆v/.u/aNe9w mailto:sage [03/07/13 11:38]
>>321
あーりがとー!
でけました行けました!

んで、別なところで不思議な現象が発生。

2.4.1 with bcc32 で wxLocale を使ったソースを、
FINAL=1でコンパイルしたところ
コンパイルは通るけど、実行するとエラーで止まりまふ。
デバッグと FINAL=hybrid は問題がないのだが…。

他の環境でも、この問題は発生してますでしょうか?

323 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/13 13:30]
>>322
 FINALってのが何か判らないけれど,最適化とかリリースモードという意味なら
g++の-O4で無問題です。

324 名前:◆v/.u/aNe9w mailto:sage [03/07/13 23:40]
>>323
リリースモードのことです。
言葉足らずですいません。
そして、ご回答ありがとうございます。

むぅ、g++は大丈夫ですか…。



325 名前:山崎 渉 mailto:(^^) [03/07/15 10:13]

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

326 名前:デフォルトの名無しさん mailto:sage [03/07/15 19:59]
wxWindowsいいねー
"GTKっぽさ"が嫌いでこの系統のGUIツールキットから引いてたクチとしては
各プラットフォームnativeに近いのは凄くいい
訳やってる人たちもがんばれー

327 名前:デフォルトの名無しさん mailto:sage [03/07/15 20:13]
出来上がり実行ファイルがバカでかくなるんですが、どうすればいいんでしょう
単純にリンカに-sを渡しても、まだずいぶん大きいです

328 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/15 21:29]
>>327
 質問する時はもうすこし環境とか数値とかを出しましょう。

 リンカに-sを渡すという事は,gccのリンカかな?私はMinGWを使っているので,
Cygwinではどうなるか判りません.

 とりあえず,MinGWで実験してみました。
対象     minimalサンプル
コンパイラ  g++-2.3.2

コンパイル法
 MSYS上で,wxWindowsのサンプルソースのあるディレクトリ内で以下のコマンドを実行

$windres -i minimal.rc -o minimalrc.o -I(インクルードディレクトリ)
$g++ *.cpp *.o -s -O2 -o minimal `wx-config --cppflags --libs`

結果
258,560 byte

 wxWindowsのconfigureオプションは忘れましたが,とりあえず--enable-sharedでDLLを
有効にしています.DLLを使用時258KBというのは,MFCと比べてそれ程大きいわけでは
無いと思います.さすがにWin32APIを直に叩くよりはずっと大きいですけど(w

329 名前: mailto:sage [03/07/15 23:52]
>327
気にすんな。C++Builderとかと比べてもそれほど悪くは無いと思うよ。

気に入らないようなら、wxWindowsでプロトタイピングしてそのあとに
API直叩きで最適化するのがよろしかと。


330 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/16 01:31]
>>328で書いたコンパイラ,g++-3.2.3の間違いでした.

 今日はwxAppの概要を訳して,wxStringを少し修正&訳の続きを途中まで
しました.もしwxStringを翻訳中の人がいたらゴメンナサイ.とりあえず明日
にはwxStringの訳を終わらせるつもりなんで,先にしてた人がいたらここで
報告してください.

331 名前:◆v/.u/aNe9w mailto:sage [03/07/16 02:16]
>>326
漏れも同じ動機で wx を使いはじめますた。
応援ありがてー!

>>327
samples/minimal の実行ファイルサイズ

borland bcc32 5.5.1   1,588,736 byte リリースビルド
cygwin g++ 3.2      2,207,232 byte デバッグビルド

win な環境だと VC 以外 (>>12- あたり参照) はでかくなりますね。
cygwin のリリースはどうなんでしょう?
やたらコンパイルに時間がかかるのでうちでは作ってないのだが…。

>>330
乙。
locale周りを調べたら復帰しまふ。

332 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/16 23:20]
wxStringの訳がほぼ終わりました.
で、最後の方にわからない一文が・・・
だれか"go without saying "の意味を教えてください.

wxwindowsjp.sourceforge.jp/docs/html/wx/wx456.htm

333 名前:デフォルトの名無しさん mailto:sage [03/07/16 23:39]
言うまでもなく

334 名前:デフォルトの名無しさん mailto:sage [03/07/16 23:40]
it goes without saying that ほげほげ.


ほげほげということは言うまでもない。



335 名前:◆v/.u/aNe9w [03/07/17 00:21]
bcc32 5.5.1 限定 wxLocale の不具合への対策できますた。

dot-gray.s33.xrea.com/index.xcg?page=%A5%B5%A5%F3%A5%D7%A5%EB%3A%3Aminimal%2Dja#p13

んで、識者の方に質問。
char *setlocale(int category, const char *locale) の戻り値を第 2 引数にして、
再度、setlocale() を呼び出すのは規格的に動作の保証はされているのでしょうか?

無保証であれば、本家にパッチを投げに行ってみようかと。

336 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/17 00:38]
>>333-334
 Thanx.その分だけ直してから寝ます.

 なんか無知を晒したような気が・・・高専生なんてこの程度か.普通に文章を
読んで意味を感じる事は出来るが,訳すとなると大学受験で単熟語を叩き込んだ
人たちと差がついてしまう.

337 名前:デフォルトの名無しさん mailto:sage [03/07/17 00:41]
それって中2でやりますよ・・・なんて無粋な突っ込みはよしておこう

338 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/17 00:46]
直しておきました.

>>337
 マジですか?
 一応今年の春の英検2級を正答率80%以上で合格したんだが・・・使えねぇ

 学校で英語の授業が無くなって(選択で応募多数の為抽選で落ちた),秋の英検
準1級への勉強を兼ねて翻訳プロジェクトに参加したんだけど・・・この程度じゃ
ダメっすか?


339 名前:デフォルトの名無しさん mailto:sage [03/07/17 14:20]
>>338
中2だったかどうかは覚えてないけど、
常識範囲内だと思う。

2級ではそんなもんかもね。
勉強がんばれ。

340 名前:nanasea mailto:sage [03/07/17 18:43]
wxSocket*って、誰か訳してます?
まぁ…だぶってても良いから訳すか…

341 名前:デフォルトの名無しさん mailto:sage [03/07/17 20:19]
やっと自分で作ったリソースのコンパイルが通った。
けっこう面倒だね。


342 名前:◆v/.u/aNe9w mailto:sage [03/07/17 21:06]
wxAssert で bcc32 551 がまた飛びますた…。鬱。
gcc に移ろうかしら…。

>>335 の件は、調べてみたのですが戻り値を第二引数として、
そのまま使用した場合の話を発見することが出来ませんでした。
近い話として、
The application shall not modify the string returned
which may be overwritten by a subsequent call to setlocale().
アプリケーションは返されたストリングを修正しないものとします、
それはsetlocale()への後の呼び出しによって上書きされるかもしれません。
www.opengroup.org/onlinepubs/007904975/functions/setlocale.html
なんてのがありますた。

んで、これはbcc限定の話なんでbccスレに行って聞いてきます。
お騒がせしますた。

343 名前:◆v/.u/aNe9w mailto:sage [03/07/17 21:14]
>>340
cvsで確認したところwxSocket系は、
まだ誰も手をつけていないので、
大丈夫だと思います。

うpお待ちしております。

344 名前:デフォルトの名無しさん mailto:sage [03/07/18 00:14]
bombsがデバッグモードでコンパイルしたものが上手く実行できないのはどうしてだろ?
FINAL=1をつければ実行できるバイナリが出来るけど…



345 名前:344 mailto:sage [03/07/18 00:15]
BCC32での話です

346 名前:デフォルトの名無しさん mailto:sage [03/07/18 00:18]
xmlのリソースエディタ、早くできないかねぇ。
subclassのところが美味しそう。

347 名前:◆v/.u/aNe9w mailto:sage [03/07/18 00:31]
>>344
>>342で書いた奴が原因です。
> wxAssert で bcc32 551 がまた飛びますた…。鬱。

リリース版はデバッグ関係が一切入らないので動作できるのですが、
デバッグ版は上記理由によりぶっ飛ぶみたいです。

ただいま解析中なり。
td32の使い方がやっと解ってきた。楽しい。

348 名前:◆v/.u/aNe9w mailto:sage [03/07/18 02:46]
>>344
ある程度わかりますた。
wxAssert がおかしいって言うのは私の勘違いでしたゴメンナスン。

んでbombsは、wxSashWindowが原因でAssert発生。
..\common\object.cpp(197):
assert "classInfo" failed: base class 'wxSashWindow' is unknown
to wxWindows RTTI [in child thread]

この時点で、Appの初期化がすんでいないので
GUIでデバッグメッセージを出力できない。
んで、wxAssertは内部で以下の順でデバッグ用 win32api をコール。
OutputDebugString デバッグメッセージをデバッガに送る
DebugBreak ブレークポイント例外を発生させる

OutputDebugString は、Windows2000 の場合、adminまたはadminグループじゃないと出力されない。
support.microsoft.com/default.aspx?scid=kb;ja;274559

あと、DebugBreakは対応したデバッガがないと意味無し。多分。
なので、一見飛んだようにみえただけですた。
(td32でキャッチできるように出来ないのかな?)

OutputDebugStringの出力をみるにはビューアが無いとダメ臭い。
取りあえず、フリーソフトDebugTracerで確認できますた。
www65.tok2.com/home2/pentawar/

駆け足ですがこんな感じですた。以上。

349 名前:169 mailto:sage [03/07/19 14:19]
>169 ですが、Mac OS X でも問題無く日本語が入力出来ました。wxMac の問題
では無く、私が Gimp 用に設定していた環境変数が悪さしていたみたいです。

350 名前: mailto:sage [03/07/19 14:33]
>349
それはすばらしい。
OSがしっかり対応していれば、それなりに使えるみたいだね。

351 名前:◆v/.u/aNe9w mailto:sage [03/07/20 00:03]
bcc32 で samples/bombs のデバッグ版が動かない理由がわかりますた……。

理由:
wxWindows では実行時型情報を提供する為の仕組みとして、
wxClassInfo クラスと、マクロ DECLARE_DYNAMIC_CLASS(foo) と
IMPLEMENT_DYNAMIC_CLASS(foo, bar) を提供していまつ。
www.wxwindows.org/manuals/2.4.0/wx455.htm

このマクロはそれぞれ、

static wxClassInfo sm_classなんちゃら;
virtual wxClassInfo *GetClassInfo() const { return &MainFrame::sm_classなんちゃら; }


wxObject* wxConstructorForなんちゃら() { return new なんちゃら; }
wxClassInfo MainFrame::sm_classなんちゃら(
 "なんちゃら", "wxFrame", 0
 , (int) sizeof(MainFrame), (wxObjectConstructorFn) wxConstructorForなんちゃら
);

に展開されます。

んで、wxClassInfo はコンストラクタ(src/common/object.cpp)で
各クラス内のスタティックな sm_classなんちゃら のポインタをチェインとして
登録するような仕組みになってます。

んで、wxWindows::msw のデバッグを有効にしている場合、
内部の WinMain にあたる wxEntry の最初の方で wxClassInfo のチェインをハッシュテーブルに登録。
更に、そのテーブルを元にデータの正当性(依存関係)のチェックを行ってます。

bcc32 は、その正当性チェックの部分で弾かれてしまっています。


352 名前:◆v/.u/aNe9w mailto:sage [03/07/20 00:04]
しかし、スタティック変数は規格上最初に使用されるタイミングまでに初期化されていれば
いいので、この場合 bcc32 の反応はある意味規格に則っているといえます。
逆に、wxWindows の方は各クラスのスタティック変数が、スタートアップルーチン前に
初期化されることを前提に動いているので問題があるともいえます。

取りあえず、bcc32 で bombs のデバッグビルドを正常に走らせるには
以下のような小細工が必要になります。

bool AppClass::OnInit()
{
 ・・・略・・・
 // start Dummy
 wxSashEvent::sm_classwxSashEvent.GetClassName();
 wxSashWindow::sm_classwxSashWindow.GetClassName();
 // end Dummy

 return TRUE;
}

むほぉ。

353 名前:デフォルトの名無しさん mailto:sage [03/07/20 00:07]
ときに偉い人。wxWindowsではTCP/IPレイヤが提供されてるようだけどSSLは提供されてないの?

354 名前:◆v/.u/aNe9w mailto:sage [03/07/20 00:11]
余り自信はないが、多分これであっていると思う。
誰ぞ突っ込みプリーズ。


でもこれって、他の環境でも少なからず発生しうる現象な気がする…。
他の環境で同じようなことは発生して無いでしょうか?



355 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/20 00:29]
>>353
wxWindows本家では提供されて無いみたいだね.

wxssl.sourceforge.net/index.html
↑でwxWindows用のSSLライブラリが提供されてる.

356 名前:デフォルトの名無しさん mailto:sage [03/07/20 00:33]
あら、そうなんだ
ありがとう偉い人

357 名前:デフォルトの名無しさん mailto:sage [03/07/20 00:43]
sourceforge.net/projects/wxssl/

ガビソ 実装のhowtoを書いてるだけでライブラリは出してないんだね…1年以上放置してるし

358 名前:デフォルトの名無しさん mailto:sage [03/07/20 00:44]
1年以上放置は誤読だった

359 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/20 01:20]
ほんとだ・・・ライブラリ作成のガイドラインだけ作って,ライブラリ自体は作ってない・・・

適当にググッた結果書き込んだだけだったのだ,スマソ.



360 名前:◆v/.u/aNe9w mailto:sage [03/07/20 10:29]
>>352
・・・ぅ。スミマセン、大間違いでした。
プログラミング言語 C++ 第3版の 9.4.1 で確認しますた。

誤:スタティック変数は規格上最初に使用されるタイミングまでに初期化されていればいいので
正:スタティック変数は、main、WinMain 前に初期化される
# スタートアップルーチン って言葉も意味、使い方ともに間違ってまつね…。

っつーことで、wxWindowsの実装が正しくbcc32に問題がありまつ。

どうやら、bcc32 5.5.1はスタティック変数の初期化にバグを抱えているようです。
なので、wxWindowsが提供する実行時型情報系の部分等で
色々問題が出る可能性が高いです。

[参考サイト]
スタティック変数のバグについて
www.geocities.co.jp/SiliconValley/1173/bcbfix/#bcb5bssinit
バグを回避する方法について
homepage1.nifty.com/mcn/weekly/000531.htm

逝ってきます…。

361 名前:デフォルトの名無しさん mailto:sage [03/07/25 15:08]
DLLをコンパイルできないんですが、なくても大丈夫ですよね?
そもそもDLLとはなんですか?

362 名前:デフォルトの名無しさん mailto:sage [03/07/25 15:57]
Nacelle - Beginner - DLLファイルとは何か nacelle.info/beginner/03006.php

363 名前:デフォルトの名無しさん mailto:sage [03/07/25 17:21]
なくてもいけるけどないと困るの?

364 名前:デフォルトの名無しさん mailto:sage [03/07/25 23:02]
ここぐらいにまで育つのかな。
www.logionworks.jp/software/SDLdoc-jp/



365 名前:デフォルトの名無しさん mailto:sage [03/07/26 20:14]
sample>minimalをコンパイルしたら21.6Mbもありますが仕様ですか?

366 名前:デフォルトの名無しさん mailto:sage [03/07/26 20:39]
うちでは 88KB だよ。スタティックリンクしてるのでは?

367 名前:デフォルトの名無しさん mailto:sage [03/07/26 20:40]
sample>artprovをコンパイルしたらこれまた21.6Mbもありますが仕様ですか?

368 名前:デフォルトの名無しさん mailto:sage [03/07/26 20:41]
make -f makefile.g95 wxusingdll=1
としました。

もしかして、MinGWが原因ですか?

369 名前:デフォルトの名無しさん mailto:sage [03/07/26 20:57]
もしかして、d:\wx\src\mswでコンパイルするときに
make -f makefile.g95 FINAL=1
にしないとダメ?

370 名前:デフォルトの名無しさん mailto:sage [03/07/26 21:44]
>>367
メガビットとな!?

371 名前:デフォルトの名無しさん mailto:sage [03/07/26 21:50]
スタティックリンクで、デバッグシンボル込みだとそんなものかと。
DLL作るか、FINAL=1ですな。
MinGW のみでのDLLの作り方は知らん。

Cygwin+MinGWであれば、

cd $WXWIN
mkdir build-shared-debug
cd build-shared-debug
../configure --with-msw --enable-shared --enable-debug
make; make install;
でいけると思うが…。

372 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/26 23:52]
MinGWでは,MSYSを入れて同じくconfigure,make installですね.

・・・最近翻訳する気が起きない・・・だれか翻訳して欲しい部分をリクエストしてちょ.
GUIとか通信とか前提知識が足りないから翻訳できる部分は少ないけど

373 名前:デフォルトの名無しさん mailto:sage [03/07/27 00:49]
wxWindowsのメーリングリストとかないのかな。

374 名前:デフォルトの名無しさん mailto:sage [03/07/27 02:25]
>>373
wxPython のほうは入っているけど、ものすごいトラフィック量がある。
だから、サブジェクトをみて一部のものしか目を通していない。



375 名前: mailto:sage [03/07/27 02:29]
>372
Threadがらみキボン。この辺は良くわからないんですよね。

まあ、実際にはwxStringの方が重要ですね。幸せになる人も多そう。
#私はwxTextctrlをぼちぼちやっています……長い……

376 名前:思兼 ◆l3iwkTImVo mailto:sage [03/07/27 03:49]
>>375
 了解.とりあえずスレッドを一通り訳してから,wxString周りを攻めて行きます.


・・・なんかsourceforgeにうまく繋がらなくなってうぷろだに上げたけど,ちゃんと
コミットできたのでうぷろだのファイルは無視してください.(wx494.htm)

377 名前:◆v/.u/aNe9w mailto:sage [03/07/29 14:09]
やほーい。おまいら、wx440.htm - Log functions - がうpられてましたよ!
ナイス!kaba氏!
そして、気付くのが遅くなってすみませぬ。

今晩、コミットしますでっす!

378 名前:デフォルトの名無しさん mailto:sage [03/07/29 20:00]
GUI部分はtkで組め。
以上

379 名前:デフォルトの名無しさん mailto:sage [03/08/01 20:16]
wxTextCtrlのEVT_KEY_UPだとつかめるんだけどさぁ、
EVT_KEY_DOWNでShift+TABの入力ってつかめないかなぁ?

380 名前:山崎 渉 mailto:(^^)sage [03/08/02 02:37]
(^^)

381 名前:kaba [03/08/02 13:03]
>>377
使ってもらえてうれしいです。
皆さんの訳文・HPを散々見させて頂いているんで、
少しぐらいはお返しせなならんかとうpしてみました。
意訳・超訳なのはごかんべん。

このとおりの亀なのでお手伝いできる事も
あんまりないのですが、またうpします。


382 名前:SEX [03/08/02 13:24]
 / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 |オッパイが透けて見えるフラッシュは最高ですぅ〜!
  \____ __________________
           V
      , -―- 、 /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   /了 l__〕      〈]    /同人で、激エロSEXモノですよ!
    7| K ノノノ ))))〉 ,、  | pink.sakura.ne.jp/~erotan/
    l」 |」(l| ( | | ||.  !lm  \_  _________
    | |ゝリ. ~ lフ/リ  lアノ     V
     | | /\∨/‐-/`'/
.    l l | /ヽ/==|‐-- '
     !リl/ //   ヽ   _ , '⌒ ⌒\
   _〈 //      \\\ ノ// ヘヘ、
.  `つノl//       ヽ  // |||)、 
                 //'へ゛ーノ  可愛いエッチな音声も聞けますよ〜!
                       < お絵描きBBSもありますよ!

383 名前:デフォルトの名無しさん [03/08/02 20:14]
☆ ☆ ☆ www.gals-cafe.com ☆ ☆ ☆
りさちゃんですっ☆みんな元気ぃ?夏だねっ!
あたしね、今アメリカにいるんだけど、、、えへっ(*>▽<*)
アナタに逢いたくて、こんなバイト始めちゃったヨ♪
りさに逢いに来てくれたら、7日間も会費無料サービスしちゃうし、
さらにさらに10分間も無料なんだよ! Σ(@o@)!!
アナタにだけの特別大っサービス♪絶対来てね!
二人っきりでたっくさん楽しいことしようよ♪まってるよ(^.^)/
☆ ☆ ☆ www.gals-cafe.com ☆ ☆ ☆

384 名前:◆v/.u/aNe9w mailto:sage [03/08/03 18:10]
>>381
意訳・超訳大歓迎ですよ!
お待ちしてまっす!

ところで、
wxNotebook 系とwxEvent、wxEvtHandler を超訳ぶっこきますた。
wxEvtHandler が思いのほかでかく、
なかば白目を剥きながらやっつけたのでかなり不安。
どなたか査読キボンヌ。
wxwindowsjp.sourceforge.jp/docs/html/wx/wx131.htm

ついでに、topics/wxWindows サンプル の後半を手伝って(やっつけて)くれる人もキボンヌ。
扱う範囲が広くてアップアップで御座います。ヘルプ…ミ。
wxwindowsjp.sourceforge.jp/docs/html/wx/wx453.htm#samples



385 名前:デフォルトの名無しさん mailto:sage [03/08/04 09:13]
すばらしい働きぶりですな,皆さん.
まじでがんがってほしい.応援してます.

で,忙しいところ申し訳ないのですが,一つ質問がありまして.
コントロール間のTabでのフォーカス移動って,どうやってやるんでしょ.
wxTextCtrlでwxTE_PROCESS_TABを指定しても,うまくいかなかったもんで.
誰か教えて下さい.

386 名前:385 mailto:sage [03/08/04 13:51]
wxArrayStringの訳をあげておきました.
txtになっちゃったみたい.

遠慮なく添削してけっこうです.>皆様

387 名前:デフォルトの名無しさん mailto:sage [03/08/04 19:55]
なんとなく小技。
wxSMALL_FONTとかの、文字化け回避(するかも)。
samples/font/font.cppのMyApp::OnInit()の最初のほうに突っ込んでみたら、それなりに動きますた。

wxNativeFontInfo default_nfi,small_nfi,italic_nfi,swiss_nfi;
default_nfi.FromString(wxNORMAL_FONT->GetNativeFontInfoDesc());
small_nfi = italic_nfi = swiss_nfi = default_nfi;
small_nfi.SetPointSize(default_nfi.GetPointSize() - 2);
italic_nfi.SetStyle(wxFONTSTYLE_ITALIC);
swiss_nfi.SetFaceName(wxT("MS Pゴシック"));
wxSMALL_FONT->SetNativeFontInfo(small_nfi);
wxITALIC_FONT->SetNativeFontInfo(italic_nfi);
wxSWISS_FONT->SetNativeFontInfo(swiss_nfi);

SWISSのフェイスは、環境に合わせて適当に指定してください。
font family指定では化けるから、根本的な解決ではないけど・・・

388 名前:◆v/.u/aNe9w mailto:sage [03/08/04 23:01]
>>385
試してみたんだけど上手くいかないね。なぜだ?
$WXWIN/samples/controls のlog出力に使われている奴。

550  m_text = new wxTextCtrl(this, -1, _T("This is the log window.\n"),
551              wxPoint(0, 250), wxSize(100, 50), wxTE_MULTILINE);

特殊なことはやっていないようなんだけど、
普通にタブでフォーカス移動が出来るんだよなぁ。

あと、wxTE_PROCESS_TAB で作った場合でも
CTRL-ENTER でフォーカスが移動する[wxTextCtrl|wx381.htm]ってあるんだけど、
これも上手く行っていない感じ。

あ、$WXWIN/samples/font もTABで遷移できる…。

>>386 >> Kaba氏
ダブル(σ・∀・)σゲッツ!!
ありがてー!

>>387
回避できたーよー。

この辺は解決したい問題ですね。
wxSystemSetting::GetFont()
あたりをいじるといいのかなぁ。

389 名前:◆v/.u/aNe9w mailto:sage [03/08/05 02:47]
うp完了なり。

>>386
> txtになっちゃったみたい.
これは仕様なんです。
htm | html だと、広告が挿入されちゃうのがいやんなのと、
部落らとか、ウィルスを張られた場合の対策も含めて、
(IE だとあまり意味がなかったりするけど…)
拡張子を txt 変更するようにしてまふ。
説明がついてなくてスマソ。直しておきます。

> 遠慮なく添削してけっこうです.>皆様
添削しますた。
case (文字について話している場合)
誤:入れ物
正:大文字小文字
case sensitive で '大文字小文字を区別する' みたいな意味になりますです。
これ以外は問題ないッス。乙!

# 最近、機械翻訳なしでぺろっと英文が読めるようになりつつある自分にビックリ。
# 調子に乗って誤訳生産機になってなければいいけど…。

390 名前:385 mailto:sage [03/08/05 22:27]
>>389
"case sensitive" == "大文字小文字を区別"
そういや,そうだった.
忘れてました.thx.

391 名前:デフォルトの名無しさん mailto:sage [03/08/06 10:30]
>>385
タブオーダーの指定はまだできないようです。
www.wxwindows.org/faqcmn.htm#taborder

392 名前:◆v/.u/aNe9w mailto:sage [03/08/06 23:09]
おおぅ!?またまたファイル(wxSockAddress)がうpられてますた。
>> sue 氏
サンクスコ!後ほどコミットしまふ。

>>391
タブオーダの指定はできなかったのか。
通りで探しても出てこない訳だ…。

んでも、TAB によるフォーカス制御は出来るはず。
wxWindow::SetFocusFromKbd があるぐらいだし…、
これも実は無保証なのかな。

393 名前:385 mailto:sage [03/08/08 11:33]
Size overview (Sizeの概要) を揚げておきました.
つかれた.


394 名前:◆v/.u/aNe9w mailto:sage [03/08/08 23:51]
>>393
乙です。
ちょっとタグ付けしてうpる余裕が無いので、
後日、うーん、来週の水曜日あたりまでにはコミットします。

どなたか、お手すきな方にやってもらえると助かるなり。

また、次回から以下のルールに沿ってタグ付けしてもらえると助かります。
wxwindowsjp.sourceforge.jp/docs/index.html

翻訳して頂いておきながら、
生意気なことを申し上げて誠に申し訳ないっす。



395 名前:◆v/.u/aNe9w mailto:sage [03/08/13 08:37]
>>393
うp完了なり。

396 名前: mailto:sage [03/08/14 01:37]
長かった……
wxTextControl終了しました。
wxwindowsjp.sourceforge.jp/docs/html/wx/wx381.htm#wxtextctrl






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<338KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef