06/12/21 13:38:15
BREW関連
Qualcomm CDMA Technologies - CDMA2000 3G Solutions ← チップセットの情報(PDFあり)
URLリンク(www.cdmatech.com)
ARM関連
ARM7DTMIの部屋
URLリンク(vsync.org)
ARMメモ
URLリンク(www.bomber.co.jp)
Linux Zaurusでアセンブリプログラミング
URLリンク(www.nk.rim.or.jp)
3:FAQ
06/12/21 13:39:10
SDKダウンロードについて
IE5.5SP2以降推奨、NNでも動くかも知れないけどOperaとかMozillaとかは確実に無理。
JavaScript+ActiveX。
あと、会社名とかをちゃんと登録しないとダウンロードできません。
2Channel Inc. みたいな正式な名前。登録内容は全部英語。
Q. gccでコンパイルしたいのですが
A. こちらを参考にどうぞ.
Q. BREWアプリを自作して自分の携帯に入れたいのですが?
A. 素人は作ることは可能ですが端末に転送することはできません
あきらめるかCPなどのプロになりましょう
Q. DLLにコンパイルしたものを端末に転送したのですが実行できません
A. ARMの形式でコンパイルする必要があります
あきらめるかARMにコンパイルできるようがんばりましょう
Q. BREWて正直うんこなんですが…
A. そうかもしれません
しかし手段・道具によらず目的を達成するのがプロというものです
がんばりましょう
Q. _| ̄|○ ……
A. (つДT)つ旦
4:デフォルトの名無しさん
06/12/21 13:39:44
Q. gccでコンパイルしたいのですが
A. こちらを参考にどうぞ.
URLリンク(kintubo.kakiko.com)
5:デフォルトの名無しさん
06/12/21 14:36:07
>>1
DBGPRINTF(">>1乙かれ~");
6:デフォルトの名無しさん
06/12/21 15:58:28
>>1
乙。
7:デフォルトの名無しさん
06/12/21 16:54:54
>>1
乙~
質問なのですが、BREWで端末の音量設定取得方法ってどうやるのですか?
8:デフォルトの名無しさん
06/12/21 17:26:03
答え:諦めろ
9:デフォルトの名無しさん
06/12/21 18:15:16
ユーザに教えてもらう←マジ確実
10:デフォルトの名無しさん
06/12/22 00:36:47
IKDDIPHONESYSTEM_GetMaxVolumeLevel()
11:デフォルトの名無しさん
06/12/22 03:25:19
>>1乙
>>4はもともと>>3の1つ目のQ&Aの修正な。
12:デフォルトの名無しさん
06/12/23 04:39:55
万年デスマの組み込み屋が集まるスレはここですか。
13:デフォルトの名無しさん
06/12/23 11:29:05
はいそうです
14:デフォルトの名無しさん
06/12/25 08:19:22
はいちがいませむ
そういございますん
15:デフォルトの名無しさん
06/12/25 23:35:14
i-appliからの移植で動的確保・解放が大量に使われててゲンナリ。
固定長化するべきか、動的確保のまま移植すべきか・・・
どっちに転んでも地獄が待ってそうでやる気がでねぇ。
16:デフォルトの名無しさん
06/12/25 23:44:42
動的各階できるほどiappli高速になってるのか?
17:デフォルトの名無しさん
06/12/25 23:46:52
>>15
だからそういうのはメモリプール使えとあれほど(ry
18:デフォルトの名無しさん
06/12/26 10:56:28
>>16
初心者のソースほどあっちこっちにnewだらけだよ。
設計にもよるけど、特にツール系は動的確保じゃないと辛い。
漏れはJavaのVectorと似たような動作するVectorクラスを作って対処してる。
19:デフォルトの名無しさん
06/12/27 01:03:06
諸先輩方、教えて君で申し訳ないんだが、教えてくれ。
ピクセル操作して画面を黒にフェードアウトする処理を搭載するように言われて
その方法を模索中なんだが、とりあえずフォーラムの下記のURLのソースを参考に
しようと思うんだが、第二引数である「nPitch」の部分がよくわからない。
URLリンク(brewforums.qualcomm.com)
今夜はもう家に帰ってきたんで、手元にAPIリファレンスぐらいしかないんで、
適当にコードを書くけれど、
IBITMAP_QueryInterface(pIBitmap, AEECLSID_DIB, (void **)&pIDIB);
とかしておいて、
pIDIB->nPitch;
で求めた値で良いんだろうか?
20:デフォルトの名無しさん
06/12/27 01:15:31
やってみればいいだろドアホ
21:デフォルトの名無しさん
06/12/27 02:25:33
俺なんてわざわざRGBVALに変換してたわw
今まで不具合ないけど。
22:デフォルトの名無しさん
06/12/27 04:56:35
>>19
URLリンク(brew.s214.xrea.com)
これテストしてくんない?
23:デフォルトの名無しさん
06/12/27 06:53:10
>>22
式が宣言より前にあるぞ
24:デフォルトの名無しさん
06/12/27 13:01:25
>>23
㌧くす。修正しますた。。
C++ しか使わないからつい忘れてしまう……。
25:デフォルトの名無しさん
06/12/27 13:15:10
端末標準のダイアログって使ってる人どれくらいいる?
使い勝手や見た目の部分について教えて欲しい。
俺は自作しか使ったこと無くてようわからん(´・ω・`)
26:デフォルトの名無しさん
06/12/27 13:24:11
むしろ端末標準ダイアログが使えるのかどうかすら知らなかった。
BREWから使えるの?(´・ω・`)
27:デフォルトの名無しさん
06/12/27 13:28:58
いや、リソースエディタにダイアログって項目あるじゃん。
これでそこそこのデザイン(端末によるとは思うが)のダイアログが出るなら、
使ってみてもいいなーって思ってるんだけど。
28:デフォルトの名無しさん
06/12/27 13:38:32
あれはBREWのダイアログでしょ。
ダイアログって名前が付いてるけど、全画面に白背景の黒文字テキストを描画するだけの物だと思ったけど。
29:デフォルトの名無しさん
06/12/27 13:54:46
あら、失礼。
そっか、フルスクリーンになっちゃうのか。
なら自作の方がいいなぁ。。。
おっけー、ありがとでした。
30:デフォルトの名無しさん
06/12/27 14:04:05
まー、下手に端末のダイアログ使えちゃうと、
端末が出してるエラーかアプリが出してるエラーか
分からなくなってユーザーサポートとかめんどくさそうだしな(´・ω・`)
31:19
06/12/29 00:38:37
今戻った。
子供が風邪ひいて看病してた。
返事送れてスマン。
>>22
わざわざありがとう。
で、シミュレータで試してみたんだけどダメだった。
カラースキームが(シミュレータだと)RGB332だったのが原因。
知ってる人には、今更なんだろうけどカラースキームって端末とかによって異なる
んだね。
…って事は、全てのカラースキームに対応した処理を作らなきゃいかんのかと、
22のソースを元に処理を改良中です。
32:デフォルトの名無しさん
06/12/29 00:51:01
流れに無関係の人間だが、日本の端末のみでいば555と565だけだったはず。
今のところ。世界は知らない。
あと、シミュレータのやつは時々画面サイズやらカラーやら間違ってるので
デバイス設定ファイルの方をいじってるわ。私の場合。
33:19
06/12/29 00:58:34
>日本の端末のみでいば555と565だけだったはず。
む。そうだったんだ。
ならば処理も減らせるね。
ってゆーか、シミュレータのスキームがむしろ変なのかー
ちとデバイス設定を編集してみる。サンクス!
34:デフォルトの名無しさん
06/12/29 01:38:32
つか統一しろよっちゅーの
35:デフォルトの名無しさん
06/12/29 01:42:23
555 の端末なんて俺みたこと無いんだが……。
36:デフォルトの名無しさん
06/12/29 01:44:37
アイスキャンデーとかあるだろ?
ぶたまんとかさ
37:デフォルトの名無しさん
06/12/29 01:46:24
>>35
あるよー。だいぶ昔のやつだけどねー・・・。
38:19
06/12/29 01:52:31
んんん~
設定ファイル(dsdファイル)を見てたんだが、カラースキームの設定がしてありそうな
箇所が見当たらない。
Brew3.1にはその設定が無いって事はないよねぇ…。
(;´ω`)
ああ、それにしても今夜も子供が夜泣きで欝だ。
泣きたいのは俺だっちゅーの。
39:デフォルトの名無しさん
06/12/29 02:19:40
画面サイズとかが設定されてる項目のケツのほうに無かったかな。
今手元にモノがあるわけでもないので詳細不明だけど。
設定名があるわけじゃなくて8とか16とかのビットで書いてあったはず。
40:19
06/12/29 02:45:31
>>39
なるほど、dpkファイルの方だったのか。
みつけた!
SCREEN 294 64 534 464 AVS_SCREEN_2 241 401 0.000000 0.000000 INCH 8 1
↑の「8」だね。
ありがとー!
これで少し前に進めるよ!
41:デフォルトの名無しさん
06/12/29 12:40:10
>>38
スレとは全く関係ないんだけど、子供さんを悪く言うのはカワイソス(´・ω・`)
42:デフォルトの名無しさん
06/12/30 23:52:17
>>38 夜鳴きは半年ぐらい続くからキッツイよwww
納期近くで寝てないときにも容赦なく泣きまくるから
これでノイローゼっぽくなる親も多い。
まぁ、嫁と二人交代で面倒見て、寝れるうちにどっちか片方が寝とけ。
一人に押し付けると、いずれ誰かが死ぬよ?
と、なんか急に育児板みたいだなw
43:デフォルトの名無しさん
06/12/31 10:57:26
>>35
見掛けたことあるけど、持ってる奴みんな変身してどっか行っちゃうから
機種までは分からないやスマソ
44:デフォルトの名無しさん
06/12/31 22:26:48
>>35
記憶があってればA5502K。
それ以外じゃ私も見たことないな…。
45:デフォルトの名無しさん
06/12/31 22:40:16
なぜにこんな日にレスが
46:デフォルトの名無しさん
07/01/01 00:12:57
会社からおめ
47: 【大吉】 【522円】
07/01/01 00:29:21
あけおめことよろ
今年はBREWが大変身する
といいな
48:デフォルトの名無しさん
07/01/02 17:33:31
今年はiアプリとBREWなくなって全部MIDP2.0になると良いな。
49:デフォルトの名無しさん
07/01/02 17:50:33
それはそれでいやだな
50:デフォルトの名無しさん
07/01/03 22:40:49
BREW4.0搭載の端末っていつ出るんですか?
てか3.x→4.0で大分変わるみたいなんだけど
うちまで情報が回ってこないのですが・・・
51:デフォルトの名無しさん
07/01/03 23:28:29
>>50
えとBREW4.xからうわなにをすあqwせdrftgyふじこlp;@
52:デフォルトの名無しさん
07/01/04 14:28:02
OS化が進む。マルチ
53:デフォルトの名無しさん
07/01/04 14:41:27
>>51
>>52
な、なんだ。まだ情報公開するレベルじゃねーのかよ。
54:デフォルトの名無しさん
07/01/04 15:00:04
まぁまだ先走り汁出すなってことだ
55:デフォルトの名無しさん
07/01/04 16:32:59
>>54
すまない。汗ってしまった。
56:デフォルトの名無しさん
07/01/05 12:10:43
Sophiaのフレームワークを使って開発してるんですけど
IShellのインターフェイスポインター取得することって可能です?
ISHELL_CreateInstanceに使いたいっす
57:デフォルトの名無しさん
07/01/05 14:07:35
>>56
Sophia のフレームワークは生のBREWインターフェイスには触れなかったような。。。
サポートに聞くのが一番だな。
最悪自分で IApplet から IShell とりだして ISHELL_CreateInstance() だな。
58:デフォルトの名無しさん
07/01/05 16:11:58
>>57
なるほど。。有難う御座います
59:57
07/01/05 17:39:50
>>58
スマートポインタから生のポインタを取得して
キャストすれば使えた気がするんだけど、
ずいぶん前の話なんで試す環境すらないスマソ。
こんな感じ。
-----------------------
SFBShellSmp shellsmp;
ISHELL *shell;
shellsmp = SFBShell::GetInstance();
shell = (ISHELL*)(shell.Get());
ISHELL_CreateInstance( shell, .........
.........
-----------------------
60:デフォルトの名無しさん
07/01/05 21:10:20
Sophia使えるなんて金持ちだなぁ・・・
61:デフォルトの名無しさん
07/01/05 23:20:14
本当に開発コストが下がるか教えてよっ
62:デフォルトの名無しさん
07/01/05 23:35:36
検証待ちもなくなくなるのか!
63:デフォルトの名無しさん
07/01/06 02:19:03
>>61
何本かアプリ作ってりゃそれなりのクラスやヘルパー関数が蓄積されるだろうし
開発スタイルも定着するだろ。
なーんも知らんとこが新規で開発するならSophia導入もありだと思うが、
それで飯食ってくつもりなら不要と思われ。
64:名無しBREWたん
07/01/09 15:31:29
>>63
同意。
BREW初心者の頃は訳わからなくてSophiaのライブラリがあるとだいぶ助かったが、
慣れてくれば知識もつくし、ノウハウが蓄積されてきてくるだろうから、
自前のライブラリを作ったほうがコスト的にも精神的にも満足度は高いかと。
65:デフォルトの名無しさん
07/01/10 22:26:46
W47Tなんだこりゃ。
30分経っても500KBのファイル転送がおわりゃしねえ。この糞端末が
66:デフォルトの名無しさん
07/01/10 22:49:18
今年も機種連発です。オサッシクダサイ
67:名無しBREWたん
07/01/11 12:54:31
>>65
知り合いがKで未発売機種のBREW機能の検証をしていることを考えると、
正直、スマンカッタ。としか言えない。
68:デフォルトの名無しさん
07/01/11 13:08:11
BREW3.1はエミュの作りが
2.1より酷いような気がするのは気のせいでしょうか(;´д`)
3.1専用のアプリがようやく来たのでスレッドとか何とか遊びたいのに
くだらないところで躓いてるよ・・・
69:デフォルトの名無しさん
07/01/12 09:53:14
BREWってC++コードが動かせるんだ。
じゃ、組み込み用って事で見れば、
BREW >>> JAVA >>>>> (壁) >>>>> dotNET , Flash
ってこと?
70:デフォルトの名無しさん
07/01/12 10:04:26
何を比較して?
71:デフォルトの名無しさん
07/01/12 10:17:08
既存のライブラリを活かして普通に作れるか、という比較。
72:デフォルトの名無しさん
07/01/12 10:54:01
>>69
stl ×
boost ×
namespace ×
pragma ×
例外 ×
stdlib.h等標準ライブラリの使用 ×
組み込みに何故.NETやFlashが比較対象になるのか理解できんが
ざっと思いつく感じこれくらいは壁があるよ
73:デフォルトの名無しさん
07/01/12 10:59:40
boostは仕方ないにしても、なんでstlがダメなの?
namespaceダメって、ちゃんとコンパイラ開発しる!
74:デフォルトの名無しさん
07/01/12 11:00:49
>組み込みに何故.NETやFlashが比較対象になるのか理解できんが
今の携帯電話ってFlashだお。
組み込みに.NETは聞いたことないけど、M$的にはWinCE開発は.NET推奨だお。
75:デフォルトの名無しさん
07/01/12 11:26:53
最上位の極一部のみFlashかもしれんがそれより下はcだよ。
76:デフォルトの名無しさん
07/01/12 11:28:45
stlがstdlibに依存してる部分があるので流用が難しいんじゃないかな
BREWのヘルパー関数に置き換えれば良いんだけど
あとtemplateのサポートが甘かったし
RVDS2.2以降でC++のサポートが強化されてるはずなので金があれば
それ買って幸せになることもできるかも
(stdlibに関してはどうしようもないけど)
77:デフォルトの名無しさん
07/01/12 11:39:30
>>73
>なんでstlがダメなの?
例外がNGなのが主な原因だと聞いたことがある。
そのせいでSTLをそのまま持ってきても動かない。
自前でSTL相当のものを作ればいいけど、マンドクサすぎるしな。
つーかBREWが糞仕様なのは何とかならn(ry
78:デフォルトの名無しさん
07/01/12 11:42:00
elf2modでも回避不可かな?
79:デフォルトの名無しさん
07/01/12 12:11:05
・RVDS2.2はC++のサポートが強化されているが、仮想関数を使うと
RWPI領域にデータを持ってしまうのでBREWで利用できなかった
・Elf2Modがリリースされ、BREWアプリはRWPI領域を持てるようになったので、
RVDS2.2とC++を組み合わせた利用、及びglobal/static変数の利用が可能になった
・ただし、stdlibに関しては以下の制限があるので、既存のライブラリの流用などでは
ものすごい注意が必要
URLリンク(brewforums.qualcomm.com)
・RVDS2.2ではExceptionもサポートされている
templateのexportが出来ないようだ
80:デフォルトの名無しさん
07/01/12 22:30:23
BREWのコンパイラの話になるとRWPI領域だとかBSSセクションという言葉が出てくるのですが、
正直何のことかよくわかりません。コンパイラが吐き出すデータの内容を指すものなのでしょうか?
このARMのRWPI領域やBSSセクションについての資料はどうすれば手に入るのでしょうか?
もしくは日本語の解説があれば教えてください。
81:デフォルトの名無しさん
07/01/12 22:50:19
>>80
elf format の仕様書嫁
82:デフォルトの名無しさん
07/01/13 16:32:01
ありがとうございます。
ELFの仕様はあったんですが、これの日本語訳は無いんでしょうか?
URLリンク(www.skyfree.org)
83:デフォルトの名無しさん
07/01/13 19:26:46
>>82
スレ違いだから他のスレ行って聞いてくれ
84:デフォルトの名無しさん
07/01/14 14:30:50
>>82
URLリンク(caspar.hazymoon.jp)
85:68
07/01/16 16:07:46
おニューPC(XP)で動かしてみたら不具合が少なくなった('д')
Win2kだと表示まわりがおかしくなるっぽい。
XP使えと言う事のようです。
86:デフォルトの名無しさん
07/01/16 17:02:50
>>85
× Win2kだと
○ 自分が使ってたWin2kだと
何十台ものWin2kで試したわけじゃないだろ?
適当なこと書いちゃダメだぜ
87:名無しBREWたん
07/01/16 17:58:03
>>85-86
んだんだ。
単純に何かのランタイムが古いとかそんなことが原因かもしれん。
88:デフォルトの名無しさん
07/01/17 14:13:09
すみません、文字入力についての質問です。
BREW3.1でアプリ内の特定の位置で日本語入力をさせたいのですが
こういう場合はITextCtlを使う以外に方法がないのでしょうか?
ITextCtlについてマニュアル等を見て調べても、イマイチ使い方がわからず困っています。
ITextCTLのサンプルでも構わないので、よろしければご教授ください。
もしサンプルや解説等がなければ、何か別の方法で日本語入力できる方法はないでしょうか?
宜しくお願いします。
89:デフォルトの名無しさん
07/01/17 14:28:47
プログラミングガイドのサンプルコード
90:デフォルトの名無しさん
07/01/17 14:34:01 BE:328466047-2BP(0)
URLリンク(brewforums.qualcomm.com)
URLリンク(brewforums.qualcomm.com)
URLリンク(brewforums.qualcomm.com)
URLリンク(brewforums.qualcomm.com)
91:デフォルトの名無しさん
07/01/17 17:09:21
やっぱりフォーラムのサンプルをいじくるのがベターなんですね。
ありがとうございました・・・。
92:68
07/01/17 17:56:24
うーん、XPでも何かおかしいと思ったら
MAKE_RGBを使用せずに直接16進数で
RGBを指定していたのがマズいようで・・・
リファレンスに
(RGBVAL) ( ((uint32)(r) << 8) + ((uint32)(g) << 16) + ((uint32)(b) << 24) )
って書いてあるじゃんヽ(`Д´)ノ
失礼しますた。
93:デフォルトの名無しさん
07/01/19 18:11:43
ウイルスセキュリティZEROをPCにインストールしたらBREWエミュでの通信が
うまくいかなくなったのですが
他にこういうこと起こった人いますか?
94:デフォルトの名無しさん
07/01/19 19:49:15
通信許可してもダメなら
アンインストールすればいーんでないだろうか・・・
95:デフォルトの名無しさん
07/01/19 21:39:37
>>92 俺もそれではまった事あるぞ。
色のならびにあわせた名前の付け方して欲しいよ。
普通なら RGBVAL じゃなくて BGRVAL(またはBGRAVAL) とでもしておく方が直感的じゃね?
96:デフォルトの名無しさん
07/01/19 21:48:17
それだと、何の値かわからないって判断したんじゃない?
97:デフォルトの名無しさん
07/01/19 22:30:36
じゃあCOLVALとかにでもしとけや!ケッ
98:デフォルトの名無しさん
07/01/19 22:31:30
メモリ上の並びはRGBじゃん。
99:デフォルトの名無しさん
07/01/19 22:35:58
そうとも限らんのでは・・確認したことは無いが
100:デフォルトの名無しさん
07/01/19 22:47:40
いや、VRAM上とかDIBの構成じゃなくて、>92の値をメモリに書いたら。
101:デフォルトの名無しさん
07/01/19 23:11:21
どうだろね。"メモリに書く"という動作の定義によるけど
通常のイメージでいうとダブルワードの値をメモリに書く、ということになるだろうけど
そうなるとエンディアンで違いがでるんじゃないかな?と
102:デフォルトの名無しさん
07/01/20 08:28:38
ヒント:くあるこむ
103:デフォルトの名無しさん
07/01/22 14:47:38
>>92だとWin32の32ビットDIBのピクセル値と同じ並びになりそう。
それにしても、なんでBREWってWin32APIの痛すぎる命名や流儀をやたらパクってるのかね……。
104:デフォルトの名無しさん
07/01/22 18:45:58
ちょっと、お知恵を借りたいんですが……。
ゲームを移植してまして、一応最初はきちんと動作しているのですが、
シミュレーター上で2~3時間くらい動作させるとその内、IIMAGE_Drawや
IDISPLAY_DrawTextやIDISPLAY_FillRectを始めとする一切の描画機能が
働かなくなります(単にIDISPLAY_Updateが働かなくなっているだけかも
しれませんが……)。
その状態になった時にトレースしてみると描画がされないだけで、内部的には
正常にメインループが動作しており、MALLOC等もきちんと動作しています。
もちろん描画をフラグで飛ばしている感じでもありません。IDISPLAY_Update
も毎回通っています。
画像に関して、今まで正常に表示されていた物が何かを境にまったく表示
されなくなり、かつIDISPLAY_FillRectまで動作しない所を見ると、
CreateInstance等の処理に何か問題が発生したとも思えません。
IDisplayの値も調べましたが、特に破壊された感じではありません。
ちなみに実機上でやると、似たようなタイミングで端末リセットが発生します。
自分のソースがおかしい事は分かるのですが、どこで異常を起こしているのかが
つかめずにいます。
せめて何をきっかけに上記のような現象が発生するのかが分かれば手がかりに
なりそうなのですが、心当たりのある方いらっしゃいますでしょうか?
105:デフォルトの名無しさん
07/01/22 19:13:57
>>104
エミュに関してはエミュそのものがリークしているって
フォーラムにあったような気がした。
ただ前作ったアプリでは1日ランニングかけっぱなしでも平気だったけど…
兎も角ソフトそのものがリークしてないか虱潰しに見てくしかないんでないかね。
参考にならずスマソ
106:デフォルトの名無しさん
07/01/22 19:20:47
まぁ作ったもの解放してないとか、2回解放したとかじゃね。
フラグメントが進んでそういう症状出るとかだと南無い。
107:名無しBREWたん
07/01/22 19:20:53
ヒープオーバーランとか。
108:デフォルトの名無しさん
07/01/22 20:36:45
>>104
始めはまともに動作していて、一定時間経過後に動作不安定や不正終了ってのは
メモリ食い尽くしてエラーかな、とまず思った。
それならアプリを終了したときメモリリークを知らせるメッセージが出るけど、どう?
MALLOC、CreateInstanceの他、メモリを確保するタイプの
IXXX_GetXxxx()のような関数で取得したオブジェクトの解放処理もチェックだね。
109:104
07/01/22 23:33:20
みなさん。ありがとうございます!
やっぱりどうも基本的な部分に見落としがあるって事ですよね……。
とりあえず、根強く虱潰しに見ていこうと思います。
>>108
大体一時間ほどプレイした場合のメッセージ中、メモリーに関係有りそうなのが
以下で、それ以外エラーっぽい文章は出ていないのですが……。
前から気になっていたのがこの"28 Wasted"なのですが、これはどういう
数値なのでしょうか?
*AEEHeap.c:1186 - 0 Alloc - Total
*AEEHeap.c:1187 - 0 OEM
*AEEHeap.c:1188 - 0 BREW
*AEEHeap.c:1189 - 0 Apps
*AEEHeap.c:1190 - 28 Wasted
*AEEHeap.c:1191 - 10436560 Free - Total
*AEEHeap.c:1192 - 10436560 Largest
*AEEHeap.c:1193 - 0 Largest Non Seq.
*AEEHeap.c:1194 - 0 Total Non Seq.
110:108
07/01/23 00:36:47
>大体一時間ほどプレイした場合のメッセージ中、メモリーに関係有りそうなのが以下で
実行中のメモリリークは残メモリ量を常時監視してるとかじゃないと掴みにくいよ。
もしメモリ解放し忘れとかあれば、アプリ終了時にシミュレータの画面にエラーメッセージが出る。
画面にMEMORY ERRORとかなんとかそんなメッセージが出てないかって聞きたかった。
(NULLポインタへのアクセスでも出たと思うがはっきり覚えてない)
いや、もちろん、メモリリークが原因だと決まったわけではないけれど。
>この"28 Wasted"なのですが
それは>>105が言ってるようなやつ。気にしなくていいと思う。
111:デフォルトの名無しさん
07/01/23 01:56:51
>109
そのメッセージってリークさせた時だけ終了時に出る奴だと思ったが…
AEEHeap.cのはそれだけ?その直前にもなんか出てない?
112:デフォルトの名無しさん
07/01/23 02:05:53
エミュレータがリークしてるなんて書き込みはない
エミュレータがひたすらログをヒープ上に溜め込んでメモリを食いつぶすらしいが
Wastedはよく見るので多分あまり気にする必要はない
メモリリークしたときはBPOINTなんちゃらと出る希ガス
スタック上に確保したインスタンスの開放漏れとかそういうのが疑わしい
113:デフォルトの名無しさん
07/01/23 02:08:49
IBitmapからDIB取得したときとかの開放漏れとかもね
114:デフォルトの名無しさん
07/01/23 10:25:14
BREW3.1のシミュはアプリ終了時に
ホンの一瞬だけリークの表示画面出して
ランチャー画面に移っちゃって気づきづらい。
その代わり>109のログが出る。
リークしなければAEEHeep.cのログは出ない。
ということで>109はメモリリークでFA。
115:デフォルトの名無しさん
07/01/23 11:25:47
>*AEEHeap.c:1190 - 28 Wasted
コレってシミュレータを立ち上げて
消すだけでも出ない?
(何のアプリを起動しなくても)
今まで気にしてなかったんだけど…
116:104
07/01/23 11:38:12
すいません。勘違いしていました。
109のはシミュレーター自体を終了した時に出たメッセージで、
アプリ終了直後は特に109のようなログもBPOINTなんちゃらも
出ていないっぽいです(全文張ろうかと思いましたが長すぎる
みたいですので……)。
開発当初に>>114にあります一瞬出るメッセージが出たこともありましたが、
それはあからさまな開放漏れを修正する事によって解決しました。
とりあえず、皆さんの指摘の中にあります開放漏れを重点的にチェックして
みようと思います。
どうもありがとうございました!
117:114
07/01/23 11:48:29
スマン、シミュの終了時は見逃してた。
ただアプリ終了時にAEEHeap.cのログが出た場合は
リークしてることに間違いは無いよ。
118:デフォルトの名無しさん
07/01/23 11:50:23
ちなみにリークさせたときのログ
*AEEShell.c:8565 - App_Cleanup(1009ff0)
*OEMOS.c:548 - BPOINT Type 1, Node 0x048618E0 helloworld
*AEEHeap.c:1171 - ------ App Heap Info ------
*AEEHeap.c:1073 - 128 - helloworld #1624 c:\brew_sdk\3.1.2\sdk\examples\helloworld\helloworld.c:134 (L)
*AEEHeap.c:1185 - -------------------------
*AEEHeap.c:1186 - 161928 Alloc - Total
*AEEHeap.c:1187 - 0 OEM
*AEEHeap.c:1188 - 75409 BREW
*AEEHeap.c:1189 - 86519 Apps
*AEEHeap.c:1190 - 6104 Wasted
*AEEHeap.c:1191 - 2977756 Free - Total
*AEEHeap.c:1192 - 2940688 Largest
*AEEHeap.c:1193 - 2940688 Largest Non Seq.
*AEEHeap.c:1194 - 2977756 Total Non Seq.
*AEEHeap.c:1195 - -------------------------
*AEEShell.c:8087 - App_New (CREATED 1008000)
119:104
07/01/23 11:52:23
連投すいません。
ビットマップの開放なのですが、開放順序は関係有りますでしょうか?
手順はこんな感じなのですが……。
デバイスのビットマップ取得
↓
互換性のある作業用ビットマップ作成
↓
作業用ビットマップにパターン転送
↓
ITransformインターフェイス作成
↓
トランスフォーム転送
↓
ITransformインターフェイス開放
↓
IDISPLAY_Update
↓
作業用ビットマップ開放
↓
取得したデバイスのビットマップ開放
120:104
07/01/23 11:56:52
>>117
ありがとうございます。
確認したのですが、アプリ終了直後は特にAEEHeap.cからのログは出力されて
いないでみたいです。
121:デフォルトの名無しさん
07/01/23 12:01:22
開放する順番は多分関係ない
アプリ内でヒープの残量監視して、1時間アプリ走らせたあとに
ヒープ残量が想定以上に減ってないか確認してみれば
###BREWDEBUG#でみてもよし
122:デフォルトの名無しさん
07/01/23 13:41:55
最初にそこそこメモリMALLOCしておいて、不具合が出るまでの時間が減るか、とかアナクロな手法も。
123:デフォルトの名無しさん
07/01/24 11:22:32
まずは問題の切り分けだな。
ヒープの線が濃厚なら>>121のやり方でヒープ残量を監視。
一定タイミングごとに残量チェックして、前回から変わったらDBGPRINTで。
で、実際にヒープ量が減っていって、足りなくなって落ちるんならそっから絞込み。
■俺が良くやるリークチェック手順
まず、マクロで俺様MALLOC&FREE(new/deleteも)作って、確保・開放したファイル名、行番号とポインタを表示しとく。
↓
アプリを実行し、てきとーにプレイして終了
↓
出力ウィンドウを全部コピペし、エディタでメモリリーク用表示のみを抽出
↓
CSV形式に加工
↓
エクセルに持っていって、ポインタ順にソート
↓
正常なら同じポインタでMALLOCとFREE一回づつやってるはず。
数が合わなければそこの周辺がリークの発生場所。
※エクセルなので関数使って自動チェックするのも簡単
124:デフォルトの名無しさん
07/01/24 17:21:49
メモリ問題に割り込むかたちで済まないが質問。
半角全角絵文字混在の文字列から、使用不可文字を取り除く処理ってどうすんべか。
1文字ずつ切り出す
半角か全角か判別
使用不可文字かどうか判別
使用不可文字なら取り除いて文字列を詰める
…とかいちいちやるのひょっとして?
125:デフォルトの名無しさん
07/01/24 17:34:11
それ以外にどんな方法があるって言うんだー
126:デフォルトの名無しさん
07/01/24 18:09:00
STREXPANDした後のほうが全半判別いらないから楽かもとか思ってしまう俺手抜き
127:124
07/01/24 19:09:48
そうか、やっぱそうなのか。
そういうAPIは日本拡張パッケージで用意しといて欲しいや。
ITextCtlで入力された文字列から取り除くんだが
それならAECHARだから2byteずつの切り出しでOKってわけか。
とりあえずこれでやってみる。
128:デフォルトの名無しさん
07/01/25 18:12:51
qcpで再生、停止はできるけれど、
IMEDIA_Rewind(), IMEDIA_Fastforward(), IMEDIA_Seekが
シミュレータでことごとく動かない・・・
書籍とか読んで、ただコールするだけで良さそうなのにダメダメです
あと実機でwebからダウンロードを安定して出来ますか?
ISOURCE_Read()で250k位のファイルをDLしようとすると不安定になって
8割くらいで端末リセット食らいます、たまに成功するんだけどね・・・
129:デフォルトの名無しさん
07/01/25 20:10:21
>>126 なるほど、おまい頭いいなw
半角かな混在環境だと、漢字とカナのチェックで苦労するんだよな。
AECHAR用正規表現ルーチンとかあると楽なのに。
130:デフォルトの名無しさん
07/01/26 15:15:29
>>88でITextCtlについて質問したものです。
その後フォーラムやBREWのドキュメントを参考に文字入力を実装できたのですが
ITEXTCTL_SetRect()で表示した四角形の色を変える方法が分かりません。
デフォルトだと白なのですが、アプリの画面にあわせて色を変えたいと思ってます。
どうすればテキストコントロールの色を変更できるのでしょうか?
131:デフォルトの名無しさん
07/01/26 15:35:55
>>130
俺はITextCtlは普段一切表示しないで、
使うときだけ作成、
直後にKEY_PRESSEDイベントを擬似的にITextCtlへ投げて
FEPを起動してる。
なので描画は自由にやってる。
132:名無しBREWたん
07/01/26 15:46:14
>>130-131
うちも描画は自前。
ITectCtl_ReDraw() とかは、機種によって動作が替わるんで、あまりオヌヌメできない。
133:デフォルトの名無しさん
07/01/27 13:04:35
それでも色代えたいならIDISPLAY_Setcolor()当たりでできたはず(今検証デケンスマヌ)
だがやはりオヌヌメできない
134:デフォルトの名無しさん
07/01/28 01:14:16
ありがとうございます。
結局、全画面モードでネイティブエディタを即起動するようにしました。
知人に聞いてもITextCtl関連は機種依存が多いようなので
あまり変なことしない方が無難そうですね。
135:128
07/01/28 20:42:35
いくつかの機種でSDKについてくるメディアプレイヤーを使ったのですが
古い端末じゃないとmp3のインスタンスが作れないし
qcpだとどれもシークできないしで困っています。
音声ファイルのシークがしたいのですが、どうすれば実現できますでしょうか?
136:デフォルトの名無しさん
07/01/28 21:07:55
3g2とか使えないかな?
137:デフォルトの名無しさん
07/01/29 03:19:00
音データでqcp使ったこと無いや・・・
spfなら助言はできるんだが動作に違いあるんかな?
138:デフォルトの名無しさん
07/01/29 18:36:15
すみません、ちょっと曖昧な内容の質問になるんですが
クリアキーを押しただけでアプリが終了してしまうのは何が原因なのでしょうか?
こちらのプログラムではクリアキーに関する処理は何も実装していませんが
エミュで確認するとクリアーキーを押すと EVT_APP_STOP が送られてアプリが終了してしまいます。
こういう場合原因があるとすれば何が考えられるのでしょうか?
アバウトすぎて答えにくいかもしれませんが、少しでもヒントがあればと、質問してみました。
宜しくお願いいたします。
139:デフォルトの名無しさん
07/01/29 18:50:04
>>138
EVT_KEYイベントに対してfalseを返す
140:デフォルトの名無しさん
07/01/29 18:53:04
EVT_KEY/AVK_CLRにFALSEを返すと問答無用にアプリは終了させられる
BREWの仕様、イヤならとりあえずTRUE返しときゃおk
141:デフォルトの名無しさん
07/01/29 19:15:55
ありがとうございます!!解決しました!
EVT_KEYPRESS/RELEASEは処理してたんですがEVT_KEYはやってませんでした。
こんな単純な話だったとは・・・お手数をおかけしましたm(_ _)m
142:128
07/01/30 02:14:39
>>136
テストコード作って3g2を読み込みましたがIMEDIAUTIL_CreateMedia()でSUCCESSしませんでした。
やはりMPEG4エクステンションが必要でしょうか。
MSPレベルじゃ手に入ぽいんですよね。ぶっつけで実機確認してみようと思います。
>>137
声を扱いたいのでspfは使わないのです、申し訳ない。
で、現状の解決方法としてSDK3.1.5、シミュレータW41CAにてmmfのシークを確認しました。
音質悪いし圧縮率も悪いですけどね・・・gzipかけたときに小さくなるのが救いだけど。
3.1.2jaではIMEDIAUTIL_CreateMedia()の時点でダメでした。
次は実機確認してみます。駄報告でスマン
143:デフォルトの名無しさん
07/01/30 02:44:32
VisualStudioから実機でステップ実行できるようにするか、
メディアとかカメラとかもシミュレータで再現できるようにしろよなぁ…
144:デフォルトの名無しさん
07/01/30 04:14:04
>>142
SDK3.1.2のYAMAHA系DLLってなんか問題があって、差分がKDDIのほうで出てなかったっけ?
最近のは修正されてる?
145:デフォルトの名無しさん
07/01/30 07:06:12
PCの画面に携帯の端末が表示されるようなシミュレータないすか?
146:デフォルトの名無しさん
07/01/30 10:32:11
つ SDK
147:128
07/01/31 04:15:30
追記:
20K程度のmmfファイルのシークは出来ませんでした。3.1.4以降で確認。
3.X以降でまともにシークできるフォーマットとシミュレータは無いのでしょうか?
>>144
\bin\Modulesに入れるma3smwemu.dllでしょうか?
3.1.4以降もこのdll外すとmmfは再生できませんでした。
148:デフォルトの名無しさん
07/01/31 17:14:41
通信中やロード中などに、キーを連打しておくと、
画面が遷移した時に、専攻入力状態になってしまうのですが、
これを回避する方法はありますか?
遷移直後に、キーを初期化しても発生します。
149:デフォルトの名無しさん
07/01/31 17:37:23
遷移して数フレームは入力無視したら?
150:デフォルトの名無しさん
07/01/31 19:48:55
画面毎にイベントをヌルーするつくりにすればいいヂャマイカ?
151:148
07/01/31 20:12:57
レスありがとうございます。
とりあえずは画面が切り替わった際に数フレームかませることで回避できました。
>>150
その方向で手直ししてみます。
152:デフォルトの名無しさん
07/02/01 17:19:31
端末設定のEz番号通知・非通知を取得する方法はありますか?
153:デフォルトの名無しさん
07/02/01 20:31:16
>>152
サブスクライバIDが取得できなければ非通知、でなんかマズい?
154:152
07/02/01 20:37:37
>>153
非通知設定にしていても、普通に取得できてしまうのです。
非通知設定の場合は、通知を促す文言を表示したほうが良いと思いまして。
155:デフォルトの名無しさん
07/02/02 00:49:12
>>154
BREWアプリでのEZ番号取得は通知/非通知とは無関係に成功する。
サービスガイドとかちゃんと読んだほうがいいよ?
156:デフォルトの名無しさん
07/02/02 10:13:46
取得して何をするつもりですか?
157:デフォルトの名無しさん
07/02/02 12:17:45
サーバでユーザ判定するんだろ?
158:デフォルトの名無しさん
07/02/02 15:06:21
GCC環境についての質問です。
>>4で上がっている情報やフォーラムの情報を参考に環境構築中なのですが
VisualStudioのAddInにあるGCC用make作成ボタンを押しても
ARM用の中途半端なmakefileが作成されてしまいます。
どこかで読んだんですがC++だとmakeを作ってくれないらしいのですが
これを回避(自動でGCC用makefileを作成)する方法はありませんか?
それとも、C++の場合はmakeファイルは自作するしかないのでしょうか? orz
ご存知の方、宜しくお願いします・・・
159:デフォルトの名無しさん
07/02/02 15:17:01
>>152
聞くならQualcommのフォーラムじゃなくてKDDIに聞くべきじゃないかと
160:名無しBREWたん
07/02/02 16:49:07
>>158
テンプレートを書き換えればうまくいきそうな気がするけど、昔のこと何でもう忘れてしもーた。
161:デフォルトの名無しさん
07/02/02 20:57:18
そんなぁ・・・( @д@)/ 思い出せ~~思い出せ~~(※電波送信中)
つーか、今のところBREW3.1.2/gnude/Visualstudio2003/C++ という環境でやってるんですが、
GCCで開発する時ってmakefileはどうやってます?
やっぱり↓をベースにして自分で書くしかないのかなぁ・・・
(BREW AddIns)\common\templates\GCCAppTemplate.mak
162:161
07/02/03 13:36:10
結局、>>4 の情報やBREW Forum(日本語・英語)、ググって見つけたサイトの情報を元に
gnude/C++ でmodファイルを作るところまでは行ったんですが、実機で起動しないです・・・orz
コンパイルとリンクのオプション晒すので、間違いがあればどなたか指摘してくださいです。m(_ _)m
アプリのモジュールに加えて、AEEAPPGEN.c AEEMODGEN.c GCCRESOLVER.c もビルドに組み込んでます。
・コンパイルオプション
c:\gnude\bin\arm-elf-g++ -c -DDYNAMIC_APP -mcpu=arm7tdmi -mapcs-frame -mthumb-interwork -mlittle-endian -fshort-enums -fno-builtin -g
-fno-exceptions -fno-unwind-tables -ffunction-sections -fno-rtti -IC:\BREWSDK3.1.2\sdk\inc -IC:\gnude\lib\gcc-lib\arm-elf\3.3.1\include
-Ic:\gnude\arm-elf\include -O2 -o main.o c:\test\main.cpp
・リンカオプション
c:\gnude\bin\arm-elf-ld --cref -Ttext 0 --emit-relocs -entry AEEMod_Load --gc-sections -o test.elf -LC:\gnude\lib\gcc-lib\arm-elf\3.3.1
-Lc:\gnude\arm-elf\lib AEEAPPGEN.o AEEMODGEN.o GCCRESOLVER.o CAPTUR~1.o main.o (必要な .oファイルは全部書いてます)-lm -lc -lgcc
163:161
07/02/03 13:36:42
あと、リンク時に以下のワーニングが出るんですが
/cygdrive/c/gnude/bin/arm-elf-ld: Warning: C:\gnude\lib\gcc-lib\arm-elf\3.3.1/libgcc.a(_divsi3.o) does not support interworking, whereas test.elf does
/cygdrive/c/gnude/bin/arm-elf-ld: Warning: C:\gnude\lib\gcc-lib\arm-elf\3.3.1/libgcc.a(_modsi3.o) does not support interworking, whereas test.elf does
/cygdrive/c/gnude/bin/arm-elf-ld: Warning: C:\gnude\lib\gcc-lib\arm-elf\3.3.1/libgcc.a(_dvmd_tls.o) does not support interworking, whereas test.elf does
これってGCCAppTemplate.makの最初に↓のようなコメントがあるので、無視してかまわないのでしょうか?
# Notes:
# 1. While building the application using this make file, the following warnings may be
# received. They can be safely ignored:
#"Warning: _divsi3.o does not support interworking, whereas <Your App>.elf does not"
#"Warning: _dvmd_tls.o does not support interworking, whereas <Your App>.elf does not"
#"Warning: cannot find entry symbol _start; defaulting to 00008000"
164:161
07/02/03 13:53:31
あ、ちなみに同じコードをRVCTでビルドすると問題なく動きます。
大人の事情でどうしてもGCC環境を構築しないといけないので
「素直にRVCTでビルドしやがれ!」というレスは無しで。(つдT)
165:デフォルトの名無しさん
07/02/03 23:00:51
素直にRVCTでビルドしやがれ!
166:デフォルトの名無しさん
07/02/03 23:24:29
ロガーを使って、実機でどのようなエラーが出ているか確認できないのか
167:161
07/02/04 10:50:06
起動した瞬間、実機ごと落ちるとです・・・
168:デフォルトの名無しさん
07/02/04 11:10:42
>>161
俺も同じ症状で結局gcc使うのあきらめた
ADS使うので、今は環境も消しちまって確認してないんだが、その後
AEEmodGenを壱番最初にリンクする必要がある、とかなんとか見たことがあった
-entry AEEMod_Loadの指定が正しい動作しないとかなんとか、という理由で
169:デフォルトの名無しさん
07/02/04 13:12:15
大人の事情とは、金の問題か
170:デフォルトの名無しさん
07/02/04 13:56:04
おっかねー話だな
171:デフォルトの名無しさん
07/02/04 15:43:46
ずばりQのフォーラムで聞いてみたらどうだろうか?
GCCを使う場合、AddInではC++が通るmakefileが作られない。
自前で用意したmakefileでビルドはできたが、実機では起動時点で動かない。
GCC(GNUDE)を利用したC++向けのmakefile記述の注意点と、
GCC(GNUDE)を利用した開発環境構築の助言が欲しい。
とかメッチャ都合のいい質問。
英語の方のフォーラムに誘導されておしまいだったりして。
172:デフォルトの名無しさん
07/02/04 19:48:05
mapファイル出力してAEEMod_Loadが先頭にあるかチェック
gccは昔自分でgcc自身からビルドして使ってたけど(ちなみに3.3。makeもgnuの奴で)
どうしてもmodのサイズがでかくなるんで使うのやめた。
173:デフォルトの名無しさん
07/02/05 11:52:21
>>171 英語でも
you build on RVCT stupid! Hahahaha!
とかいわれたりしてなw
174:デフォルトの名無しさん
07/02/05 13:02:18
use RVCT, you stinkin' loser!! Ha ha!
175:名無しBREWたん
07/02/05 14:21:33
>>161
ld に渡すモジュールの順番が間違ってる。
AEEModGen.o が一番最初。
これは、>>168 の言うとおり、-entry フラグが有効に機能しないため。
さらに、アプリサイズがでっかくなりすぎてどうこうというのは、
gnude じゃなくて GNUARM を使うことをおすすめする。
平均で半分ぐらいのモジュールサイズになる。
URLリンク(brew.s214.xrea.com)
176:デフォルトの名無しさん
07/02/05 16:05:07
GCC くらい自分でビルドすればいいのに
177:デフォルトの名無しさん
07/02/05 19:56:46
>>175
GNUARM を GUNDAM と読んでしまった件
178:デフォルトの名無しさん
07/02/05 20:42:38
安物NICのMACアドレスでライセンスとって
SoftEtherやVMwareで使いまわしときゃいいんだから
RVCT一個くらい買っとけ。
179:デフォルトの名無しさん
07/02/05 20:48:30
またがんおたか!
180:デフォルトの名無しさん
07/02/06 01:12:15
ここのメンツは数年前からほとんど変化が無い
181:デフォルトの名無しさん
07/02/06 08:18:13
だがちょっと舞ってほしい
おまいらお疲れSummer
182:デフォルトの名無しさん
07/02/06 11:01:19
半年くらいBREWの開発はしてないが見てる俺。
183:デフォルトの名無しさん
07/02/06 11:03:56
ちとスレ違いかもしれないとですが。
モバイルソリューションパートナーの登録が済んだのですが、
サイト内の仕様書を見ると各種端末仕様書と、
各種デバイス構成ファイル、
法人向け~仕様書が見えます。
で、一般向け?の仕様書が見当たらないのですが、
これらはどうすれば入手できるのでしょうか?
184:デフォルトの名無しさん
07/02/06 12:10:29
>>183
一般向けってなに?公式コンテンツ作りたいなら
CPになんなきゃ。まずは企画審査がんばってください。
185:デフォルトの名無しさん
07/02/06 15:38:16
なぜか知らんがE03CAは、ICAMERAで
DeferEncode(FALSE) にすると RecordSnapshot() で落ちる。。。
DeferEncode(TRUE) にすると、うまくいく。。。
そしてアプリ終了時に BAD POINTER Type 3 が出てるんで、
どうもどこかを解放しすぎたっぽいんだが、追い切れない。。。
そんなことをし始めてそろそろ24時間経ちました。。。orz
186:183
07/02/06 16:16:52
>>184
ありがとうございます。
ウチは下請け専門でして、仕様書等はCPから入手してました。
その手間を察してか、
事務の方がモバイルソリューションパートナーの登録を行ってくれました。
で、サイトの方を見てみたら183の通りでして…
一般向けと言うのが適切かわからないのですが、
例えばサービスガイドだとタイトルが
「法人向けEZアプリ(BREW(R))サービスガイド(BREW(R)3.1版)」
となっていまして、以前CPから頂いたものに「法人向け」と
文言が加わっており、内容も若干法人向けになっています。
「法人向け」でないサービスガイドが入手できれば十分なんですが、
私のサイト内検索の方法が悪いのか、登録方法に問題があったのか、
その程度の情報でよいので何かアドバイスお願いできませんか?
187:デフォルトの名無しさん
07/02/06 16:31:03
>>185
ぐおお、DeferEncode(TRUE) にしたら、VGA での撮影はできないんだとよ。
※ICAMERA_GetSizeList() による調査結果。
・・・なんぢゃそら。ヽ(`Д´)ノ
188:デフォルトの名無しさん
07/02/06 16:54:24
>>186
あぁそういうことですか。
当然ながらCP用のコンテンツはありません。
サービスガイドや検証関連は
正規のものをクライアントさんにもらってください。
MSPだとBREWテスト端末を勝手に確保したり
testsigの取得やなんかもできちゃうんで、
そーゆー意図で便宜を図ってくれたんじゃないかと。
うちはモバソリで自社提供と、CPな子会社の下請けやってますが、
機種情報やプログラミングガイドなんかは法人向けので
充分というか、こっちの方が新しい情報がのってたりするので
重にこちらを参照するようにしてます。
あ、CP向けのほうが機種毎の障害情報とか充実してるけど。
189:183
07/02/06 17:26:02
>>188
CP向けのコンテンツと分かれていたんですか。
機種情報等は十分な情報量なので、こちらで満足します。
どうもありがとうございました。
190:デフォルトの名無しさん
07/02/06 18:29:01
>>187
ヒント1:端末仕様書
ヒント2:ハード系(カメラ・ストレージ・音源・エンコなど)は実装依存が激しい
ヒント3:そもそもカメラを使わない企画がオヌヌメ
191:デフォルトの名無しさん
07/02/07 00:37:25
E03て何だっけ?法人端末?
扱ってる人も少ないだろうし乙としかいいようが無いな
192:デフォルトの名無しさん
07/02/07 01:36:23
>185
解放しすぎじゃなくて解放し忘れじゃね?
ところで、カメラで写真何枚も撮ってない?
193:デフォルトの名無しさん
07/02/07 01:38:55
E03CA・・・W42CAにデカバが付いたやつだよね。
テスト端末が机の墨に転がってるけど風呂場にも持って入れるから結構好きだ。
194:デフォルトの名無しさん
07/02/07 11:25:16
あれ…、app->a.pIDisplayに任意の色を透明色設定するのってどうすればいいんんだろう?
というか、勝手に透過するんだけどデフォルトで透明色って設定されてるんだろうか?
195:デフォルトの名無しさん
07/02/07 11:41:52
IBitmapやIImageに設定するもんじゃないか?
196:デフォルトの名無しさん
07/02/07 13:12:03
PNGのtRNSチャンクで指定する。
IDisplayの透過に関しては知らない。
197:デフォルトの名無しさん
07/02/07 13:25:19
IDISPLAY_GetDeviceBitmap() で IBitmap を取り出して IBITMAP_SetTransparencyColor() だろ、常識的に考えて…
198:194
07/02/07 15:43:28
>197
うーん、それやってみたんだけどなんか反映してないっぽいんですよね。
しかも勝手に透過色255,0,255とかになってるんだけど、これって
自分で設定してるからなのかな?
199:デフォルトの名無しさん
07/02/07 15:52:39
画像側で設定されてると自動で透明色が指定される
BREW2.1以前だとされないけど
200:デフォルトの名無しさん
07/02/07 15:59:44
NativeColorとRGBVALを間違えてたり・・・・・・ない?
201:デフォルトの名無しさん
07/02/07 17:05:11
透過色は画像データの方にもたせなきゃ意味がないんじゃ
IIMAGE_DrawするならIImageに、IDISPLAY_BitBltするならIBitmap(pbmSource)に
202:185
07/02/07 17:06:24
>>192
レスサンクス。
解放し忘れだと BAD POINTER Type 1 になる。
写真何枚も撮ってる。むしろ撮らなくてもプレビューするだけで BAD POINTER になる。
そして、>>187 のとおり、DeferEncode(FALSE) で何とかすることによって無事解決。
撮影した瞬間の画像が画面に出せないけど、まぁそこはあきらめることにした。
203:デフォルトの名無しさん
07/02/07 17:07:35
あと、デフォルトが 255,0,255 なのは仕様
MAGENDAが透過色ってどっか(多分AEERasterOp)の説明に書いてある
204:デフォルトの名無しさん
07/02/07 19:13:26
k-brew-testでメモリを減らしていき、
端末のメモリ不足エラーが出なくなるぎりぎりのところで起動すると
AEEClsCreateInstanceが呼ばれる前に端末再起動がかかります。
もう少しメモリを増やすと、アプリが正常に起動し、
仕込んでおいたメモリ不足画面にいってくれるのですが、
このような現象を回避する方法はありますか?
ちなみに、W32Sでのみ起きています。
205:194
07/02/07 19:27:34
>201
それだ!
orz
どうもありがとうございます。
206:デフォルトの名無しさん
07/02/08 00:25:42
>>204
どっかのエラーを見逃してるか、不正アクセス。
あとは AEEClsCreateInstance() に行く前にえらい時間を掛けててタイムアウトとか、
Makefile の -rwpi を消してるとか。
207:デフォルトの名無しさん
07/02/08 01:20:20
そういえば、端末にファイル読み書きするときに、一括で行ってよい最大サイズって
10kまでとかどっかで読んだ記憶があるんですが、これってどこに書いてあるんでしたっけ?
散々資料探してるんだけどどこにも見当たらない。
208:デフォルトの名無しさん
07/02/08 01:58:17
>>207
プログラミングガイドを10KBで検索
209:デフォルトの名無しさん
07/02/08 02:10:11
>>207
それってCLOSEイベントハンドラ内で
書き込める上限って意味だろ。
210:204
07/02/08 11:17:54
>>206
AEEClsCreateInstanceが呼ばれる前に落とされるとなると
エラーを拾う場所が、もう無いような気がするのですが。
ちなみに-rwpiを消しているわけではありませんでした。
211:デフォルトの名無しさん
07/02/08 11:23:27
「AEEClsCreateInstanceが呼ばれる前」というのをどう判断してるかだな
DBGPRINTFのメッセージはリセット時にたいてい失われるから
いっぺんAEEClsCreateInstanceで何もせずにエラー返して、ほんとに
そこに進入してないのか確認した方が良い
212:デフォルトの名無しさん
07/02/08 12:33:52
ネイティブ側もBREWで書かれていて、k-brew-testでムチャすると
逝ってしまう端末なかったっけ
213:デフォルトの名無しさん
07/02/08 13:40:16
W21Kあたりかな
UIがほとんどBREWのようだ
214:デフォルトの名無しさん
07/02/09 15:57:36
かれこれBREWの開発から離れて久しいが。
k-brew-testだとメモリ少なくした時にk-brew-test自体が落ちるから、
極端にメモリ少ない状態でやるならShaker使うのが普通だったはずだが(´・ω・`)
215:デフォルトの名無しさん
07/02/13 08:35:53
k-brew-testみたいな適当なソフトで検証されてもな
って思うよな。
あとAEEClsCreateInstance内のエラーハンドリングは、
注意しないと検証で文句言われる。(経験)
216:デフォルトの名無しさん
07/02/13 09:13:12
でも、Shakerは検証項目からはずれてるからなー。
217:デフォルトの名無しさん
07/02/13 11:31:57
Shakerでやって大丈夫なのにk-brewで落ちたら
k-brewが落ちるので修正してくださいってw
218:デフォルトの名無しさん
07/02/14 17:39:02
BREWの実機用コンパイラで、「使っていない変数がある」というwarningを抑制する方法はありませんか?
#pragma unused相当のものが望ましいのですが。
219:デフォルトの名無しさん
07/02/14 17:46:13
>>218
> BREWの実機用コンパイラで、
って言われても色々あるわけだが、
普通は -W のオプションがあるだろ。
220:デフォルトの名無しさん
07/02/14 18:04:48
多分中の人も見てるだろうけど、
ウィリアムのいたずらの開発日記氏のフレームワークぽいの
使ってる人いるのかね?
見ててちょっと気になった。
>>218
voidでキャストして正攻法で消してる。
リリースビルドだとDBGPRINTF消しマクロのワーニングが大量発生してるがw
221:デフォルトの名無しさん
07/02/14 23:37:10
>>220 BREWアプリ程度のプログラム組むのにわざわざ他人の書いたフレームワークを使おうとする奴の気がしれんな。
他人のソース解析したり使い方を覚えたりする暇があれば、自分で一本書いた方が安心だろ。
そもそもそんな拾いもんのフレームワーク使ってバグが出たときにどうすんだと。
222:デフォルトの名無しさん
07/02/15 01:37:20
拾いもんでもいいもん!
223:デフォルトの名無しさん
07/02/15 01:43:09
>>221
ってハニー
224:デフォルトの名無しさん
07/02/15 14:57:58
>>221
俺んとこ自社製のフレームワークがあるけれど、信用できんからいまだ旧作からコピペしているよ。
下手に高機能なものより、枯れてる方がいいと思うんだ、ウン。
225:デフォルトの名無しさん
07/02/15 15:08:46
普通フレームワークは実績のあるプログラムを使うもんじゃアルマジロ
それは兎も角IThread使い慣れるとBREW2.1に戻りたくなくなるね。
困ったもんだ(´・ω・`)
226:デフォルトの名無しさん
07/02/15 22:14:33
つか2.1もう排除してくれ
古臭いのをお大臣様のように大事にしやがて
227:デフォルトの名無しさん
07/02/16 00:55:36
2.1の端末ほとんど出ないじゃん
228:デフォルトの名無しさん
07/02/16 04:31:24
>>221
おまいさん、
エクステンション?新しく作ってやんよ。
とか言いそうだな。
229:デフォルトの名無しさん
07/02/16 21:53:15
IThreadなんて使ったことないや。
つかKDDI向けじゃ使えないし。
230:デフォルトの名無しさん
07/02/16 23:48:05
すなおにc++で公開してください
231:デフォルトの名無しさん
07/02/17 02:29:45
さっさとマルチスレッド実装してほしい
232:デフォルトの名無しさん
07/02/17 14:48:48
マルチスレッド導入したらしたで、また検証に項目が増えたり
必須実行項目が増えたりするんだろうなー('A`)y-~~
検証項目なんて作ってて出たバグの対応方法リストだしなw
233:デフォルトの名無しさん
07/02/17 18:26:38
しかもその大半は端末の方のバグな
234:デフォルトの名無しさん
07/02/17 19:27:46
端末の使用への準拠具合も、Qualcomm がきちんとチェックするべきだよな。
…チェックしてこの程度ならもう何もいわないが。
235:デフォルトの名無しさん
07/02/18 02:04:37
C++でやる場合ってnewをオーバーライドすると思うんですが、そうするとメモリリーク時に出るメッセージが全てnew内部のMALLOCの行番号になってしまいます。
とりあえず現在はnew呼び出し時に行番号とポインタをDBGPRINTして、リーク時のメッセージといちいち突き合わせして確認している状況です。
これだとメモリリークの発生源がなかなか特定できなくて不便なのですが、どうやって解消すれば良いのでしょうか?
236:デフォルトの名無しさん
07/02/18 02:40:00
>>234
Qualcommバグが無いとでも?
237:デフォルトの名無しさん
07/02/18 03:36:07
>>235
void* operator new( size_t size , const char* file , int line ){
return DBGHEAPMARKEX( MALLOC( size ) , file , line );
}
っていうのを定義しておいて、共通ヘッダに、
#define new new(__FILE__, __LINE__)
って書けばいいんでない?
operator new を使うときにめんどくなるけど。
238:デフォルトの名無しさん
07/02/18 03:54:46
一ユーザーだけどこれマジかい?
[297] 非通知さん sage
2007/02/17(土) 18:26:16 ID:smC0VA1u0
DoCoMoなみにJavaの自由度広げると、機種の検証が大変なんよ
それも出す度にだからね。
万一ケータイが壊れたりデータ飛んだらやばいだろ?
BREWなら検証制度あるから、そこでテストして弾けば、端末側に問題あってもOKなのよwww
これが新端末連発でしかも安く出来る一つの要因なわけ
239:デフォルトの名無しさん
07/02/18 05:26:40
連発、安くできる要員ってんなもんねーわな
たぶん
240:デフォルトの名無しさん
07/02/18 08:56:26
最後の一行だけなんで付いてるのか分からない文だな。
不具合があっても出荷できるから納期が短くなって安くできる
って言いたいのだろうか?
それ言ったら今の携帯はファームアップデートできるしな(´・ω・`)
241:デフォルトの名無しさん
07/02/18 12:47:09
ただのあう叩きじゃねーの?何したいのかわからんな
242:デフォルトの名無しさん
07/02/18 16:04:41
>>229
IThreadがNGって2.xの話じゃなかったっけ?
3.1のみでもNG??
今手元に資料無いのでアレなんだが、
たしか「リファレンスに乗ってないAPIは使用禁止」って記述から、
BREW2.xでIThreadは使えないって事だったような。
243:デフォルトの名無しさん
07/02/18 18:07:29
IThreadついてるの3.xからでしょ。
んで、動作保証ができないんで非推奨だったとおもった。
禁止されたかは覚えてない。
244:デフォルトの名無しさん
07/02/18 21:04:47
IThread自体は2.1であるよ
ただQualcommとして非推奨(試験的実装)だった
3.xでQualcomm的には公式API
245:デフォルトの名無しさん
07/02/18 21:19:21
2.1からあったのか・・・
じゃあ、単にKDDI側の実装時の検証がすんでないとかそういうことか。
検証すらしてなかったりして。
246:デフォルトの名無しさん
07/02/18 21:44:25
スレッドを使いたくなる用途って何があるのかな…
俺はスレッド必要ないな
247:デフォルトの名無しさん
07/02/18 22:06:45
まあ俺に必要なBrewのスレッドは、ここだけだ。
248:デフォルトの名無しさん
07/02/18 22:50:02
>>246
Javaのスレッドマンセーなプログラムの移植とか。
あと非同期処理とUIが重なったとき
イベントトリブンなプログラムで書くよりかは
スレッド使った方がスマートになると思う。
Win32で言うところの DispatchMessage が有ればスレッド使わんでも良いのだけれど。
249:デフォルトの名無しさん
07/02/19 21:59:17
>>247
だれがうまいこといえt
250:デフォルトの名無しさん
07/02/20 00:25:34
とりあえずKDDIでは3.1のIThreadは使用禁止だったよ。某支援サイトのFAQ。
まぁ使用は海外の仕事だけにしておきたまえ。
もしくは自己責任で。使用禁止な以上、42SAみたいなことがあっても
周りは誰も責任とってくれないぜ。
動いてんならかまわないとは思うけどね。
251:デフォルトの名無しさん
07/02/20 02:17:28
>>250
サンクス。
今日一日調べてもIThread禁止の記述が見つからないし
職場が2chアク禁で書き込めもできないし悩んでた。
下請けだもんで支援サイトとやらが・・・orz
いいや、もう忘れよう。
俺は何も見なかったんだ。そうにちまいない。
252:かぬ
07/02/20 17:12:27
以前 gccだとVSPRINTFが上手く行かないって話があったけど、
va_listのアドレス渡しでいけるよ。俗に言うポインタのポインタか(w
#ifdef __arm
int len = VSPRINTF(pBuf, format, (va_list)&ap);
#else
int len = VSPRINTF(pBuf, format, ap);
#endif
253:デフォルトの名無しさん
07/02/20 18:17:55
質問です。
MALLOCした領域を開放せずにアプリが終了したばあい、その領域って勝手に開放されちゃうの?
254:デフォルトの名無しさん
07/02/20 18:40:43
携帯の電源が落とされるまでそのまんま。
勝手に開放してくれるんならテストする必要ないでしょ。
255: ◆LOUDNESSQA
07/02/20 18:43:37
だってそんな現象がおきちゃったんだもん。
256:デフォルトの名無しさん
07/02/20 18:46:26
ノイズだかなんだかわからないレスが紛れ込んでるな
257: ◆LOUDNESSQA
07/02/20 19:33:10
自己解決しました。
開放されるが正しいよぅでつ
258:デフォルトの名無しさん
07/02/20 19:37:56
>>257
現行の端末全部で試してみな。
259: ◆LOUDNESSQA
07/02/20 19:44:07
だってQ社がそう言ってるんだもん。
OEM依存ぢゃなぃんぢゃね?
260:デフォルトの名無しさん
07/02/20 20:03:49
ふーん。
261: ◆LOUDNESSQA
07/02/20 23:59:10
><。
262:デフォルトの名無しさん
07/02/21 15:42:05
IHtmlViewerのサスペンド/レジュームまわりについて質問です。
W42SAでテストしているのですが、
テキストボックスがあるHTMLに何かしら入力された状態で
サスペンド/レジュームを行うと、
レジューム後端末が落ちてしまう現象が起きています。
テキストボックスが空の状態だとレジューム成功するので、
原因がサッパリ判りませんです。
ちなみにサスペンド時にインスタンスを開放せず、
レジューム時にIHTMLVIEWER_SetActive()で復帰させると大丈夫ではあるのですが…
これをするとサービスガイドに違反(´・ω・`)
何かアドバイス頂けないでしょうか~
263:デフォルトの名無しさん
07/02/21 16:58:44
IHTMLVIEWER は、サスペンド時に解放すべしってあったような。。。
きっとサスペンド中に保持してると不具合があるんだよ。
264:262
07/02/21 17:14:35
すみません、イージーミスでぬるぽしてました(;´ρ`)
switch( eCode ){
・・・
default:
× return IHTMLVIEWER_HandleEvent( m_pIHtmlViewer, eCode, wParam, dwParam);
○ return m_pIHtmlViewer && IHTMLVIEWER_HandleEvent( m_pIHtmlViewer, eCode, wParam, dwParam);
}
テキストボックスに入力されていると~ と言うよりは、
入力されない場合はたまたま何も無かったらしいです(´・ω・`)
失礼しますた。
265:デフォルトの名無しさん
07/02/21 17:14:46
ちゃんとイベントハンドラ書いてるか?
IHTMLVIEWER_HandleEvent()
266:265
07/02/21 17:16:19
む、タッチの差だったか
267:デフォルトの名無しさん
07/02/22 17:56:03
すみません。Visual Studio 2003で開発してるんですけど、デバッガで
変数に代入されたときにブレークポイントで停止するって機能を
ちゃんと使えてる方います?
いや、なんかこの機能だけうまく動作しない…。
268:デフォルトの名無しさん
07/02/24 12:12:39
>>252 かぬさん ありがとう
269: ◆LOUDNESSQA
07/02/24 23:28:01
URLリンク(brewforums.qualcomm.com)
アプリがMALLOCで確保したメモリは、アプリの終了時に開放されます。
ポインタのアドレスを渡して中身を共有することは動作上は問題ありませんが、上記の通り他のアプリが確保したメモリは他のアプリが終了するタイミングで開放され生存期間の保証がありませんのでお勧めしません。
270:デフォルトの名無しさん
07/02/25 00:49:15
>>269
まあそれで検証が楽になるならいいんだけどな。
勝手に解放してくれるからって、CPになんかメリットあんの?
271: ◆LOUDNESSQA
07/02/25 01:00:02
むしろデメリット。
シングルトンエクステンションの場合、
Aアプリがエクステンションを生成して、Bアプリ、Cアプリが参照して、
Aアプリが終了(インスタンス開放)すると、
Bアプリ、CアプリがAddRefしているからFREE()は行わないはずなんだけど、
FREE()を行ったのと同じ動作になっちゃうんです。
272: ◆LOUDNESSQA
07/02/25 01:10:17
あるいは、AアプリがMALLOCした領域をPostEventにて、
Bアプリに送る。
Bアプリにイベントが届く前にAアプリが終了した場合、
その領域が保障されません。
273:デフォルトの名無しさん
07/02/25 07:39:51
メモリやりとりの場合、
参照しているのがあったら終了しないのが常識と思っていた
(Windowsでもメモリ内容を直接、他アプリに渡す
WM_COPYDATAメッセージがあるが、それも同様)
が、そういう考え方もあるのね‥‥
(Windows等、他のOSで271,272のような操作を行って
正常に動作するかは、やったことなんて無いので分からない)
274:デフォルトの名無しさん
07/02/25 07:41:46
というか、大抵はアプリ終了時は
責任を持ってアプリ内でFREEするのが常識と
思っていたな(w
275:デフォルトの名無しさん
07/02/25 11:28:15
というかBアプリとCアプリが参照してる状態でAアプリは終了出来るのか?
そんでもしそれが出来たとして、Aアプリが終了したらBアプリとCアプリから参照してるAアプリは不正になるわけで。
で、しかもAアプリが残した残骸があったら、BアプリかCアプリがFREE()することになるんだろうけど、
そんな別アプリにまたがって解放できるかどうかが問題だし、そもそもそんな構造にすべきじゃない。
276:デフォルトの名無しさん
07/02/25 13:04:39
○○はサスペンドする時に必ず開放してくださいって
検証項目に追加すればおk
277:デフォルトの名無しさん
07/02/26 02:34:06
んな危険な事しないで一時ファイルに書き出せよ
278:デフォルトの名無しさん
07/02/26 04:25:57
そーゆー話をしてるわけじゃないだろ?
279:デフォルトの名無しさん
07/02/26 15:13:39
参照カウントが0じゃないんだったら勝手にメモリが解放されるってことはなさそうだが。。。
要は、IBASE_Release() したあとに、エクステンションが確保した領域のメモリは使えないってことか?
280:デフォルトの名無しさん
07/02/26 22:56:27
BREW様の仕様d
281: ◆LOUDNESSQA
07/02/27 00:20:32
>>279
参照カウンタが0じゃないと明示的にFREE()しないはずだけど、
生成したアプリが終了したときに勝手に開放される仕様らしい。
282:デフォルトの名無しさん
07/02/27 10:50:47
プロセス越えをするんなら、MALLOCじゃなく真にOS管理のヒープ機能使わないと駄目だろ
それともMALLOC=IHeap_Mallocなのかね?
Windowsだって一般にプロセスローカルなmallocじゃなく、GlobalAllocとか共有のための
メモリ管理機能をつかうことになるってのに
271のはBREWというより、むしろそのエクステンション自体のバグでしょ
多数から使われることを考慮してない実装になってるとかそんな感じの
そんな対応策無い、というなら280同意でゴルゥア
283:デフォルトの名無しさん
07/02/27 15:08:01
>>280
そりゃああれか、エクステンションで確保したメモリは BREW OS から見ると
呼び出し側が確保したメモリ空間と同じになるようなヒープ管理してるってことか。
だから呼び出し側が終了で勝手にメモリ解放する仕様なのか。
だとすると、>>282 が言うように、GlobalAlloc
のような動作をするメモリ確保が出来ないときついね。
284:デフォルトの名無しさん
07/02/27 20:32:49
というかそれほんとに起こるの?
さすがにそんな糞な仕様になってるとは思えないんだけど。
コテハンの奴は信用できないから誰か確認してちょ。
それともフォーラムに質問投げるかね。
285:デフォルトの名無しさん
07/02/27 21:14:49
未開放があると普通に端末リセット掛かった記憶があるのだが
もう随分BREW触ってねーから覚えてねえや
286:デフォルトの名無しさん
07/02/28 02:28:23
>>251
ITHREADは利用禁止@開発支援サイトのFAQ
287:デフォルトの名無しさん
07/02/28 12:30:43
284
ykuboさんが言っているからまちがいない。
288:デフォルトの名無しさん
07/02/28 20:07:55
>>287 ykuboソースきぼん
289:284
07/02/28 20:57:34
>>287
俺が言ってるのは、>>280 の
>エクステンションで確保したメモリは BREW OS から見ると
>呼び出し側が確保したメモリ空間と同じになるようなヒープ管理してるってことか。
これに対してのレスな。
まあよく考えたら呼び出し側のメモリ空間になる訳が無いんだが。
あと、アプリが終了したときに解放されるのはそれでいいんじゃね。
PostEvent() でメモリ送るとか言ってるクソバカは困るかもしれないけどな。
290:デフォルトの名無しさん
07/03/01 10:53:12
新しい端末だと解約したらアプリ動かせなくなってきてる?('A`)
291:デフォルトの名無しさん
07/03/01 13:07:41
>>290
USIMカード端末は無理だね・・・
開発会社泣かせな仕様になったもんだ。
292:デフォルトの名無しさん
07/03/01 13:57:03
新規じゃなくて機種変で同じSIMカード使い回しならいけるよ。
Docomoと違ってSIMカードが違うと受け付けないのが面倒だけど。
293:デフォルトの名無しさん
07/03/01 16:24:38
QVGA対応のアプリから、ワイドQVGA対応アプリ(ブラウザとか)を呼び出すという事を
やってるんですが、EVT_APP_RESUME で戻って来た時に、IDISPLAY_ClearScreen
しても、QVGA領域しかクリアされないので、上の部分にワイドQVGAアプリの表示が
残ってしまうのですが、これって、呼び出し元のQVGAアプリからじゃ消せないですか?
294:デフォルトの名無しさん
07/03/01 16:56:16
>>293
復帰時に自動的にQVGAの範囲でクリッピングされてるとか。わからんけど。
AEEDeviceInfoのpDeviceInfo->cyScreenはどうなってる?
これでQVGA範囲だったら、じゃぁその範囲でしか描画処理は及ばないのだろう。
295:デフォルトの名無しさん
07/03/01 18:19:54
pDeviceInfo->cyScreen は 296 ですね。
調べたら AEECLSID_DISPLAY3 でなんか出来そうなので、やってみてます
296:デフォルトの名無しさん
07/03/05 19:28:32
ひなまつりは過ぎてしまいました保全。
297:デフォルトの名無しさん
07/03/06 13:12:36
だれか「BREWたん」を描いてよ。
298:デフォルトの名無しさん
07/03/06 13:35:11
BREWタンは選民意識が強いから、平民の勝手ユーザーは相手にしないよ!
299:デフォルトの名無しさん
07/03/06 22:00:25
そういや3月3日ってひなまつりだったな
300:デフォルトの名無しさん
07/03/06 23:39:21
ふと思ったんだけど、みんなはBREWリソースを使ってる?
BREWリソースエディタってなんか使いにくいし、扱いにくいじゃない。
「ファイルをまとめること」が重要なんだとすると、実は自前でひとつにまとめて
自分好みに扱える(読んだり書き込んだりする)仕組みを作れば便利なのでは?
とか思ったんだが、このアイデアって問題あるかな?
301:300
07/03/06 23:50:11
後、もうひとつ思った疑問。
BREWの使用禁止文字(ロシア文字や罫線)って、何が原因で使っちゃ駄目なんだろ?
そもそも、あう端末で使われてるメーラーやらブラウザ、オープンアプリプレーヤーなんかBREWで作られてるんだろう?
それなのに使用禁止文字が使える(入力できるし、表示できる)のが不思議でしょうがないんだよな。
まさか、開発会社によっては使用を許してたりするのかな~
┐(´~`;)┌
302:デフォルトの名無しさん
07/03/07 12:22:59
>>300
わりと使ってるぜ。3.1のXMLデータ+コマンドラインで作るやつのみだけどな
バイナリ比較したら2.1のGUI版で作ったのと一致したからVer気にせずGO
どうしてもファイル名を保存しておく必要があるときは自作アーカイブにしたけど
303:デフォルトの名無しさん
07/03/07 13:32:46
>>300
文字列やら色んなもの格納してるよ。
俺も>>302と同様にリソースエディタは使ってないけど。
304:デフォルトの名無しさん
07/03/07 15:06:08
>>300
俺もver1.0.1のリソースコンパイラ使ってるよ。
ディレクトリに入ってるファイルの一覧をXMLに吐き出すツール作って、brewrcでビルドするだけだ。
305:300
07/03/07 23:54:46
>>302
>>303
>>304
レスさんくす。
なるほど、エディタを使わずにXML出力するツールを自作するっていう手もあるのか。
後、302が自作アーカイブでいった経験があるってのは貴重な意見だった。
ありがとう。
オイラも真似してやってみるよ。
( ・∀・)ノ
306:デフォルトの名無しさん
07/03/09 20:04:26
もしかして、STRTOWSTR って、半角かな非対応?
307:デフォルトの名無しさん
07/03/09 22:30:33
STRTOWSTRなんて使うことあったっけ?
308:デフォルトの名無しさん
07/03/09 23:24:22
URLリンク(brewforums.qualcomm.com)
これだな
309:デフォルトの名無しさん
07/03/09 23:26:53
訳:STRTOWSTRは単純。STREXPANDは賢い。
310:デフォルトの名無しさん
07/03/10 00:44:20
海外向け?(´・ω・`)
311:デフォルトの名無しさん
07/03/10 17:07:50
ガイド
>STRTOWSTR/WSTRTOSTR について
>(略)、使用しないでください。
チェックシート
>STRTOWSTR/WSTRTOSTR関数の使用禁止
>(略)、STREXPAND/WSTRCOMPRESS関数を使用してください。
312:デフォルトの名無しさん
07/03/10 17:08:56
>>331はau端末の話ね。
海外向けアプリはこの限りじゃない。
313:312
07/03/10 17:09:27
× 331
○ 311
314:デフォルトの名無しさん
07/03/10 17:22:54
>>306 は半角かなって言ってるから、日本の端末でそ。
315:306
07/03/12 17:29:40
みんなありがとう。
KのドキュメントにSTREXPAND使えって書いてあるじゃんね。
超FAQな質問してごめん。(*´Д`)
316:306
07/03/12 17:35:55
ちなみにやりたかったことは、
「SJIS文字列の中に特定文字列が存在するかどうか調べる。」
だったんだけど、STRSTR が頭悪いからいったん
AECHAR[] にしたほうがいいんでね?っていう判断だったのでした。
で、結局 char[] 型のまま SJIS 対応の STRSTR_SJIS を書いて解決。
処理速度もほとんど変わらずで問題なしになったのでした。
317:デフォルトの名無しさん
07/03/12 23:23:22
自作アーカイブでIFile直接操作できると
gzip展開の時にIFileから直接展開できる分
メモリ消費が少なくなっていいよね。
318:デフォルトの名無しさん
07/03/12 23:29:58
DQNめんともうちょっときれいにしてほしいでつ><
319:デフォルトの名無し
07/03/13 16:44:55
>>317
IFile を継承して、中身は gzip の操作をするインターフェイスを作りたいってこと?
320:デフォルトの名無しさん
07/03/13 22:52:29
>>319
UnzipにそのままIFileぶっこめるだろ
321:デフォルトの名無しさん
07/03/14 12:23:17
>>320
ああそうか。
じゃあ、IFileMgr 継承したインターフェイスを作りたいってことか?
322:デフォルトの名無しさん
07/03/14 23:27:06
だれかPart8の過去ログ持ってませんか?
Wikiの過去ログもPart7までしかUPされてなくてさ
323:デフォルトの名無しさん
07/03/14 23:50:34
>>322
糞ロダへのupでいいなら
URLリンク(kasamatusan.sakura.ne.jp)
324:デフォルトの名無しさん
07/03/15 17:17:54
>>322
up してみた。こんなんでよいのだろうか。
URLリンク(brew.s214.xrea.com)
325:デフォルトの名無しさん
07/03/17 17:03:31
土曜日だが会社だ。ああまんどくせ。保全。
326:デフォルトの名無しさん
07/03/17 17:13:55
乙かれ
327:デフォルトの名無しさん
07/03/17 23:31:16
VCExpressでもプログラミングできる?
エミュまででいいから
328:デフォルトの名無しさん
07/03/17 23:48:14
できるはず。
プロジェクトは手動で作る必要あるけど。
329:デフォルトの名無しさん
07/03/19 14:47:43
>>327
うちはリリースしてるアプリをVCExpressで開発してる。
シミュレータともリンクして普通にデバッグできる。
ステップ実行とか、変数ウォッチとか、普通に出来る。
330:デフォルトの名無しさん
07/03/19 23:51:10
どうせドコモ以外は糞なんだよ!!!!!!
で330
331:デフォルトの名無しさん
07/03/22 18:11:02
保全
332:デフォルトの名無しさん
07/03/25 03:24:10
常時・定期通信制限厳格化まであと7日age
333:デフォルトの名無しさん
07/03/25 04:20:20
ユーザーには着うたとかがんがん落とさせるくせに、アプリには厳しすぎる
334:デフォルトの名無しさん
07/03/26 11:14:40
>>332
くあしく
335:デフォルトの名無しさん
07/03/26 17:08:51
>>334
とりあえず法人向けの話だから関係する人で気になる人はサイト見れ
336:デフォルトの名無しさん
07/03/27 18:36:05
BREW AppLoaderにて間違って日本語のファイル転送してしまったのだけど・・消す方法ないでしょうか・・
337:336
07/03/27 19:08:33
端末のアプリリセットをすると消すことができました。
338:デフォルトの名無しさん
07/03/28 12:49:52
>>336
おれは、アプリフォルダのファイルをすべて消すプログラムを書いて対処したことがある。
// 擬似コード
filemgr = CreateInstance( AEE_FILEMGR );
if( filemgr )
{
FileInfo info;
filemgr->EnumInit("",FALSE);
while( filemgr->EnumNext(&info) )
{
filemgr->Remove(info.szName);
}
}
339:デフォルトの名無しさん
07/03/28 23:09:53
ISSLがわからね~~~
リファレンス以外の資料はどこにあるんだ?
340:デフォルトの名無しさん
07/03/29 02:10:31
>>339
BREWではやったことないが、昔javaでjsse使って自前でTLSで
通信するサーバーとクライアントは作ったことあるんでちょいと覗いてみた
サンプル見る限り、生のソケットあけてISSLに食わせて、適当に接続先の
証明書ぶちこんでネゴさせりゃ動きそうなんだが・・・
341:デフォルトの名無しさん
07/03/30 10:25:27
サーバからpngファイルをダウンロードして、メモリ上のデータからIImageを作ろうと思ったんだが
一旦ファイルに保存してISHELL_LoadImageしないとダメ?
342:デフォルトの名無しさん
07/03/30 10:50:21
つ IMemAStream
343:デフォルトの名無しさん
07/03/30 11:41:37
>>342
あ~なるほど、ありがとう。
ちょっと処理が複雑になるけどしょうがないな。
344:デフォルトの名無しさん
07/03/30 14:05:41
あれっ、直接ソケットを渡せなかったっけか?
345:デフォルトの名無しさん
07/03/30 14:26:56
やばい・・・俺もSSLで嵌った_| ̄|○
まずはテストなのでgetもpostも送らず、
https経由で普通のhtmlを取得しようと思ったのですが
IEから接続できるURLリンク(hogehoge)<)
BREW3.1でテストしています。
346:デフォルトの名無しさん
07/03/30 18:45:57
証明書は?
べりさいん辺りのページには繋がる?
347:345
07/03/31 00:31:07
>>346
お返事サンクス
ソースはそのまま別のサーバへ接続したら繋がりました。
って事で証明書が問題か・・・
最終的にはプライベート証明書を使うのですが、
現状見事に失敗してます。
上記ソースのIWebOptsをIX509Chainに変更して証明書を食わせただけですが。
どうも違うっぽい。
ソケットプログラムは理解度が浅いのでIWebでどうにかしたいのですが・・・
もう暫くもがいてみまーす。
348:デフォルトの名無しさん
07/03/31 02:05:25
最近スレの流れがゆっくりになってきたねぇ…
案件(?)が減ったのかな
349:デフォルトの名無しさん
07/03/31 02:53:36
>>347
証明書のファイル形式は合ってる?BREWが読めるのはDER形式だったはずですが。
350:345
07/03/31 22:02:33
>>349
DER形式です。
httpで接続できてる状態のクラスに、
IX509Chainインタフェースの生成
>ISHELL_CreateInstance( getShell(),AEECLSID_X509CHAIN, (void**)&m_ix509Cain);
証明書を追加
>IX509CHAIN_AddCert( m_ix509Cain, WEBOPT_X509_ROOT_CERTS, m_cainBuf, m_cainBufSize );
WebOptを変更
>IWEB_GetResponse(m_iWeb,
>(m_iWeb, &m_iWebRes, &m_CB, m_url,
>WEBOPT_HANDLERDATA, this,
>WEBOPT_METHOD, "GET",
>WEBOPT_HEADERHANDLER, headerHandler,
>WEBOPT_X509_HOST, m_hostName,
>WEBOPT_DEFAULTS, m_ix509Cain,
>WEBOPT_END));
という感じでやってますが、何処か問題の有りそうな箇所はありますか?
351:デフォルトの名無しさん
07/04/01 12:46:45
>>348
安心しろ、BREW4が出てくると・・・
352:デフォルトの名無しさん
07/04/01 18:15:59
>>350
たしかm_cainBufは通信終了まで保持しないとダメ
あるいはCOPYOPTSオプションをm_ix509Cainに指定する
353:デフォルトの名無しさん
07/04/01 18:16:53
つーかエラーコード書こうぜ
354:デフォルトの名無しさん
07/04/01 21:34:18
Cell Phone Suicide Bomber Projectでは協力者を募集しています
URLリンク(www2s.biglobe.ne.jp)
URLリンク(sourceforge.net)
355:345
07/04/02 01:54:43
cainって何だよ○| ̄|_
>>352
メンバ変数は全て通信終了時まで保持しています。
COPYOPTSも指定してみましたがNG。
うーん、サーバ側の設定とかいうオチだといいなぁ・・・
エラーコードは常に WEB_ERROR_SSL で、
エラー時に下記を実行した結果の
sslInfo.nResult の値は 0x1001003c でして・・・
>SSLInfo sslInfo;
>IWEBRESP_GetOpt(m_iWebRes, WEBOPT_SSL_SEC_INFO, 0, &sslInfo);
意味不明だったので出そうか悩んでました。
ちなみに IWEBRESP_GetOpt はSUCCESSが帰ってきてます。
356:デフォルトの名無しさん
07/04/02 04:19:48
SSLInfoの参照の仕方が違う
{
SSLInfo * psi;
WebOpt wo;
DBGPRINTF("Web Error : %d", resp->nCode);
if (IWEBRESP_GetOpt(pme->piwresp, WEBOPT_SSL_SEC_INFO, 0, &wo) == SUCCESS)
{
psi = wo.pVal;
DumpSSLInfo(pme, psi);
}
SSLInfo * は wo.pVal に入る
357:デフォルトの名無しさん
07/04/02 08:23:13
(・∀・)ウォ・ッップバル!
358:345
07/04/02 11:13:27
>>356
ありがとです。
おかげでエラーコードを拾えるようになりました。
サーバ側と詰めてきます。
強引なキャストだと思っていたら
見ている資料が古すぎたってことか(;´ρ`)
359:デフォルトの名無しさん
07/04/03 00:02:42 BE:973224285-2BP(0)
組み込み&BREW初心者のJava開発者です。
BREWでC++って使っていますか?
Better Cという意味でのC++ではなく、クラスなどのオブジェクト指向としてのC++って意味です。
組み込みやった先輩(BREWは初心者)から、
組み込みは基本的にC。BREWやってた人からBREWでC++やるとはまる、チャレンジャーだねという話を聞いた。
と言われました。
BREWでC++使えますでしょうか?
360:デフォルトの名無しさん
07/04/03 09:49:01
>>359
使っていますが全く問題ありません。
361:デフォルトの名無しさん
07/04/03 10:02:52
>>359
テンプレートが実質使えないから旨味が半減じゃまいか。
362:345
07/04/03 15:12:27
サーバ側と煮詰めたら無事繋がるようになりました。
SSLが遅い!との事でhttpに変更になりました。
ソース全部破棄しました。
本当にありがとうございました。
363:デフォルトの名無しさん
07/04/03 15:33:39
>>359
うちも基本的に C++ で書いてる。
>>361
テンプレートは使えるには使えるんだが、容量の都合で用途は限定されるべ。
364:359
07/04/03 23:58:24 BE:1094877195-2BP(0)
皆さん、レスサンキューです。
C++で問題ないみたいなので、C++で行こうと思います。
365:デフォルトの名無しさん
07/04/04 02:50:59
>>364
RVDS2.1以降でC++のサポートが強化されてる
namespaceとかtemplate回り
金があるならRVDS買えば幸せになれるかも
>>362
UIMカード搭載端末限定だとたぶん回避策あるんだが...それで問題なければ問い合わせて見れ
366:359
07/04/04 06:52:51 BE:1021885867-2BP(0)
>>365
RVDSで幸せになれるというのをもう少し教えてください。
VCだとVCのコンパイラーで通れば何でも書けちゃうけど、
RVDSだとIDEがBREW(ARM)用のC/C++に対応してるとかですか?
BREWのSDKに付いてるエミュレーターは、なんちゃってエミュなので、
Windows上でBREW用のソースでテストとかできるなら嬉しいですけど。
367:359
07/04/04 06:55:33 BE:1094877195-2BP(0)
あと、RVDSの価格ですが、バージョンちょっと古い価格表がここに載ってました。
今でも$6000ぐらいからですか?
URLリンク(www.jp.arm.com)
368:デフォルトの名無しさん
07/04/04 10:11:55
いやコンパイラがC++のより高度な文法をサポートしてるだけ
BREWに関してはデバッグ環境はかわらんよ
値段はシラネ
369:デフォルトの名無しさん
07/04/04 13:09:34
おれは C++ で開発してるけど、GNUARM しか使ってない。
370:デフォルトの名無しさん
07/04/05 00:41:48
GUNDA(ry
371:デフォルトの名無しさん
07/04/05 11:33:28
>>370
これのことか?
URLリンク(www1.interq.or.jp)
372:デフォルトの名無しさん
07/04/05 21:52:14
またえらくなつかしいもんひっぱりだしてきたな
373:デフォルトの名無しさん
07/04/05 21:58:13
SecurityPass・・・
374:デフォルトの名無しさん
07/04/11 10:39:53
保全.NET 2005 Express Edition。
375:デフォルトの名無しさん
07/04/13 09:43:26
通信中や処理中にキーを連打すると、
通信や処理終了後に連打した分のキーイベントが、
全て起こってしまうんですが、
これを上手く回避する方法はないでしょうか?
376:デフォルトの名無しさん
07/04/13 10:08:13
無視すればいいんじゃね?
377:デフォルトの名無しさん
07/04/13 13:36:30
二つとか三つとか音楽を同時に再生をスタートさせる方法ってある?
IMEDIA_Playを並べて書いてみたらズレまくって困る
378:デフォルトの名無しさん
07/04/13 13:45:32
普通に2つ並べて書いて問題起こったこと無いな。
データがおかしいのかも。
379:デフォルトの名無しさん
07/04/13 14:09:01
なんと言えばいいのかな。
全部の音は、鳴ることは鳴ってるんだけど。
ただ、並べて再生してみたら数ミリ秒とかそんなぐらいなんだけどスタートがズレてて、
後ろに書いた方がタイミングがズレてるような感じを受けるんだ。
380:デフォルトの名無しさん
07/04/13 14:28:16
FA:そんな厳密な同時性を携帯端末に求めるな
381:デフォルトの名無しさん
07/04/13 15:24:41
IFileMgr_GetFreeSpace(IFileMgr * pIFileMgr, uint32 * pdwTotal)
の *pdwTotal って何?
382:デフォルトの名無しさん
07/04/13 15:56:59
>>381
BREWAPIReference.chm
383:381
07/04/13 16:43:56
>>382
すんません。
「ファイルシステムで現在使用可能な空きバイト数」(戻り値)とはちがう、
「ファイルシステム内の合計空き容量」(*pdwTotal)って何だ?と思って。
k-brew-testでほぼ目一杯にしてて、*pdwTotalがEFS全体に近いような値だったので、
これ何だろと。
他のアプリも含め、アプリが作成したファイルを全部削除した場合の空き容量とか?
>>381
最初からそう書いとけ
384:デフォルトの名無しさん
07/04/13 17:43:50
気にしなくていいと思う。
385:381
07/04/13 18:26:37
なるほど、そうしてみる。(・∀・)
386:デフォルトの名無しさん
07/04/13 22:06:49
>>383
>「ファイルシステムで現在使用可能な空きバイト数」(戻り値)
EFSのうちの空き容量。
>「ファイルシステム内の合計空き容量」(*pdwTotal)って何だ?
EFS全体のサイズ。だからTotal。
システムが占有する分がいくらかあるだろうから仕様書の値とは若干違う。
だから「EFS全体に近いような値」(であって大きく外れた値ではない)。
387:デフォルトの名無しさん
07/04/17 10:28:43
すみませーん。
IDATAFOLDER_SelectUI なんですが、
第4引数の dwMaxFileSize の説明に
『選択するファイルサイズ合計値の上限。(単位はKB)』
とあるので100と指定してみたのですが、
余裕で100KB超のファイルを選択できます。
仕様と思っていいんでしょうか?
テストに使用している機種はW42SAで、
端末仕様書を見る限り特に制限とか書いてないようなんですが。
388:デフォルトの名無しさん
07/04/17 16:49:48
>【複数選択時の残表示について】
(略)
>この機能は移動機依存であり、実装されない移動機もあります。
こういうことじゃない?
389:デフォルトの名無しさん
07/04/17 22:00:22
KDDI向けのBREW3.1日本語で開発していますが、質問です。
世に出回っているアプリ起動中に、電源ボタンを押すと、
xxxを終了します。よろしいですか?
1中断する
2終了する
3キャンセルする
と端末共通ぽいダイアログがでますが、これの呼び出し方法が判りません。
何かの設定をすると自動で出るのか・・・KDDIのライブラリを呼ぶのか・・・色々調べたけどダメでした。
判る方居たらよろしくお願いします。
390:デフォルトの名無しさん
07/04/17 22:13:50
>>389
サービスガイドを「ダイアログ」で検索。
391:デフォルトの名無しさん
07/04/17 23:04:23
>>389
サービスガイドはひととおり読んだほうがいいんじゃないでしょうか・・・
あと、事前検証手順書とチェックシートは今のうちに一回眺めておくと
後で幸せかもしれません。
392:デフォルトの名無しさん
07/04/17 23:04:24
>>389
その周りって、2.1と3.1でスペックが微妙に違うよな。2.1だと何も考えなくても
よかったんだが
393:389
07/04/17 23:44:10
レスくれた方ありがとう、読み直してきます。
394:387
07/04/18 10:16:14
>>388
どうやらそのようで。
今日別の端末が届いたので同じアプリを入れてみたら、
「あと100KB」と表示が出ましたとさ。
その文言はどう見ても「複数選択」の方に
かかりそうな気がするんだが・・・
何だかなぁ(゜д゜)
395:デフォルトの名無しさん
07/04/22 00:55:32
BREW携帯に送れないの?意味無いような・・・
396:デフォルトの名無しさん
07/04/22 02:00:22
>>395
試験モードになってりゃシリアルケーブルで送れるよ。
sigファイルを定期的に取り直せば勝手アプリだって
自由に動かせるよ。便利だよ。
397:デフォルトの名無しさん
07/04/22 02:14:57
くそー
メンテのせいで仕事がーーー
398:デフォルトの名無しさん
07/04/22 02:38:08
メンテなんてやめんて
399:デフォルトの名無しさん
07/04/22 03:29:23
∑∑(゚Д゚ )
400:デフォルトの名無しさん
07/04/22 18:39:15
検証提出直前3日前だと笑い死ぬと思う。
401:デフォルトの名無しさん
07/04/22 19:03:23
メンテで提出日に出せません
あーん?聞こえんなぁ
徹夜してでも間に合わせろ
なんとか終わらせました
あーん?何徹夜残業してんだよ
メンテでできなかったからです
あーん?そんなもん知ったことか
ちゃんと計画立ててないのが悪い
残業代でないからな
402:デフォルトの名無しさん
07/04/22 22:15:17
もっともだ・・・
403:デフォルトの名無しさん
07/04/22 22:41:04
もともと残業代のない俺は勝ち組
404:デフォルトの名無しさん
07/04/24 15:08:09
20日に検証中に変わったんだが 一向にこちらのサイトにアクセスがない。
もしかしてsigファイルとれなくて実機での検証がまだとかなのだろうか・・・
405:デフォルトの名無しさん
07/04/24 17:34:24
検証始まったんなら、ぼちぼち作業が進むんでない?
まだ3営業日しか立っていないんで、何とも言えない希ガス。
406:デフォルトの名無しさん
07/04/25 01:22:22
>>405
18時位からアクセスが来た。しかもこの時間になっても検証作業してる。
がんばれ検証ラインの中の人。
407:デフォルトの名無しさん
07/04/25 01:53:37
じゃあ、やっぱりsigか?
無効も迷惑こうむってたんだな・・・
408:デフォルトの名無しさん
07/04/25 13:17:02
なんか、最近は検証も外注とか何とかそういう話が出ているようですね。。。
409:デフォルトの名無しさん
07/04/26 07:47:57
がんばれ、KDDI検証の人!
連中にはいろんな意味で頭があがらないぜ。
410:デフォルトの名無しさん
07/04/27 00:49:42
最近も何も、初めっから検証は外注
411:デフォルトの名無しさん
07/04/27 01:05:36
検証通ったようでステータスが登録中になったよ。ありがとう中の人。
412:デフォルトの名無しさん
07/04/27 02:24:51
sig、なおらないねー・・・
413:デフォルトの名無しさん
07/04/27 09:56:08
gnudeの情報は出ていましたが、WinARMって誰かもう使ってますか?
ソースはC++で、静的変数をいっぱい使っていたりするんですけれど。
それから、こちらはRVDS2.xが前提みたいですが、lightblueの
modジェネレータって、誰か使って成功しています?
414:デフォルトの名無しさん
07/04/27 13:17:34
sigとれるようになったー
・・・って有効期限が1年になってるけど、あってるの?これ・・・
415:デフォルトの名無しさん
07/05/01 01:52:48
みんなデスマってるか~?
416:デフォルトの名無しさん
07/05/01 09:15:07
ん? 俺は連休中だ
417:デフォルトの名無しさん
07/05/01 21:11:37
>>416
いいなぁ、お前、どうせ去年からずっと連休なんだろ?
418:デフォルトの名無しさん
07/05/02 00:35:20
さすがにそこまでのヤツはこのスレには来ない予感
419:デフォルトの名無しさん
07/05/07 14:34:57
黄金連休は9連休だった。
420:デフォルトの名無しさん
07/05/07 15:21:34
こ れ か ら 2 ヶ 月 祝 日 な し
421:デフォルトの名無しさん
07/05/07 15:45:37
祝日があっても休めなかったりするのに
何言ってんだ?(・ω・)
422:デフォルトの名無しさん
07/05/07 20:00:22
休めるわけじゃないが、遅刻しても平気なだけマシなのだな
423:デフォルトの名無しさん
07/05/07 22:28:33
しかし連休明けと同時に書き込みが始まるのは判り易いよな
424:デフォルトの名無しさん
07/05/07 22:37:54
Javaのインターフェースのような振る舞いをさせたい場合はどうしたらいいんだろう?
クロスキャストで質問なんだが。。。
Javaからの移植を今やってる。で以下の継承ツリーを持つクラスがある。
Object -> ClassA -> ClassB -> ClassC -> ClassD
↑ ↑
Object -> ClassE ↑
↑
Object -> ClassF -> ClassG
※)みぎにいくほどサブクラス。ClassE,ClassF,ClassGはJavaではインターフェース。
BREWでは純粋仮想関数だけを持つクラス
ちなみにClassBの宣言は
class ClassB : public ClassA, public virtual ClassE
ClassCの宣言も同様に
class ClassC : public ClassB, public virtual ClassG
でこのクラスに対して
ClassD* classD = new ClassD();
ClassC* classC = (ClassC*)classD;
ClassB* classB = (ClassB*)classC;
Object* obj = (Object*)classB;
とUPキャストしてObject型にする。んでそのあとに
ClassG* classG = (ClassG*)obj;
classG->hoge();
をやるとまったく違う関数が呼ばれてしまう。。。。どうしたらいいんだろ。。。。