BREW(Binary Runtime ..
[2ch|▼Menu]
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();
をやるとまったく違う関数が呼ばれてしまう。。。。どうしたらいいんだろ。。。。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5052日前に更新/203 KB
担当:undef