BREW(Binary Runtime Environment for Wireless) 9
3 :
FAQ :2006/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)つ旦
7 :
デフォルトの名無しさん :2006/12/21(木) 16:54:54
>>1 乙〜
質問なのですが、BREWで端末の音量設定取得方法ってどうやるのですか?
答え:諦めろ
ユーザに教えてもらう←マジ確実
IKDDIPHONESYSTEM_GetMaxVolumeLevel()
万年デスマの組み込み屋が集まるスレはここですか。
はいそうです
はいちがいませむ そういございますん
i-appliからの移植で動的確保・解放が大量に使われててゲンナリ。 固定長化するべきか、動的確保のまま移植すべきか・・・ どっちに転んでも地獄が待ってそうでやる気がでねぇ。
動的各階できるほどiappli高速になってるのか?
>>15 だからそういうのはメモリプール使えとあれほど(ry
>>16 初心者のソースほどあっちこっちにnewだらけだよ。
設計にもよるけど、特にツール系は動的確保じゃないと辛い。
漏れはJavaのVectorと似たような動作するVectorクラスを作って対処してる。
諸先輩方、教えて君で申し訳ないんだが、教えてくれ。
ピクセル操作して画面を黒にフェードアウトする処理を搭載するように言われて
その方法を模索中なんだが、とりあえずフォーラムの下記のURLのソースを参考に
しようと思うんだが、第二引数である「nPitch」の部分がよくわからない。
ttp://brewforums.qualcomm.com/ja/showthread.php?t=846&highlight=IDIB 今夜はもう家に帰ってきたんで、手元にAPIリファレンスぐらいしかないんで、
適当にコードを書くけれど、
IBITMAP_QueryInterface(pIBitmap, AEECLSID_DIB, (void **)&pIDIB);
とかしておいて、
pIDIB->nPitch;
で求めた値で良いんだろうか?
やってみればいいだろドアホ
俺なんてわざわざRGBVALに変換してたわw 今まで不具合ないけど。
>>23 dくす。修正しますた。。
C++ しか使わないからつい忘れてしまう……。
端末標準のダイアログって使ってる人どれくらいいる? 使い勝手や見た目の部分について教えて欲しい。 俺は自作しか使ったこと無くてようわからん(´・ω・`)
むしろ端末標準ダイアログが使えるのかどうかすら知らなかった。 BREWから使えるの?(´・ω・`)
いや、リソースエディタにダイアログって項目あるじゃん。 これでそこそこのデザイン(端末によるとは思うが)のダイアログが出るなら、 使ってみてもいいなーって思ってるんだけど。
あれはBREWのダイアログでしょ。 ダイアログって名前が付いてるけど、全画面に白背景の黒文字テキストを描画するだけの物だと思ったけど。
あら、失礼。 そっか、フルスクリーンになっちゃうのか。 なら自作の方がいいなぁ。。。 おっけー、ありがとでした。
まー、下手に端末のダイアログ使えちゃうと、 端末が出してるエラーかアプリが出してるエラーか 分からなくなってユーザーサポートとかめんどくさそうだしな(´・ω・`)
31 :
19 :2006/12/29(金) 00:38:37
今戻った。
子供が風邪ひいて看病してた。
返事送れてスマン。
>>22 わざわざありがとう。
で、シミュレータで試してみたんだけどダメだった。
カラースキームが(シミュレータだと)RGB332だったのが原因。
知ってる人には、今更なんだろうけどカラースキームって端末とかによって異なる
んだね。
…って事は、全てのカラースキームに対応した処理を作らなきゃいかんのかと、
22のソースを元に処理を改良中です。
流れに無関係の人間だが、日本の端末のみでいば555と565だけだったはず。 今のところ。世界は知らない。 あと、シミュレータのやつは時々画面サイズやらカラーやら間違ってるので デバイス設定ファイルの方をいじってるわ。私の場合。
33 :
19 :2006/12/29(金) 00:58:34
>日本の端末のみでいば555と565だけだったはず。 む。そうだったんだ。 ならば処理も減らせるね。 ってゆーか、シミュレータのスキームがむしろ変なのかー ちとデバイス設定を編集してみる。サンクス!
つか統一しろよっちゅーの
555 の端末なんて俺みたこと無いんだが……。
アイスキャンデーとかあるだろ? ぶたまんとかさ
>>35 あるよー。だいぶ昔のやつだけどねー・・・。
38 :
19 :2006/12/29(金) 01:52:31
んんん〜 設定ファイル(dsdファイル)を見てたんだが、カラースキームの設定がしてありそうな 箇所が見当たらない。 Brew3.1にはその設定が無いって事はないよねぇ…。 (;´ω`) ああ、それにしても今夜も子供が夜泣きで欝だ。 泣きたいのは俺だっちゅーの。
画面サイズとかが設定されてる項目のケツのほうに無かったかな。 今手元にモノがあるわけでもないので詳細不明だけど。 設定名があるわけじゃなくて8とか16とかのビットで書いてあったはず。
40 :
19 :2006/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」だね。
ありがとー!
これで少し前に進めるよ!
>>38 スレとは全く関係ないんだけど、子供さんを悪く言うのはカワイソス(´・ω・`)
>>38 夜鳴きは半年ぐらい続くからキッツイよwww
納期近くで寝てないときにも容赦なく泣きまくるから
これでノイローゼっぽくなる親も多い。
まぁ、嫁と二人交代で面倒見て、寝れるうちにどっちか片方が寝とけ。
一人に押し付けると、いずれ誰かが死ぬよ?
と、なんか急に育児板みたいだなw
>>35 見掛けたことあるけど、持ってる奴みんな変身してどっか行っちゃうから
機種までは分からないやスマソ
>>35 記憶があってればA5502K。
それ以外じゃ私も見たことないな…。
なぜにこんな日にレスが
会社からおめ
あけおめことよろ 今年はBREWが大変身する といいな
今年はiアプリとBREWなくなって全部MIDP2.0になると良いな。
それはそれでいやだな
50 :
デフォルトの名無しさん :2007/01/03(水) 22:40:49
BREW4.0搭載の端末っていつ出るんですか? てか3.x→4.0で大分変わるみたいなんだけど うちまで情報が回ってこないのですが・・・
>>50 えとBREW4.xからうわなにをすあqwせdrftgyふじこlp;@
OS化が進む。マルチ
53 :
デフォルトの名無しさん :2007/01/04(木) 14:41:27
まぁまだ先走り汁出すなってことだ
55 :
デフォルトの名無しさん :2007/01/04(木) 16:32:59
56 :
デフォルトの名無しさん :2007/01/05(金) 12:10:43
Sophiaのフレームワークを使って開発してるんですけど IShellのインターフェイスポインター取得することって可能です? ISHELL_CreateInstanceに使いたいっす
>>56 Sophia のフレームワークは生のBREWインターフェイスには触れなかったような。。。
サポートに聞くのが一番だな。
最悪自分で IApplet から IShell とりだして ISHELL_CreateInstance() だな。
59 :
57 :2007/01/05(金) 17:39:50
>>58 スマートポインタから生のポインタを取得して
キャストすれば使えた気がするんだけど、
ずいぶん前の話なんで試す環境すらないスマソ。
こんな感じ。
-----------------------
SFBShellSmp shellsmp;
ISHELL *shell;
shellsmp = SFBShell::GetInstance();
shell = (ISHELL*)(shell.Get());
ISHELL_CreateInstance( shell, .........
.........
-----------------------
60 :
デフォルトの名無しさん :2007/01/05(金) 21:10:20
Sophia使えるなんて金持ちだなぁ・・・
本当に開発コストが下がるか教えてよっ
検証待ちもなくなくなるのか!
63 :
デフォルトの名無しさん :2007/01/06(土) 02:19:03
>>61 何本かアプリ作ってりゃそれなりのクラスやヘルパー関数が蓄積されるだろうし
開発スタイルも定着するだろ。
なーんも知らんとこが新規で開発するならSophia導入もありだと思うが、
それで飯食ってくつもりなら不要と思われ。
>>63 同意。
BREW初心者の頃は訳わからなくてSophiaのライブラリがあるとだいぶ助かったが、
慣れてくれば知識もつくし、ノウハウが蓄積されてきてくるだろうから、
自前のライブラリを作ったほうがコスト的にも精神的にも満足度は高いかと。
W47Tなんだこりゃ。 30分経っても500KBのファイル転送がおわりゃしねえ。この糞端末が
今年も機種連発です。オサッシクダサイ
>>65 知り合いがKで未発売機種のBREW機能の検証をしていることを考えると、
正直、スマンカッタ。としか言えない。
BREW3.1はエミュの作りが 2.1より酷いような気がするのは気のせいでしょうか(;´д`) 3.1専用のアプリがようやく来たのでスレッドとか何とか遊びたいのに くだらないところで躓いてるよ・・・
69 :
デフォルトの名無しさん :2007/01/12(金) 09:53:14
BREWってC++コードが動かせるんだ。 じゃ、組み込み用って事で見れば、 BREW >>> JAVA >>>>> (壁) >>>>> dotNET , Flash ってこと?
何を比較して?
既存のライブラリを活かして普通に作れるか、という比較。
>>69 stl ×
boost ×
namespace ×
pragma ×
例外 ×
stdlib.h等標準ライブラリの使用 ×
組み込みに何故.NETやFlashが比較対象になるのか理解できんが
ざっと思いつく感じこれくらいは壁があるよ
boostは仕方ないにしても、なんでstlがダメなの? namespaceダメって、ちゃんとコンパイラ開発しる!
>組み込みに何故.NETやFlashが比較対象になるのか理解できんが 今の携帯電話ってFlashだお。 組み込みに.NETは聞いたことないけど、M$的にはWinCE開発は.NET推奨だお。
最上位の極一部のみFlashかもしれんがそれより下はcだよ。
stlがstdlibに依存してる部分があるので流用が難しいんじゃないかな BREWのヘルパー関数に置き換えれば良いんだけど あとtemplateのサポートが甘かったし RVDS2.2以降でC++のサポートが強化されてるはずなので金があれば それ買って幸せになることもできるかも (stdlibに関してはどうしようもないけど)
77 :
デフォルトの名無しさん :2007/01/12(金) 11:39:30
>>73 >なんでstlがダメなの?
例外がNGなのが主な原因だと聞いたことがある。
そのせいでSTLをそのまま持ってきても動かない。
自前でSTL相当のものを作ればいいけど、マンドクサすぎるしな。
つーかBREWが糞仕様なのは何とかならn(ry
elf2modでも回避不可かな?
・RVDS2.2はC++のサポートが強化されているが、仮想関数を使うと
RWPI領域にデータを持ってしまうのでBREWで利用できなかった
・Elf2Modがリリースされ、BREWアプリはRWPI領域を持てるようになったので、
RVDS2.2とC++を組み合わせた利用、及びglobal/static変数の利用が可能になった
・ただし、stdlibに関しては以下の制限があるので、既存のライブラリの流用などでは
ものすごい注意が必要
ttp://brewforums.qualcomm.com/ja/showthread.php?t=861&highlight=elf ・RVDS2.2ではExceptionもサポートされている
templateのexportが出来ないようだ
BREWのコンパイラの話になるとRWPI領域だとかBSSセクションという言葉が出てくるのですが、 正直何のことかよくわかりません。コンパイラが吐き出すデータの内容を指すものなのでしょうか? このARMのRWPI領域やBSSセクションについての資料はどうすれば手に入るのでしょうか? もしくは日本語の解説があれば教えてください。
85 :
68 :2007/01/16(火) 16:07:46
おニューPC(XP)で動かしてみたら不具合が少なくなった('д') Win2kだと表示まわりがおかしくなるっぽい。 XP使えと言う事のようです。
>>85 × Win2kだと
○ 自分が使ってたWin2kだと
何十台ものWin2kで試したわけじゃないだろ?
適当なこと書いちゃダメだぜ
>>85-86 んだんだ。
単純に何かのランタイムが古いとかそんなことが原因かもしれん。
すみません、文字入力についての質問です。 BREW3.1でアプリ内の特定の位置で日本語入力をさせたいのですが こういう場合はITextCtlを使う以外に方法がないのでしょうか? ITextCtlについてマニュアル等を見て調べても、イマイチ使い方がわからず困っています。 ITextCTLのサンプルでも構わないので、よろしければご教授ください。 もしサンプルや解説等がなければ、何か別の方法で日本語入力できる方法はないでしょうか? 宜しくお願いします。
プログラミングガイドのサンプルコード
90 :
デフォルトの名無しさん :2007/01/17(水) 14:34:01 BE:328466047-2BP(0)
やっぱりフォーラムのサンプルをいじくるのがベターなんですね。 ありがとうございました・・・。
92 :
68 :2007/01/17(水) 17:56:24
うーん、XPでも何かおかしいと思ったら MAKE_RGBを使用せずに直接16進数で RGBを指定していたのがマズいようで・・・ リファレンスに (RGBVAL) ( ((uint32)(r) << 8) + ((uint32)(g) << 16) + ((uint32)(b) << 24) ) って書いてあるじゃんヽ(`Д´)ノ 失礼しますた。
ウイルスセキュリティZEROをPCにインストールしたらBREWエミュでの通信が うまくいかなくなったのですが 他にこういうこと起こった人いますか?
通信許可してもダメなら アンインストールすればいーんでないだろうか・・・
>>92 俺もそれではまった事あるぞ。
色のならびにあわせた名前の付け方して欲しいよ。
普通なら RGBVAL じゃなくて BGRVAL(またはBGRAVAL) とでもしておく方が直感的じゃね?
それだと、何の値かわからないって判断したんじゃない?
じゃあCOLVALとかにでもしとけや!ケッ
メモリ上の並びはRGBじゃん。
そうとも限らんのでは・・確認したことは無いが
いや、VRAM上とかDIBの構成じゃなくて、>92の値をメモリに書いたら。
どうだろね。"メモリに書く"という動作の定義によるけど 通常のイメージでいうとダブルワードの値をメモリに書く、ということになるだろうけど そうなるとエンディアンで違いがでるんじゃないかな?と
ヒント:くあるこむ
>>92 だとWin32の32ビットDIBのピクセル値と同じ並びになりそう。
それにしても、なんでBREWってWin32APIの痛すぎる命名や流儀をやたらパクってるのかね……。
ちょっと、お知恵を借りたいんですが……。 ゲームを移植してまして、一応最初はきちんと動作しているのですが、 シミュレーター上で2〜3時間くらい動作させるとその内、IIMAGE_Drawや IDISPLAY_DrawTextやIDISPLAY_FillRectを始めとする一切の描画機能が 働かなくなります(単にIDISPLAY_Updateが働かなくなっているだけかも しれませんが……)。 その状態になった時にトレースしてみると描画がされないだけで、内部的には 正常にメインループが動作しており、MALLOC等もきちんと動作しています。 もちろん描画をフラグで飛ばしている感じでもありません。IDISPLAY_Update も毎回通っています。 画像に関して、今まで正常に表示されていた物が何かを境にまったく表示 されなくなり、かつIDISPLAY_FillRectまで動作しない所を見ると、 CreateInstance等の処理に何か問題が発生したとも思えません。 IDisplayの値も調べましたが、特に破壊された感じではありません。 ちなみに実機上でやると、似たようなタイミングで端末リセットが発生します。 自分のソースがおかしい事は分かるのですが、どこで異常を起こしているのかが つかめずにいます。 せめて何をきっかけに上記のような現象が発生するのかが分かれば手がかりに なりそうなのですが、心当たりのある方いらっしゃいますでしょうか?
>>104 エミュに関してはエミュそのものがリークしているって
フォーラムにあったような気がした。
ただ前作ったアプリでは1日ランニングかけっぱなしでも平気だったけど…
兎も角ソフトそのものがリークしてないか虱潰しに見てくしかないんでないかね。
参考にならずスマソ
まぁ作ったもの解放してないとか、2回解放したとかじゃね。 フラグメントが進んでそういう症状出るとかだと南無い。
ヒープオーバーランとか。
>>104 始めはまともに動作していて、一定時間経過後に動作不安定や不正終了ってのは
メモリ食い尽くしてエラーかな、とまず思った。
それならアプリを終了したときメモリリークを知らせるメッセージが出るけど、どう?
MALLOC、CreateInstanceの他、メモリを確保するタイプの
IXXX_GetXxxx()のような関数で取得したオブジェクトの解放処理もチェックだね。
109 :
104 :2007/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 :2007/01/23(火) 00:36:47
>大体一時間ほどプレイした場合のメッセージ中、メモリーに関係有りそうなのが以下で
実行中のメモリリークは残メモリ量を常時監視してるとかじゃないと掴みにくいよ。
もしメモリ解放し忘れとかあれば、アプリ終了時にシミュレータの画面にエラーメッセージが出る。
画面にMEMORY ERRORとかなんとかそんなメッセージが出てないかって聞きたかった。
(NULLポインタへのアクセスでも出たと思うがはっきり覚えてない)
いや、もちろん、メモリリークが原因だと決まったわけではないけれど。
>この"28 Wasted"なのですが
それは
>>105 が言ってるようなやつ。気にしなくていいと思う。
>109 そのメッセージってリークさせた時だけ終了時に出る奴だと思ったが… AEEHeap.cのはそれだけ?その直前にもなんか出てない?
エミュレータがリークしてるなんて書き込みはない エミュレータがひたすらログをヒープ上に溜め込んでメモリを食いつぶすらしいが Wastedはよく見るので多分あまり気にする必要はない メモリリークしたときはBPOINTなんちゃらと出る希ガス スタック上に確保したインスタンスの開放漏れとかそういうのが疑わしい
IBitmapからDIB取得したときとかの開放漏れとかもね
BREW3.1のシミュはアプリ終了時に ホンの一瞬だけリークの表示画面出して ランチャー画面に移っちゃって気づきづらい。 その代わり>109のログが出る。 リークしなければAEEHeep.cのログは出ない。 ということで>109はメモリリークでFA。
115 :
デフォルトの名無しさん :2007/01/23(火) 11:25:47
>*AEEHeap.c:1190 - 28 Wasted コレってシミュレータを立ち上げて 消すだけでも出ない? (何のアプリを起動しなくても) 今まで気にしてなかったんだけど…
116 :
104 :2007/01/23(火) 11:38:12
すいません。勘違いしていました。
109のはシミュレーター自体を終了した時に出たメッセージで、
アプリ終了直後は特に109のようなログもBPOINTなんちゃらも
出ていないっぽいです(全文張ろうかと思いましたが長すぎる
みたいですので……)。
開発当初に
>>114 にあります一瞬出るメッセージが出たこともありましたが、
それはあからさまな開放漏れを修正する事によって解決しました。
とりあえず、皆さんの指摘の中にあります開放漏れを重点的にチェックして
みようと思います。
どうもありがとうございました!
117 :
114 :2007/01/23(火) 11:48:29
スマン、シミュの終了時は見逃してた。 ただアプリ終了時にAEEHeap.cのログが出た場合は リークしてることに間違いは無いよ。
ちなみにリークさせたときのログ *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 :2007/01/23(火) 11:52:23
連投すいません。 ビットマップの開放なのですが、開放順序は関係有りますでしょうか? 手順はこんな感じなのですが……。 デバイスのビットマップ取得 ↓ 互換性のある作業用ビットマップ作成 ↓ 作業用ビットマップにパターン転送 ↓ ITransformインターフェイス作成 ↓ トランスフォーム転送 ↓ ITransformインターフェイス開放 ↓ IDISPLAY_Update ↓ 作業用ビットマップ開放 ↓ 取得したデバイスのビットマップ開放
120 :
104 :2007/01/23(火) 11:56:52
>>117 ありがとうございます。
確認したのですが、アプリ終了直後は特にAEEHeap.cからのログは出力されて
いないでみたいです。
開放する順番は多分関係ない アプリ内でヒープの残量監視して、1時間アプリ走らせたあとに ヒープ残量が想定以上に減ってないか確認してみれば ###BREWDEBUG#でみてもよし
最初にそこそこメモリMALLOCしておいて、不具合が出るまでの時間が減るか、とかアナクロな手法も。
まずは問題の切り分けだな。
ヒープの線が濃厚なら
>>121 のやり方でヒープ残量を監視。
一定タイミングごとに残量チェックして、前回から変わったらDBGPRINTで。
で、実際にヒープ量が減っていって、足りなくなって落ちるんならそっから絞込み。
■俺が良くやるリークチェック手順
まず、マクロで俺様MALLOC&FREE(new/deleteも)作って、確保・開放したファイル名、行番号とポインタを表示しとく。
↓
アプリを実行し、てきとーにプレイして終了
↓
出力ウィンドウを全部コピペし、エディタでメモリリーク用表示のみを抽出
↓
CSV形式に加工
↓
エクセルに持っていって、ポインタ順にソート
↓
正常なら同じポインタでMALLOCとFREE一回づつやってるはず。
数が合わなければそこの周辺がリークの発生場所。
※エクセルなので関数使って自動チェックするのも簡単
メモリ問題に割り込むかたちで済まないが質問。 半角全角絵文字混在の文字列から、使用不可文字を取り除く処理ってどうすんべか。 1文字ずつ切り出す 半角か全角か判別 使用不可文字かどうか判別 使用不可文字なら取り除いて文字列を詰める …とかいちいちやるのひょっとして?
それ以外にどんな方法があるって言うんだー
STREXPANDした後のほうが全半判別いらないから楽かもとか思ってしまう俺手抜き
127 :
124 :2007/01/24(水) 19:09:48
そうか、やっぱそうなのか。 そういうAPIは日本拡張パッケージで用意しといて欲しいや。 ITextCtlで入力された文字列から取り除くんだが それならAECHARだから2byteずつの切り出しでOKってわけか。 とりあえずこれでやってみる。
qcpで再生、停止はできるけれど、 IMEDIA_Rewind(), IMEDIA_Fastforward(), IMEDIA_Seekが シミュレータでことごとく動かない・・・ 書籍とか読んで、ただコールするだけで良さそうなのにダメダメです あと実機でwebからダウンロードを安定して出来ますか? ISOURCE_Read()で250k位のファイルをDLしようとすると不安定になって 8割くらいで端末リセット食らいます、たまに成功するんだけどね・・・
>>126 なるほど、おまい頭いいなw
半角かな混在環境だと、漢字とカナのチェックで苦労するんだよな。
AECHAR用正規表現ルーチンとかあると楽なのに。
130 :
デフォルトの名無しさん :2007/01/26(金) 15:15:29
>>88 でITextCtlについて質問したものです。
その後フォーラムやBREWのドキュメントを参考に文字入力を実装できたのですが
ITEXTCTL_SetRect()で表示した四角形の色を変える方法が分かりません。
デフォルトだと白なのですが、アプリの画面にあわせて色を変えたいと思ってます。
どうすればテキストコントロールの色を変更できるのでしょうか?
>>130 俺はITextCtlは普段一切表示しないで、
使うときだけ作成、
直後にKEY_PRESSEDイベントを擬似的にITextCtlへ投げて
FEPを起動してる。
なので描画は自由にやってる。
>>130-131 うちも描画は自前。
ITectCtl_ReDraw() とかは、機種によって動作が替わるんで、あまりオヌヌメできない。
それでも色代えたいならIDISPLAY_Setcolor()当たりでできたはず(今検証デケンスマヌ) だがやはりオヌヌメできない
ありがとうございます。 結局、全画面モードでネイティブエディタを即起動するようにしました。 知人に聞いてもITextCtl関連は機種依存が多いようなので あまり変なことしない方が無難そうですね。
135 :
128 :2007/01/28(日) 20:42:35
いくつかの機種でSDKについてくるメディアプレイヤーを使ったのですが 古い端末じゃないとmp3のインスタンスが作れないし qcpだとどれもシークできないしで困っています。 音声ファイルのシークがしたいのですが、どうすれば実現できますでしょうか?
3g2とか使えないかな?
音データでqcp使ったこと無いや・・・ spfなら助言はできるんだが動作に違いあるんかな?
すみません、ちょっと曖昧な内容の質問になるんですが クリアキーを押しただけでアプリが終了してしまうのは何が原因なのでしょうか? こちらのプログラムではクリアキーに関する処理は何も実装していませんが エミュで確認するとクリアーキーを押すと EVT_APP_STOP が送られてアプリが終了してしまいます。 こういう場合原因があるとすれば何が考えられるのでしょうか? アバウトすぎて答えにくいかもしれませんが、少しでもヒントがあればと、質問してみました。 宜しくお願いいたします。
>>138 EVT_KEYイベントに対してfalseを返す
EVT_KEY/AVK_CLRにFALSEを返すと問答無用にアプリは終了させられる BREWの仕様、イヤならとりあえずTRUE返しときゃおk
ありがとうございます!!解決しました! EVT_KEYPRESS/RELEASEは処理してたんですがEVT_KEYはやってませんでした。 こんな単純な話だったとは・・・お手数をおかけしましたm(_ _)m
142 :
128 :2007/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()の時点でダメでした。
次は実機確認してみます。駄報告でスマン
VisualStudioから実機でステップ実行できるようにするか、 メディアとかカメラとかもシミュレータで再現できるようにしろよなぁ…
>>142 SDK3.1.2のYAMAHA系DLLってなんか問題があって、差分がKDDIのほうで出てなかったっけ?
最近のは修正されてる?
PCの画面に携帯の端末が表示されるようなシミュレータないすか?
つ SDK
147 :
128 :2007/01/31(水) 04:15:30
追記:
20K程度のmmfファイルのシークは出来ませんでした。3.1.4以降で確認。
3.X以降でまともにシークできるフォーマットとシミュレータは無いのでしょうか?
>>144 \bin\Modulesに入れるma3smwemu.dllでしょうか?
3.1.4以降もこのdll外すとmmfは再生できませんでした。
148 :
デフォルトの名無しさん :2007/01/31(水) 17:14:41
通信中やロード中などに、キーを連打しておくと、 画面が遷移した時に、専攻入力状態になってしまうのですが、 これを回避する方法はありますか? 遷移直後に、キーを初期化しても発生します。
遷移して数フレームは入力無視したら?
画面毎にイベントをヌルーするつくりにすればいいヂャマイカ?
151 :
148 :2007/01/31(水) 20:12:57
レスありがとうございます。
とりあえずは画面が切り替わった際に数フレームかませることで回避できました。
>>150 その方向で手直ししてみます。
152 :
デフォルトの名無しさん :2007/02/01(木) 17:19:31
端末設定のEz番号通知・非通知を取得する方法はありますか?
>>152 サブスクライバIDが取得できなければ非通知、でなんかマズい?
154 :
152 :2007/02/01(木) 20:37:37
>>153 非通知設定にしていても、普通に取得できてしまうのです。
非通知設定の場合は、通知を促す文言を表示したほうが良いと思いまして。
155 :
デフォルトの名無しさん :2007/02/02(金) 00:49:12
>>154 BREWアプリでのEZ番号取得は通知/非通知とは無関係に成功する。
サービスガイドとかちゃんと読んだほうがいいよ?
取得して何をするつもりですか?
サーバでユーザ判定するんだろ?
GCC環境についての質問です。
>>4 で上がっている情報やフォーラムの情報を参考に環境構築中なのですが
VisualStudioのAddInにあるGCC用make作成ボタンを押しても
ARM用の中途半端なmakefileが作成されてしまいます。
どこかで読んだんですがC++だとmakeを作ってくれないらしいのですが
これを回避(自動でGCC用makefileを作成)する方法はありませんか?
それとも、C++の場合はmakeファイルは自作するしかないのでしょうか? orz
ご存知の方、宜しくお願いします・・・
>>152 聞くならQualcommのフォーラムじゃなくてKDDIに聞くべきじゃないかと
>>158 テンプレートを書き換えればうまくいきそうな気がするけど、昔のこと何でもう忘れてしもーた。
そんなぁ・・・( @д@)/ 思い出せ〜〜思い出せ〜〜(※電波送信中) つーか、今のところBREW3.1.2/gnude/Visualstudio2003/C++ という環境でやってるんですが、 GCCで開発する時ってmakefileはどうやってます? やっぱり↓をベースにして自分で書くしかないのかなぁ・・・ (BREW AddIns)\common\templates\GCCAppTemplate.mak
162 :
161 :2007/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 :2007/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 :2007/02/03(土) 13:53:31
あ、ちなみに同じコードをRVCTでビルドすると問題なく動きます。 大人の事情でどうしてもGCC環境を構築しないといけないので 「素直にRVCTでビルドしやがれ!」というレスは無しで。(つдT)
素直にRVCTでビルドしやがれ!
ロガーを使って、実機でどのようなエラーが出ているか確認できないのか
167 :
161 :2007/02/04(日) 10:50:06
起動した瞬間、実機ごと落ちるとです・・・
>>161 俺も同じ症状で結局gcc使うのあきらめた
ADS使うので、今は環境も消しちまって確認してないんだが、その後
AEEmodGenを壱番最初にリンクする必要がある、とかなんとか見たことがあった
-entry AEEMod_Loadの指定が正しい動作しないとかなんとか、という理由で
大人の事情とは、金の問題か
おっかねー話だな
ずばりQのフォーラムで聞いてみたらどうだろうか? GCCを使う場合、AddInではC++が通るmakefileが作られない。 自前で用意したmakefileでビルドはできたが、実機では起動時点で動かない。 GCC(GNUDE)を利用したC++向けのmakefile記述の注意点と、 GCC(GNUDE)を利用した開発環境構築の助言が欲しい。 とかメッチャ都合のいい質問。 英語の方のフォーラムに誘導されておしまいだったりして。
mapファイル出力してAEEMod_Loadが先頭にあるかチェック gccは昔自分でgcc自身からビルドして使ってたけど(ちなみに3.3。makeもgnuの奴で) どうしてもmodのサイズがでかくなるんで使うのやめた。
>>171 英語でも
you build on RVCT stupid! Hahahaha!
とかいわれたりしてなw
use RVCT, you stinkin' loser!! Ha ha!
GCC くらい自分でビルドすればいいのに
>>175 GNUARM を GUNDAM と読んでしまった件
安物NICのMACアドレスでライセンスとって SoftEtherやVMwareで使いまわしときゃいいんだから RVCT一個くらい買っとけ。
またがんおたか!
ここのメンツは数年前からほとんど変化が無い
だがちょっと舞ってほしい おまいらお疲れSummer
半年くらいBREWの開発はしてないが見てる俺。
ちとスレ違いかもしれないとですが。 モバイルソリューションパートナーの登録が済んだのですが、 サイト内の仕様書を見ると各種端末仕様書と、 各種デバイス構成ファイル、 法人向け〜仕様書が見えます。 で、一般向け?の仕様書が見当たらないのですが、 これらはどうすれば入手できるのでしょうか?
>>183 一般向けってなに?公式コンテンツ作りたいなら
CPになんなきゃ。まずは企画審査がんばってください。
なぜか知らんがE03CAは、ICAMERAで DeferEncode(FALSE) にすると RecordSnapshot() で落ちる。。。 DeferEncode(TRUE) にすると、うまくいく。。。 そしてアプリ終了時に BAD POINTER Type 3 が出てるんで、 どうもどこかを解放しすぎたっぽいんだが、追い切れない。。。 そんなことをし始めてそろそろ24時間経ちました。。。orz
186 :
183 :2007/02/06(火) 16:16:52
>>184 ありがとうございます。
ウチは下請け専門でして、仕様書等はCPから入手してました。
その手間を察してか、
事務の方がモバイルソリューションパートナーの登録を行ってくれました。
で、サイトの方を見てみたら183の通りでして…
一般向けと言うのが適切かわからないのですが、
例えばサービスガイドだとタイトルが
「法人向けEZアプリ(BREW(R))サービスガイド(BREW(R)3.1版)」
となっていまして、以前CPから頂いたものに「法人向け」と
文言が加わっており、内容も若干法人向けになっています。
「法人向け」でないサービスガイドが入手できれば十分なんですが、
私のサイト内検索の方法が悪いのか、登録方法に問題があったのか、
その程度の情報でよいので何かアドバイスお願いできませんか?
>>185 ぐおお、DeferEncode(TRUE) にしたら、VGA での撮影はできないんだとよ。
※ICAMERA_GetSizeList() による調査結果。
・・・なんぢゃそら。ヽ(`Д´)ノ
>>186 あぁそういうことですか。
当然ながらCP用のコンテンツはありません。
サービスガイドや検証関連は
正規のものをクライアントさんにもらってください。
MSPだとBREWテスト端末を勝手に確保したり
testsigの取得やなんかもできちゃうんで、
そーゆー意図で便宜を図ってくれたんじゃないかと。
うちはモバソリで自社提供と、CPな子会社の下請けやってますが、
機種情報やプログラミングガイドなんかは法人向けので
充分というか、こっちの方が新しい情報がのってたりするので
重にこちらを参照するようにしてます。
あ、CP向けのほうが機種毎の障害情報とか充実してるけど。
189 :
183 :2007/02/06(火) 17:26:02
>>188 CP向けのコンテンツと分かれていたんですか。
機種情報等は十分な情報量なので、こちらで満足します。
どうもありがとうございました。
>>187 ヒント1:端末仕様書
ヒント2:ハード系(カメラ・ストレージ・音源・エンコなど)は実装依存が激しい
ヒント3:そもそもカメラを使わない企画がオヌヌメ
E03て何だっけ?法人端末? 扱ってる人も少ないだろうし乙としかいいようが無いな
>185 解放しすぎじゃなくて解放し忘れじゃね? ところで、カメラで写真何枚も撮ってない?
E03CA・・・W42CAにデカバが付いたやつだよね。 テスト端末が机の墨に転がってるけど風呂場にも持って入れるから結構好きだ。
あれ…、app->a.pIDisplayに任意の色を透明色設定するのってどうすればいいんんだろう? というか、勝手に透過するんだけどデフォルトで透明色って設定されてるんだろうか?
IBitmapやIImageに設定するもんじゃないか?
PNGのtRNSチャンクで指定する。 IDisplayの透過に関しては知らない。
IDISPLAY_GetDeviceBitmap() で IBitmap を取り出して IBITMAP_SetTransparencyColor() だろ、常識的に考えて…
198 :
194 :2007/02/07(水) 15:43:28
>197 うーん、それやってみたんだけどなんか反映してないっぽいんですよね。 しかも勝手に透過色255,0,255とかになってるんだけど、これって 自分で設定してるからなのかな?
画像側で設定されてると自動で透明色が指定される BREW2.1以前だとされないけど
NativeColorとRGBVALを間違えてたり・・・・・・ない?
透過色は画像データの方にもたせなきゃ意味がないんじゃ IIMAGE_DrawするならIImageに、IDISPLAY_BitBltするならIBitmap(pbmSource)に
202 :
185 :2007/02/07(水) 17:06:24
>>192 レスサンクス。
解放し忘れだと BAD POINTER Type 1 になる。
写真何枚も撮ってる。むしろ撮らなくてもプレビューするだけで BAD POINTER になる。
そして、
>>187 のとおり、DeferEncode(FALSE) で何とかすることによって無事解決。
撮影した瞬間の画像が画面に出せないけど、まぁそこはあきらめることにした。
あと、デフォルトが 255,0,255 なのは仕様 MAGENDAが透過色ってどっか(多分AEERasterOp)の説明に書いてある
204 :
デフォルトの名無しさん :2007/02/07(水) 19:13:26
k-brew-testでメモリを減らしていき、 端末のメモリ不足エラーが出なくなるぎりぎりのところで起動すると AEEClsCreateInstanceが呼ばれる前に端末再起動がかかります。 もう少しメモリを増やすと、アプリが正常に起動し、 仕込んでおいたメモリ不足画面にいってくれるのですが、 このような現象を回避する方法はありますか? ちなみに、W32Sでのみ起きています。
205 :
194 :2007/02/07(水) 19:27:34
>201 それだ! orz どうもありがとうございます。
>>204 どっかのエラーを見逃してるか、不正アクセス。
あとは AEEClsCreateInstance() に行く前にえらい時間を掛けててタイムアウトとか、
Makefile の -rwpi を消してるとか。
そういえば、端末にファイル読み書きするときに、一括で行ってよい最大サイズって 10kまでとかどっかで読んだ記憶があるんですが、これってどこに書いてあるんでしたっけ? 散々資料探してるんだけどどこにも見当たらない。
>>207 それってCLOSEイベントハンドラ内で
書き込める上限って意味だろ。
210 :
204 :2007/02/08(木) 11:17:54
>>206 AEEClsCreateInstanceが呼ばれる前に落とされるとなると
エラーを拾う場所が、もう無いような気がするのですが。
ちなみに-rwpiを消しているわけではありませんでした。
「AEEClsCreateInstanceが呼ばれる前」というのをどう判断してるかだな DBGPRINTFのメッセージはリセット時にたいてい失われるから いっぺんAEEClsCreateInstanceで何もせずにエラー返して、ほんとに そこに進入してないのか確認した方が良い
ネイティブ側もBREWで書かれていて、k-brew-testでムチャすると 逝ってしまう端末なかったっけ
W21Kあたりかな UIがほとんどBREWのようだ
かれこれBREWの開発から離れて久しいが。 k-brew-testだとメモリ少なくした時にk-brew-test自体が落ちるから、 極端にメモリ少ない状態でやるならShaker使うのが普通だったはずだが(´・ω・`)
k-brew-testみたいな適当なソフトで検証されてもな って思うよな。 あとAEEClsCreateInstance内のエラーハンドリングは、 注意しないと検証で文句言われる。(経験)
でも、Shakerは検証項目からはずれてるからなー。
Shakerでやって大丈夫なのにk-brewで落ちたら k-brewが落ちるので修正してくださいってw
BREWの実機用コンパイラで、「使っていない変数がある」というwarningを抑制する方法はありませんか? #pragma unused相当のものが望ましいのですが。
>>218 > BREWの実機用コンパイラで、
って言われても色々あるわけだが、
普通は -W のオプションがあるだろ。
多分中の人も見てるだろうけど、
ウィリアムのいたずらの開発日記氏のフレームワークぽいの
使ってる人いるのかね?
見ててちょっと気になった。
>>218 voidでキャストして正攻法で消してる。
リリースビルドだとDBGPRINTF消しマクロのワーニングが大量発生してるがw
>>220 BREWアプリ程度のプログラム組むのにわざわざ他人の書いたフレームワークを使おうとする奴の気がしれんな。
他人のソース解析したり使い方を覚えたりする暇があれば、自分で一本書いた方が安心だろ。
そもそもそんな拾いもんのフレームワーク使ってバグが出たときにどうすんだと。
拾いもんでもいいもん!
>>221 俺んとこ自社製のフレームワークがあるけれど、信用できんからいまだ旧作からコピペしているよ。
下手に高機能なものより、枯れてる方がいいと思うんだ、ウン。
普通フレームワークは実績のあるプログラムを使うもんじゃアルマジロ それは兎も角IThread使い慣れるとBREW2.1に戻りたくなくなるね。 困ったもんだ(´・ω・`)
つか2.1もう排除してくれ 古臭いのをお大臣様のように大事にしやがて
2.1の端末ほとんど出ないじゃん
>>221 おまいさん、
エクステンション?新しく作ってやんよ。
とか言いそうだな。
IThreadなんて使ったことないや。 つかKDDI向けじゃ使えないし。
すなおにc++で公開してください
さっさとマルチスレッド実装してほしい
マルチスレッド導入したらしたで、また検証に項目が増えたり 必須実行項目が増えたりするんだろうなー('A`)y-~~ 検証項目なんて作ってて出たバグの対応方法リストだしなw
しかもその大半は端末の方のバグな
端末の使用への準拠具合も、Qualcomm がきちんとチェックするべきだよな。 …チェックしてこの程度ならもう何もいわないが。
C++でやる場合ってnewをオーバーライドすると思うんですが、そうするとメモリリーク時に出るメッセージが全てnew内部のMALLOCの行番号になってしまいます。 とりあえず現在はnew呼び出し時に行番号とポインタをDBGPRINTして、リーク時のメッセージといちいち突き合わせして確認している状況です。 これだとメモリリークの発生源がなかなか特定できなくて不便なのですが、どうやって解消すれば良いのでしょうか?
>>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 を使うときにめんどくなるけど。
一ユーザーだけどこれマジかい? [297] 非通知さん sage 2007/02/17(土) 18:26:16 ID:smC0VA1u0 DoCoMoなみにJavaの自由度広げると、機種の検証が大変なんよ それも出す度にだからね。 万一ケータイが壊れたりデータ飛んだらやばいだろ? BREWなら検証制度あるから、そこでテストして弾けば、端末側に問題あってもOKなのよwww これが新端末連発でしかも安く出来る一つの要因なわけ
連発、安くできる要員ってんなもんねーわな たぶん
最後の一行だけなんで付いてるのか分からない文だな。 不具合があっても出荷できるから納期が短くなって安くできる って言いたいのだろうか? それ言ったら今の携帯はファームアップデートできるしな(´・ω・`)
ただのあう叩きじゃねーの?何したいのかわからんな
>>229 IThreadがNGって2.xの話じゃなかったっけ?
3.1のみでもNG??
今手元に資料無いのでアレなんだが、
たしか「リファレンスに乗ってないAPIは使用禁止」って記述から、
BREW2.xでIThreadは使えないって事だったような。
IThreadついてるの3.xからでしょ。 んで、動作保証ができないんで非推奨だったとおもった。 禁止されたかは覚えてない。
IThread自体は2.1であるよ ただQualcommとして非推奨(試験的実装)だった 3.xでQualcomm的には公式API
2.1からあったのか・・・ じゃあ、単にKDDI側の実装時の検証がすんでないとかそういうことか。 検証すらしてなかったりして。
スレッドを使いたくなる用途って何があるのかな… 俺はスレッド必要ないな
まあ俺に必要なBrewのスレッドは、ここだけだ。
>>246 Javaのスレッドマンセーなプログラムの移植とか。
あと非同期処理とUIが重なったとき
イベントトリブンなプログラムで書くよりかは
スレッド使った方がスマートになると思う。
Win32で言うところの DispatchMessage が有ればスレッド使わんでも良いのだけれど。
とりあえずKDDIでは3.1のIThreadは使用禁止だったよ。某支援サイトのFAQ。 まぁ使用は海外の仕事だけにしておきたまえ。 もしくは自己責任で。使用禁止な以上、42SAみたいなことがあっても 周りは誰も責任とってくれないぜ。 動いてんならかまわないとは思うけどね。
>>250 サンクス。
今日一日調べてもIThread禁止の記述が見つからないし
職場が2chアク禁で書き込めもできないし悩んでた。
下請けだもんで支援サイトとやらが・・・orz
いいや、もう忘れよう。
俺は何も見なかったんだ。そうにちまいない。
252 :
かぬ :2007/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 :
デフォルトの名無しさん :2007/02/20(火) 18:17:55
質問です。 MALLOCした領域を開放せずにアプリが終了したばあい、その領域って勝手に開放されちゃうの?
携帯の電源が落とされるまでそのまんま。 勝手に開放してくれるんならテストする必要ないでしょ。
255 :
◆LOUDNESSQA :2007/02/20(火) 18:43:37
だってそんな現象がおきちゃったんだもん。
ノイズだかなんだかわからないレスが紛れ込んでるな
257 :
◆LOUDNESSQA :2007/02/20(火) 19:33:10
自己解決しました。 開放されるが正しいよぅでつ
259 :
◆LOUDNESSQA :2007/02/20(火) 19:44:07
だってQ社がそう言ってるんだもん。 OEM依存ぢゃなぃんぢゃね?
ふーん。
261 :
◆LOUDNESSQA :2007/02/20(火) 23:59:10
><。
IHtmlViewerのサスペンド/レジュームまわりについて質問です。 W42SAでテストしているのですが、 テキストボックスがあるHTMLに何かしら入力された状態で サスペンド/レジュームを行うと、 レジューム後端末が落ちてしまう現象が起きています。 テキストボックスが空の状態だとレジューム成功するので、 原因がサッパリ判りませんです。 ちなみにサスペンド時にインスタンスを開放せず、 レジューム時にIHTMLVIEWER_SetActive()で復帰させると大丈夫ではあるのですが… これをするとサービスガイドに違反(´・ω・`) 何かアドバイス頂けないでしょうか〜
IHTMLVIEWER は、サスペンド時に解放すべしってあったような。。。 きっとサスペンド中に保持してると不具合があるんだよ。
264 :
262 :2007/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); } テキストボックスに入力されていると〜 と言うよりは、 入力されない場合はたまたま何も無かったらしいです(´・ω・`) 失礼しますた。
ちゃんとイベントハンドラ書いてるか? IHTMLVIEWER_HandleEvent()
266 :
265 :2007/02/21(水) 17:16:19
む、タッチの差だったか
すみません。Visual Studio 2003で開発してるんですけど、デバッガで 変数に代入されたときにブレークポイントで停止するって機能を ちゃんと使えてる方います? いや、なんかこの機能だけうまく動作しない…。
268 :
デフォルトの名無しさん :2007/02/24(土) 12:12:39
269 :
◆LOUDNESSQA :2007/02/24(土) 23:28:01
>>269 まあそれで検証が楽になるならいいんだけどな。
勝手に解放してくれるからって、CPになんかメリットあんの?
271 :
◆LOUDNESSQA :2007/02/25(日) 01:00:02
むしろデメリット。 シングルトンエクステンションの場合、 Aアプリがエクステンションを生成して、Bアプリ、Cアプリが参照して、 Aアプリが終了(インスタンス開放)すると、 Bアプリ、CアプリがAddRefしているからFREE()は行わないはずなんだけど、 FREE()を行ったのと同じ動作になっちゃうんです。
272 :
◆LOUDNESSQA :2007/02/25(日) 01:10:17
あるいは、AアプリがMALLOCした領域をPostEventにて、 Bアプリに送る。 Bアプリにイベントが届く前にAアプリが終了した場合、 その領域が保障されません。
メモリやりとりの場合、 参照しているのがあったら終了しないのが常識と思っていた (Windowsでもメモリ内容を直接、他アプリに渡す WM_COPYDATAメッセージがあるが、それも同様) が、そういう考え方もあるのね‥‥ (Windows等、他のOSで271,272のような操作を行って 正常に動作するかは、やったことなんて無いので分からない)
というか、大抵はアプリ終了時は 責任を持ってアプリ内でFREEするのが常識と 思っていたな(w
というかBアプリとCアプリが参照してる状態でAアプリは終了出来るのか? そんでもしそれが出来たとして、Aアプリが終了したらBアプリとCアプリから参照してるAアプリは不正になるわけで。 で、しかもAアプリが残した残骸があったら、BアプリかCアプリがFREE()することになるんだろうけど、 そんな別アプリにまたがって解放できるかどうかが問題だし、そもそもそんな構造にすべきじゃない。
○○はサスペンドする時に必ず開放してくださいって 検証項目に追加すればおk
んな危険な事しないで一時ファイルに書き出せよ
そーゆー話をしてるわけじゃないだろ?
参照カウントが0じゃないんだったら勝手にメモリが解放されるってことはなさそうだが。。。 要は、IBASE_Release() したあとに、エクステンションが確保した領域のメモリは使えないってことか?
BREW様の仕様d
281 :
◆LOUDNESSQA :2007/02/27(火) 00:20:32
>>279 参照カウンタが0じゃないと明示的にFREE()しないはずだけど、
生成したアプリが終了したときに勝手に開放される仕様らしい。
プロセス越えをするんなら、MALLOCじゃなく真にOS管理のヒープ機能使わないと駄目だろ それともMALLOC=IHeap_Mallocなのかね? Windowsだって一般にプロセスローカルなmallocじゃなく、GlobalAllocとか共有のための メモリ管理機能をつかうことになるってのに 271のはBREWというより、むしろそのエクステンション自体のバグでしょ 多数から使われることを考慮してない実装になってるとかそんな感じの そんな対応策無い、というなら280同意でゴルゥア
>>280 そりゃああれか、エクステンションで確保したメモリは BREW OS から見ると
呼び出し側が確保したメモリ空間と同じになるようなヒープ管理してるってことか。
だから呼び出し側が終了で勝手にメモリ解放する仕様なのか。
だとすると、
>>282 が言うように、GlobalAlloc
のような動作をするメモリ確保が出来ないときついね。
というかそれほんとに起こるの? さすがにそんな糞な仕様になってるとは思えないんだけど。 コテハンの奴は信用できないから誰か確認してちょ。 それともフォーラムに質問投げるかね。
未開放があると普通に端末リセット掛かった記憶があるのだが もう随分BREW触ってねーから覚えてねえや
286 :
デフォルトの名無しさん :2007/02/28(水) 02:28:23
>>251 ITHREADは利用禁止@開発支援サイトのFAQ
287 :
デフォルトの名無しさん :2007/02/28(水) 12:30:43
284 ykuboさんが言っているからまちがいない。
288 :
デフォルトの名無しさん :2007/02/28(水) 20:07:55
289 :
284 :2007/02/28(水) 20:57:34
>>287 俺が言ってるのは、
>>280 の
>エクステンションで確保したメモリは BREW OS から見ると
>呼び出し側が確保したメモリ空間と同じになるようなヒープ管理してるってことか。
これに対してのレスな。
まあよく考えたら呼び出し側のメモリ空間になる訳が無いんだが。
あと、アプリが終了したときに解放されるのはそれでいいんじゃね。
PostEvent() でメモリ送るとか言ってるクソバカは困るかもしれないけどな。
新しい端末だと解約したらアプリ動かせなくなってきてる?('A`)
>>290 USIMカード端末は無理だね・・・
開発会社泣かせな仕様になったもんだ。
新規じゃなくて機種変で同じSIMカード使い回しならいけるよ。 Docomoと違ってSIMカードが違うと受け付けないのが面倒だけど。
293 :
デフォルトの名無しさん :2007/03/01(木) 16:24:38
QVGA対応のアプリから、ワイドQVGA対応アプリ(ブラウザとか)を呼び出すという事を やってるんですが、EVT_APP_RESUME で戻って来た時に、IDISPLAY_ClearScreen しても、QVGA領域しかクリアされないので、上の部分にワイドQVGAアプリの表示が 残ってしまうのですが、これって、呼び出し元のQVGAアプリからじゃ消せないですか?
>>293 復帰時に自動的にQVGAの範囲でクリッピングされてるとか。わからんけど。
AEEDeviceInfoのpDeviceInfo->cyScreenはどうなってる?
これでQVGA範囲だったら、じゃぁその範囲でしか描画処理は及ばないのだろう。
pDeviceInfo->cyScreen は 296 ですね。 調べたら AEECLSID_DISPLAY3 でなんか出来そうなので、やってみてます
ひなまつりは過ぎてしまいました保全。
だれか「BREWたん」を描いてよ。
BREWタンは選民意識が強いから、平民の勝手ユーザーは相手にしないよ!
そういや3月3日ってひなまつりだったな
ふと思ったんだけど、みんなはBREWリソースを使ってる? BREWリソースエディタってなんか使いにくいし、扱いにくいじゃない。 「ファイルをまとめること」が重要なんだとすると、実は自前でひとつにまとめて 自分好みに扱える(読んだり書き込んだりする)仕組みを作れば便利なのでは? とか思ったんだが、このアイデアって問題あるかな?
301 :
300 :2007/03/06(火) 23:50:11
後、もうひとつ思った疑問。 BREWの使用禁止文字(ロシア文字や罫線)って、何が原因で使っちゃ駄目なんだろ? そもそも、あう端末で使われてるメーラーやらブラウザ、オープンアプリプレーヤーなんかBREWで作られてるんだろう? それなのに使用禁止文字が使える(入力できるし、表示できる)のが不思議でしょうがないんだよな。 まさか、開発会社によっては使用を許してたりするのかな〜 ┐(´〜`;)┌
>>300 わりと使ってるぜ。3.1のXMLデータ+コマンドラインで作るやつのみだけどな
バイナリ比較したら2.1のGUI版で作ったのと一致したからVer気にせずGO
どうしてもファイル名を保存しておく必要があるときは自作アーカイブにしたけど
>>300 文字列やら色んなもの格納してるよ。
俺も
>>302 と同様にリソースエディタは使ってないけど。
>>300 俺もver1.0.1のリソースコンパイラ使ってるよ。
ディレクトリに入ってるファイルの一覧をXMLに吐き出すツール作って、brewrcでビルドするだけだ。
305 :
300 :2007/03/07(水) 23:54:46
>>302 >>303 >>304 レスさんくす。
なるほど、エディタを使わずにXML出力するツールを自作するっていう手もあるのか。
後、302が自作アーカイブでいった経験があるってのは貴重な意見だった。
ありがとう。
オイラも真似してやってみるよ。
( ・∀・)ノ
もしかして、STRTOWSTR って、半角かな非対応?
STRTOWSTRなんて使うことあったっけ?
訳:STRTOWSTRは単純。STREXPANDは賢い。
海外向け?(´・ω・`)
ガイド >STRTOWSTR/WSTRTOSTR について >(略)、使用しないでください。 チェックシート >STRTOWSTR/WSTRTOSTR関数の使用禁止 >(略)、STREXPAND/WSTRCOMPRESS関数を使用してください。
>>331 はau端末の話ね。
海外向けアプリはこの限りじゃない。
313 :
312 :2007/03/10(土) 17:09:27
× 331 ○ 311
>>306 は半角かなって言ってるから、日本の端末でそ。
315 :
306 :2007/03/12(月) 17:29:40
みんなありがとう。 KのドキュメントにSTREXPAND使えって書いてあるじゃんね。 超FAQな質問してごめん。(*´Д`)
316 :
306 :2007/03/12(月) 17:35:55
ちなみにやりたかったことは、 「SJIS文字列の中に特定文字列が存在するかどうか調べる。」 だったんだけど、STRSTR が頭悪いからいったん AECHAR[] にしたほうがいいんでね?っていう判断だったのでした。 で、結局 char[] 型のまま SJIS 対応の STRSTR_SJIS を書いて解決。 処理速度もほとんど変わらずで問題なしになったのでした。
自作アーカイブでIFile直接操作できると gzip展開の時にIFileから直接展開できる分 メモリ消費が少なくなっていいよね。
DQNめんともうちょっときれいにしてほしいでつ><
>>317 IFile を継承して、中身は gzip の操作をするインターフェイスを作りたいってこと?
>>319 UnzipにそのままIFileぶっこめるだろ
>>320 ああそうか。
じゃあ、IFileMgr 継承したインターフェイスを作りたいってことか?
だれかPart8の過去ログ持ってませんか? Wikiの過去ログもPart7までしかUPされてなくてさ
土曜日だが会社だ。ああまんどくせ。保全。
乙かれ
VCExpressでもプログラミングできる? エミュまででいいから
できるはず。 プロジェクトは手動で作る必要あるけど。
>>327 うちはリリースしてるアプリをVCExpressで開発してる。
シミュレータともリンクして普通にデバッグできる。
ステップ実行とか、変数ウォッチとか、普通に出来る。
330 :
デフォルトの名無しさん :2007/03/19(月) 23:51:10
どうせドコモ以外は糞なんだよ!!!!!! で330
保全
332 :
デフォルトの名無しさん :2007/03/25(日) 03:24:10
常時・定期通信制限厳格化まであと7日age
ユーザーには着うたとかがんがん落とさせるくせに、アプリには厳しすぎる
335 :
デフォルトの名無しさん :2007/03/26(月) 17:08:51
>>334 とりあえず法人向けの話だから関係する人で気になる人はサイト見れ
336 :
デフォルトの名無しさん :2007/03/27(火) 18:36:05
BREW AppLoaderにて間違って日本語のファイル転送してしまったのだけど・・消す方法ないでしょうか・・
337 :
336 :2007/03/27(火) 19:08:33
端末のアプリリセットをすると消すことができました。
>>336 おれは、アプリフォルダのファイルをすべて消すプログラムを書いて対処したことがある。
// 擬似コード
filemgr = CreateInstance( AEE_FILEMGR );
if( filemgr )
{
FileInfo info;
filemgr->EnumInit("",FALSE);
while( filemgr->EnumNext(&info) )
{
filemgr->Remove(info.szName);
}
}
339 :
デフォルトの名無しさん :2007/03/28(水) 23:09:53
ISSLがわからね〜〜〜 リファレンス以外の資料はどこにあるんだ?
340 :
デフォルトの名無しさん :2007/03/29(木) 02:10:31
>>339 BREWではやったことないが、昔javaでjsse使って自前でTLSで
通信するサーバーとクライアントは作ったことあるんでちょいと覗いてみた
サンプル見る限り、生のソケットあけてISSLに食わせて、適当に接続先の
証明書ぶちこんでネゴさせりゃ動きそうなんだが・・・
341 :
デフォルトの名無しさん :2007/03/30(金) 10:25:27
サーバからpngファイルをダウンロードして、メモリ上のデータからIImageを作ろうと思ったんだが 一旦ファイルに保存してISHELL_LoadImageしないとダメ?
つ IMemAStream
343 :
デフォルトの名無しさん :2007/03/30(金) 11:41:37
>>342 あ〜なるほど、ありがとう。
ちょっと処理が複雑になるけどしょうがないな。
あれっ、直接ソケットを渡せなかったっけか?
証明書は? べりさいん辺りのページには繋がる?
347 :
345 :2007/03/31(土) 00:31:07
>>346 お返事サンクス
ソースはそのまま別のサーバへ接続したら繋がりました。
って事で証明書が問題か・・・
最終的にはプライベート証明書を使うのですが、
現状見事に失敗してます。
上記ソースのIWebOptsをIX509Chainに変更して証明書を食わせただけですが。
どうも違うっぽい。
ソケットプログラムは理解度が浅いのでIWebでどうにかしたいのですが・・・
もう暫くもがいてみまーす。
最近スレの流れがゆっくりになってきたねぇ… 案件(?)が減ったのかな
>>347 証明書のファイル形式は合ってる?BREWが読めるのはDER形式だったはずですが。
350 :
345 :2007/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));
という感じでやってますが、何処か問題の有りそうな箇所はありますか?
>>348 安心しろ、BREW4が出てくると・・・
>>350 たしかm_cainBufは通信終了まで保持しないとダメ
あるいはCOPYOPTSオプションをm_ix509Cainに指定する
つーかエラーコード書こうぜ
355 :
345 :2007/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が帰ってきてます。
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 に入る
(・∀・)ウォ・ッップバル!
358 :
345 :2007/04/02(月) 11:13:27
>>356 ありがとです。
おかげでエラーコードを拾えるようになりました。
サーバ側と詰めてきます。
強引なキャストだと思っていたら
見ている資料が古すぎたってことか(;´ρ`)
359 :
デフォルトの名無しさん :2007/04/03(火) 00:02:42 BE:973224285-2BP(0)
組み込み&BREW初心者のJava開発者です。 BREWでC++って使っていますか? Better Cという意味でのC++ではなく、クラスなどのオブジェクト指向としてのC++って意味です。 組み込みやった先輩(BREWは初心者)から、 組み込みは基本的にC。BREWやってた人からBREWでC++やるとはまる、チャレンジャーだねという話を聞いた。 と言われました。 BREWでC++使えますでしょうか?
>>359 テンプレートが実質使えないから旨味が半減じゃまいか。
362 :
345 :2007/04/03(火) 15:12:27
サーバ側と煮詰めたら無事繋がるようになりました。 SSLが遅い!との事でhttpに変更になりました。 ソース全部破棄しました。 本当にありがとうございました。
>>359 うちも基本的に C++ で書いてる。
>>361 テンプレートは使えるには使えるんだが、容量の都合で用途は限定されるべ。
364 :
359 :2007/04/03(火) 23:58:24 BE:1094877195-2BP(0)
皆さん、レスサンキューです。 C++で問題ないみたいなので、C++で行こうと思います。
>>364 RVDS2.1以降でC++のサポートが強化されてる
namespaceとかtemplate回り
金があるならRVDS買えば幸せになれるかも
>>362 UIMカード搭載端末限定だとたぶん回避策あるんだが...それで問題なければ問い合わせて見れ
366 :
359 :2007/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 :2007/04/04(水) 06:55:33 BE:1094877195-2BP(0)
いやコンパイラがC++のより高度な文法をサポートしてるだけ BREWに関してはデバッグ環境はかわらんよ 値段はシラネ
おれは C++ で開発してるけど、GNUARM しか使ってない。
GUNDA(ry
またえらくなつかしいもんひっぱりだしてきたな
373 :
デフォルトの名無しさん :2007/04/05(木) 21:58:13
SecurityPass・・・
保全.NET 2005 Express Edition。
通信中や処理中にキーを連打すると、 通信や処理終了後に連打した分のキーイベントが、 全て起こってしまうんですが、 これを上手く回避する方法はないでしょうか?
無視すればいいんじゃね?
二つとか三つとか音楽を同時に再生をスタートさせる方法ってある? IMEDIA_Playを並べて書いてみたらズレまくって困る
普通に2つ並べて書いて問題起こったこと無いな。 データがおかしいのかも。
なんと言えばいいのかな。 全部の音は、鳴ることは鳴ってるんだけど。 ただ、並べて再生してみたら数ミリ秒とかそんなぐらいなんだけどスタートがズレてて、 後ろに書いた方がタイミングがズレてるような感じを受けるんだ。
FA:そんな厳密な同時性を携帯端末に求めるな
IFileMgr_GetFreeSpace(IFileMgr * pIFileMgr, uint32 * pdwTotal) の *pdwTotal って何?
>>381 BREWAPIReference.chm
383 :
381 :2007/04/13(金) 16:43:56
>>382 すんません。
「ファイルシステムで現在使用可能な空きバイト数」(戻り値)とはちがう、
「ファイルシステム内の合計空き容量」(*pdwTotal)って何だ?と思って。
k-brew-testでほぼ目一杯にしてて、*pdwTotalがEFS全体に近いような値だったので、
これ何だろと。
他のアプリも含め、アプリが作成したファイルを全部削除した場合の空き容量とか?
>>381 最初からそう書いとけ
気にしなくていいと思う。
385 :
381 :2007/04/13(金) 18:26:37
なるほど、そうしてみる。(・∀・)
>>383 >「ファイルシステムで現在使用可能な空きバイト数」(戻り値)
EFSのうちの空き容量。
>「ファイルシステム内の合計空き容量」(*pdwTotal)って何だ?
EFS全体のサイズ。だからTotal。
システムが占有する分がいくらかあるだろうから仕様書の値とは若干違う。
だから「EFS全体に近いような値」(であって大きく外れた値ではない)。
すみませーん。 IDATAFOLDER_SelectUI なんですが、 第4引数の dwMaxFileSize の説明に 『選択するファイルサイズ合計値の上限。(単位はKB)』 とあるので100と指定してみたのですが、 余裕で100KB超のファイルを選択できます。 仕様と思っていいんでしょうか? テストに使用している機種はW42SAで、 端末仕様書を見る限り特に制限とか書いてないようなんですが。
>【複数選択時の残表示について】 (略) >この機能は移動機依存であり、実装されない移動機もあります。 こういうことじゃない?
KDDI向けのBREW3.1日本語で開発していますが、質問です。 世に出回っているアプリ起動中に、電源ボタンを押すと、 xxxを終了します。よろしいですか? 1中断する 2終了する 3キャンセルする と端末共通ぽいダイアログがでますが、これの呼び出し方法が判りません。 何かの設定をすると自動で出るのか・・・KDDIのライブラリを呼ぶのか・・・色々調べたけどダメでした。 判る方居たらよろしくお願いします。
>>389 サービスガイドを「ダイアログ」で検索。
391 :
デフォルトの名無しさん :2007/04/17(火) 23:04:23
>>389 サービスガイドはひととおり読んだほうがいいんじゃないでしょうか・・・
あと、事前検証手順書とチェックシートは今のうちに一回眺めておくと
後で幸せかもしれません。
>>389 その周りって、2.1と3.1でスペックが微妙に違うよな。2.1だと何も考えなくても
よかったんだが
393 :
389 :2007/04/17(火) 23:44:10
レスくれた方ありがとう、読み直してきます。
394 :
387 :2007/04/18(水) 10:16:14
>>388 どうやらそのようで。
今日別の端末が届いたので同じアプリを入れてみたら、
「あと100KB」と表示が出ましたとさ。
その文言はどう見ても「複数選択」の方に
かかりそうな気がするんだが・・・
何だかなぁ(゜д゜)
BREW携帯に送れないの?意味無いような・・・
396 :
デフォルトの名無しさん :2007/04/22(日) 02:00:22
>>395 試験モードになってりゃシリアルケーブルで送れるよ。
sigファイルを定期的に取り直せば勝手アプリだって
自由に動かせるよ。便利だよ。
くそー メンテのせいで仕事がーーー
メンテなんてやめんて
這(゚Д゚ )
検証提出直前3日前だと笑い死ぬと思う。
メンテで提出日に出せません あーん?聞こえんなぁ 徹夜してでも間に合わせろ なんとか終わらせました あーん?何徹夜残業してんだよ メンテでできなかったからです あーん?そんなもん知ったことか ちゃんと計画立ててないのが悪い 残業代でないからな
もっともだ・・・
もともと残業代のない俺は勝ち組
404 :
デフォルトの名無しさん :2007/04/24(火) 15:08:09
20日に検証中に変わったんだが 一向にこちらのサイトにアクセスがない。 もしかしてsigファイルとれなくて実機での検証がまだとかなのだろうか・・・
検証始まったんなら、ぼちぼち作業が進むんでない? まだ3営業日しか立っていないんで、何とも言えない希ガス。
406 :
デフォルトの名無しさん :2007/04/25(水) 01:22:22
>>405 18時位からアクセスが来た。しかもこの時間になっても検証作業してる。
がんばれ検証ラインの中の人。
じゃあ、やっぱりsigか? 無効も迷惑こうむってたんだな・・・
なんか、最近は検証も外注とか何とかそういう話が出ているようですね。。。
がんばれ、KDDI検証の人! 連中にはいろんな意味で頭があがらないぜ。
最近も何も、初めっから検証は外注
411 :
デフォルトの名無しさん :2007/04/27(金) 01:05:36
検証通ったようでステータスが登録中になったよ。ありがとう中の人。
sig、なおらないねー・・・
gnudeの情報は出ていましたが、WinARMって誰かもう使ってますか? ソースはC++で、静的変数をいっぱい使っていたりするんですけれど。 それから、こちらはRVDS2.xが前提みたいですが、lightblueの modジェネレータって、誰か使って成功しています?
sigとれるようになったー ・・・って有効期限が1年になってるけど、あってるの?これ・・・
415 :
デフォルトの名無しさん :2007/05/01(火) 01:52:48
みんなデスマってるか〜?
ん? 俺は連休中だ
>>416 いいなぁ、お前、どうせ去年からずっと連休なんだろ?
さすがにそこまでのヤツはこのスレには来ない予感
黄金連休は9連休だった。
こ れ か ら 2 ヶ 月 祝 日 な し
祝日があっても休めなかったりするのに 何言ってんだ?(・ω・)
休めるわけじゃないが、遅刻しても平気なだけマシなのだな
しかし連休明けと同時に書き込みが始まるのは判り易いよな
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(); をやるとまったく違う関数が呼ばれてしまう。。。。どうしたらいいんだろ。。。。
何で仮想継承してるのか分からんけど、普通に多重継承させて ClassG* classG = static_cast<ClassG*>(static_cast<ClassD*>(obj)); obj->hoge(); でいけることない?
仮想継承消して実験してみたら、↑のは曖昧って怒られた。
むかついたからこんな風にしてみた。
IClassG* classG = (IClassG*)(ClassD*)(ClassC*)(ClassB*)(ClassA*)obj;
classG->ClassGFunc();
今は反省していない。
>>424 Object にキャストしたときにはもう元の型情報が失われてるから、
ClassG* にするために何バイトオフセットをずらせばいいかが分からない。
だから正しい型(ClassG を継承した型)に戻した上で ClassG* にキャストしてやる必要がある。
>>426 それでいけるのも分かるのだが、
しかしそうすると、たとえばIClassGを実装したクラスが
3つあるとすると、それらをIClassG型で扱いたいのに、いちいち元の型を
しらべて、それに一度キャストしてからIClassGに戻すということをしないといけない。
JavaではIClassG型として受け取れば元の型が何であろうと
IClassG型のメソッドは呼べる。
できればJavaと同じ振る舞いをさせたいんだけどいい方法ないかなぁ・・・・
COMのQueryInterfaceみたいなのを作るしかないのかな・・・・・
428 :
427 :2007/05/08(火) 04:16:36
追記。 いったんObject型にしちゃうのは、JavaでいうVectorみたいな 可変長配列に入れてるためです。 templateにしてないのはプリミティブ型を入れたくないから。 まぁ元がJavaからの移植なのでできるだけJavaのコーディングを 真似したいということです。
>>428 少々めんどくていいなら、
struct Object
{
int type;
void* obj;
};
こんな感じのクラスを可変長配列に格納すればいいんじゃないかと。
受け取った側は type を見て適切な型に頑張って自分でキャストする、と。
>>427 それをするためには RTTI が不可欠になってくるので、
自分でそういった機構を作る必要が出てくるだろうなぁ。
正直俺はやる気がしない。
ARMのコンパイルしたら #include file "なんたら" wouldn't open がズラーっと並ぶ。 なんたらのところは追加インクルードディレクトリの中にあるヘッダーファイル どのへんをいじってみたらいいのかもわからんボスケテ
>>430 -Iオプションで追加インクルードディレクトリを指定してあげたらいいんじゃないかな。
>431 助かった。解決!
433 :
デフォルトの名無しさん :2007/05/10(木) 21:53:07
Cメールを受信すると一瞬停止する現象が起きます W32SA端末です
434 :
デフォルトの名無しさん :2007/05/11(金) 00:10:01
435 :
433 :2007/05/11(金) 01:29:06
Cメール受信時の動作についてはどんな資料見ればよいでしょうか? 支援サイトの資料はあるのですが、「W32」「メール」で検索したのですがダメでした。 アドバイスお願いします
どのドキュメントにも載ってないだろうし、 その件は技術サポートに質問するような内容だね。
意味がわからなかったけど、 BREWアプリが停止するって意味か。 サポートに聞けとしか(ry
438 :
433 :2007/05/11(金) 09:10:37
問い合わせてみます。
439 :
デフォルトの名無しさん :2007/05/13(日) 10:28:50
質問です。環境はC++&ARMコンパイラです。 class Object と class Hoge : public Object があり、 Hoge を社内ライブラリのスマートポインタに格納しました。 SmartPtr<Hoge> spHoge(new Hoge()); そしてスマートポインタから生のポインタを取り出すのですが、 Hoge* pHoge = spHoge.getPtr(); Object* pObject = spHoge.getPtr(); void* pUnknown = spHoge.getPtr(); この時、pObjectにだけ 他で得られたポインタ値-8 が格納されていました。 SmartPtr<Hoge>::getPtr()の実装は、内部で持っているダブルポインタ Hoge** p を、 return *p として返しているというようなものです。 この、返すべきポインタの型によって、 ポインタ値-8されてしまうのは、何故なのでしょうか? VCとエミュレータでやってみても再現しないため、 ARMコンパイラの何らかの機構によるものではないかと思うのですが、 私には、それが何であるのか今のところ分かっていません。 他にも同じ経験をされた方や、詳しい方いらっしゃいましたら是非ご教授くださいませ。
>439 pHoge を Object* にキャストした場合はどうなる? >class Hoge : public Object 単一継承じゃなくて多重継承してたりとかしない? >この時、pObjectにだけ 他で得られたポインタ値-8 が格納されていました。 +8 じゃなくて、-8?
441 :
439 :2007/05/13(日) 21:12:40
>>440 返信ありがとうございます。
>pHoge を Object* にキャストした場合はどうなる?
pHoge を Object* へというのはちょっとやっていませんでした。
明日試してみます。
>単一継承じゃなくて多重継承してたりとかしない?
・・実は多重継承しています!
本当はこのような継承構造になっています。
class Hoge : public Object , public Factory<Hoge>
Factoryは、static T CreateInstance()メソッドを持ち、自分自身を
確保してあるメモリプールから生成出来るようにしており、
new Hoge() も実際は、Hoge::CreateInstance() となっています。
Objectは、いくつかの変数と仮想関数を持っています。
情報の後出しをしてしまい、申し訳ありません。
多重継承だとVTBLが複雑になるといった情報を先ほど知ったのですが、
その影響ということなのでしょうか?
>+8 じゃなくて、-8?
そこを突っ込まれると、メモって来たわけではないので
ちょっと自身がないのですが、確かpObjectだけ他-8だったように思います。
明日詳しく調べてきます。
>>424 と同じ悩みだな。
「BREW Java 風 クラス」とかでググるといいかも。
>441 >多重継承だとVTBLが複雑になるといった情報を先ほど知ったのですが、 >その影響ということなのでしょうか? vtbl よりもメモリレイアウトの方かな。 派生クラスのオブジェクトの一部に基本クラスのオブジェクトが含まれる。 仮に、Hoge クラスのレイアウトが次のようになったとする。 Factory<Hoge> の内容 Object の内容 Hoge 独自の内容 このとき、Hoge * はオブジェクトの先頭を指すので「Factory<Hoge> の内容」の先頭を指している。 void * へキャストする際は、そのままオブジェクト先頭を指すので「Factory<Hoge> の内容」の先頭を指す。 Object* へキャストする場合は、内部の基本クラスのオブジェクトの先頭を指すので、「Object の内容」の先頭を指す。 なので、Factory<Hoge> の内容(とパディング)で 8 バイト確保されている場合には、Object* へキャストするとポインタ値が +8 される。 多分、ARM コンパイラと VC でオブジェクトのメモリレイアウトが違うんじゃない?
444 :
439 :2007/05/15(火) 01:45:15
すみません、Object*で返ってきたポインタ値は、皆さんの仰るとおり+8でした。
どうやら逆に勘違いしていたようです。
>>443 なるほと、そういうことなのですね。
あれから自分でも色々試し、色々と分かるようになりました。
私も途中で
>>424 の問題とぶつかりましたが、私の場合は
基本的にスマートポインタを使うようにし、派生クラスから基底クラスへキャストした際に
派生のポインタと基底のポインタから差分を取り、キャストオフセット値(?)として
スマートポインタ内部に保存して、必要なときに取り出せるようにしました。
これで大きな問題が解決でき、やっと作業が進行しそうです。
皆さん、本当にありがとうございました。
今日のカンファレンスに出てたのって例のykubo氏か? GJと言いたいとこだが、ちょっと喋るの早すぎないかw
あああ、カンファレンス行き忘れた。 そもそも申し込みしてないんだが。w
447 :
デフォルトの名無しさん :2007/05/22(火) 13:24:16
PCから端末へのアプリの転送速度を上げる良い方法知らないか? 過去ログ見たがケーブルが悪いとか赤外線があるとかあったが、いまいち良い情報が見つからない。 ちなみに今は純正使ってる。 誰かオススメあったらkwsk
転送量を減らす
なぁ、BREW2.1のアプリってまだ作ってる? どうせユーザー数は少ないんだし切り捨てたいんだけど… KではBREW2.1はとっくに眼中にないわけで 公式に「もうBREW2.1は忘れていいから、BREW3.1アプリに注力してよ」 とか言っちゃってくれると一番強力なんだけどなー
WINの2.1なら容量がOKならまだ対応することもあるね 2.1でみると課金率下がってるから、もう少しで死滅するんじゃないのか、とは思ってるけど
2.1のアプリってもう3.1で実績無いと作れないんと違うの?(´・ω・`)
質問です。
ICAMERA_GetSizeListで撮影可能な写真のサイズを取得しようと
思っているのですが上手くいきません。
機種はW51Hです。
ttp://brewforums.qualcomm.com/showthread.php?t=9219 こちらの掲示板の内容を参考に次のような処理を作りました。
int Count = 0;
AEESize *pList;
boolean bRange;
ICamera* pICamera;
if( ISHELL_CreateInstance( pIShell , AEECLSID_CAMERA, (void**)&pICamera ) == SUCCESS )
{
pList = (AEESize*)CAM_MODE_SNAPSHOT;
if( ICAMERA_GetSizeList( pICamera , &pList , &bRange ) == SUCCESS )
{
for( ; pList[Count].cx > 0 && pList[Count].cy > 0 ; Count++ );
}
}
ICAMERA_Release( pICamera );
その結果、上記のfor文を実行した場合アプリが落ちてしまいます。
また、pListの中にはありえないようなサイズ(万単位×1とか0とか)の値が返ってきていました。
何が問題なのでしょうか。
APIリファレンス見た? bRangeは使わないの?
NULLチェックしてないから永遠に続いてる
ご回答有難うございます。 >453 NULL で終結した範囲のペアリスト (2 の倍数) とありますが具体的なイメージが掴めていません。 1バイトずつ見ていって00のバイトで区切ってcxとcyが設定されているといった感じなのでしょうか また、bRangeの戻り値はFALSEだったのですが、APIリファレンスにはFALSEの場合が 載っていませんでした。FALSEの場合の資料は有るのでしょうか。 >454 ソース上の pList[Count]に0が入っている状態がNULLだと思い、pList[Count].cx > 0 && pList[Count].cy > 0 といった条件にしました。 どの部分がNULLの場合、終端ということになるのでしょうか
すみません APIリファレンス見間違えました ポインタじゃないのでpListの中身が0の時で合っているのかもしれません
>>452 >boolean bRange;
>ICAMERA_GetSizeList( pICamera , &pList , &bRange )
これをこうしてみて。
int32 nRange;
ICAMERA_GetSizeList( pICamera , &pList , &nRange )
459 :
452 :2007/05/25(金) 11:59:24
>456 >458 ご回答有難うございます。無事に解決しました。 自作の関数の中でICAMERA_GetSizeListを呼んで、リストのポインタを返すようにしていたのですが 関数を出た時点でリストの値がおかしくなっているようでした。 関数内で値を取得して返すようにすることで解決しました。 終端チェックは pList[Count].cx > 0 && pList[Count].cy > 0 で大丈夫でした。 お騒がせしました。
(*´Д`) 保全
>>450 ウチはゲームなんで、容量の問題だけだねえ。
mifだけ変えて同じバイナリ渡しとくだけで両方料金請求できるのに
やらない意味がない。
462 :
デフォルトの名無しさん :2007/05/31(木) 11:45:49
BREW AppLoaderで機種によって接続できなかったり、 転送できなかったりするんですが、 どうにかできないでしょうか? ちなみにBTILのアップデートパッチによって、できない機種が変わります。 BTILインストール直後 CA全般,W42H,W51Pと接続できない U02パッチあてた後 T全般,W51SA,NEONに転送できない
>>462 パッチその2は当てちゃだめなのですよー
1までで。
464 :
462 :2007/05/31(木) 12:23:17
>>463 BREWのサイトにはU01と書いてたのですが、
U01をあててもインストール直後の状態と変わらず、
CA機種等と接続できないのです。
昔にインストールしたヤツだと
どの機種にも転送できるんですが。。。
>>464 パッチ当てた後、iniファイル(だったっけ?)を書き換えないとだけど、それはやったかい?
466 :
462 :2007/06/01(金) 00:58:17
>>465 それは知りませんでした。
情報ありがとう。明日やってみます。
468 :
◆LOUDNESSQA :2007/06/01(金) 10:52:23
MIFの依存ファイルの設定についてですが、 AアプリがBエクステンションをCreateし、BエクステンションがCエクステンションを Createする場合、 AアプリのMIFの依存ファイルはBとCのエクステンションを設定しないといけません か? あるいはBだけで大丈夫ですか? オフィシャルのソース等ありませんか?
469 :
デフォルトの名無しさん :2007/06/02(土) 06:54:21
つかいつになったらオレアプリ作れるのかなぁ?
オープンアプリでいいじゃん?
473 :
デフォルトの名無しさん :2007/06/05(火) 02:11:59
>>471 俺、このアプリが完成したら結婚するんだ。
>>473 俺、このアプリが完成したら退職して、小さいけど堅実な会社を開くんだ
なにその確実な死亡フラグ
476 :
デフォルトの名無しさん :2007/06/08(金) 14:02:34
VistaでAppLoaderって使える?
477 :
デフォルトの名無しさん :2007/06/08(金) 18:50:47
エンジニアが開発マシンにVistaなんて使っていいの?
中東で仕入れた QのUnlocker改造しようと試みたが どうにもFlashBIOSが硬くて抜き出せない こいつ抜き出して解析できれば俺アプリ作れる はずなんだがうーむどうしたもんか
IBITMAP_DrawHScanline() x または y がビットマップの境界の外にある場合は、クリップされますか? 特に y マイナスの時
480 :
479 :2007/06/12(火) 17:11:26
unsignedだった、スマソ
W51K/W52KとかW51CA/W51H/W52Tなんかで文字列入力中(ITEXTCTL使用中)に 終話キー押してもEVT_APP_SUSPENDが来ねEEEEEEEeeeee!!! みなさんがたはどうやってMEDIAとかインスタンス開放してますか? ※SUSPENDよこさずにRESUMEとか投げてよこすのは端末のバグだろぉーーー
mifの設定は?
483 :
481 :2007/06/12(火) 18:22:57
>482 ストップダイアログでしょうか。 ちゃんと設定されてますた.... 文字入力途中のサスペンド/レジューム動作は機種依存となりますっつー記述 見つけてテストみたら散々な目にwwwww
あー、俺がやった奴今調べてみたら 文字入力する所じゃ音ならねーやw 文字入力の前に開放しとくとかするしか無いんでない?
485 :
481 :2007/06/12(火) 20:56:34
げげっやっぱりっすか すまんす、終話キーだけじゃなくってもちろん音声着信でも同様な事が起こります。 ちなみに音着の方がもっと深刻でHとかCAでも発生します(こいつらは終話キーの時は 編集内容破棄するかポップアップ出すのでまだましかも。) MEDIAって書きましたがその他のハードリソース取得したままだと音声着信に動画やら 設定されているともれなくリセットすると思われ。 ログ見てたらW51KとかW52Kで終話キー押したらメモリリークあるようなログ出てるのも 気になるところっす。(アプリじゃなくKCPぽいですが。)
>>481 IHTMLViewer + INPUTフォームおすすめ
俺はこの方法で入力してるが、サスペンド自体が来なかった記憶はないな
見落としてるのかもしれないけど、レジューム後にIMediaもフル動作してるから、
多分サスペンドされてるとは思うんだけどな
むかしKの端末って、ITEXTCTLとサスペンドは鬼門だったような覚えがあるのは 何の気のせいだろう。。。。
ブラウザ連携も癖あったよねー。昔のK
489 :
481 :2007/06/13(水) 11:06:07
レスありがとうございます。 アプリ内部でSUSPEND/RESUMEのステートマシンを作ってがちがちにガードさせていたのもあり SUSPENDが来ずにRESUMEがきた場合は無視してたらEVT_APP_STOPがきてアプリ終了されてました。 今回のどうみても端末不具合としか思えない現象に対してはとりあえず画面再描画することで 回避しますた。 ※リセットに繋がるインスタンスは保持していないのでリセットはしないと思われます。 ITEXTCTLを使う前にはリセットに繋がる資源は開放していた方がよさそうですね。 >486さん その方法、ちょっと調べてみます。ありがとうございました。
>>489 俺は486じゃないが一言。
リドローのタイミングとかきちんとしてないと、一部端末で酷い目にあうから気を付けろ。
まあ、作法通りに作れば概ね大丈夫なはず。
>IHTMLViewer + INPUTフォームおすすめ に関係したことで質問。 アプリからFEPを起動した場合は、入力確定してアプリに戻るとき eCode: EVT_CTL_TEXT_MODECHANGED wParam: TMJ_FEPOUT が発生するとガイドに書いてあって(BREW3.1)、実機で動作確認できた。 しかしINPUTフォームの場合は、値やイベントの定義が特にガイドに 載ってなかったと思うのだが、 アプリへ復帰するタイミングはどうやって判定するのだろうか? 見落とし、思い違いをしてるぞってことなら指摘頼む。
>>491 HTMLには入力(INPUT)とOKボタン(SUBMIT)をセットで配置してるんだ。
だからOKを押してもらったときのURLトリガをタイミングにして
復帰とかエラーメッセージ表示させてる。
HTML上でやってるからあまり凝った画面は作れないけどね。
なかなか使えそうな技だな。こんど俺も使ってみよう。
494 :
デフォルトの名無しさん :2007/06/16(土) 21:13:14
BREWもCも初めてなんですが、 一つ凄く基本的な質問をさせてください。 BREWではグローバル変数が使えないと書いてたんですが、 例えば描画に必要なIGraphicsを色んな関数から参照できる位置には保存できなくて、 その都度関数に引数として渡さないといけないということなんでしょうか?
メインとなる構造体のポインタを取得するシステム関数があるのでそれを使う手もあります
global/staticが使えるようになるelf2modはみんなあまり使っていないのか?
やば、そうだよそれすっかり忘れてた
グローバル変数量産されても困るんで、うちではとりあえず使わない方向で。 つか普通に組む分にはグローバル変数なんてなくても困らないし。
499 :
494 :2007/06/17(日) 12:03:20
ありがとうございます。 elf2modの情報がイマイチ見つからないんですが、 コンパイルやmodファイルの作り方によるってことでしょうか。 とりあえずエミュレータ段階では使えるっぽい。 iアプリとSアプリしか作ったことないんですが、 brewめんどくさそうですね。色々。
javaにもグローバル変数は無いだろ
BREWのAPI上で、 入力された文字列(かな)に対する漢字データをATOKから 引っ張りたいだけど可能? ※全角入力の際の画面遷移をせずに漢字を入力させたい
ATOKとは何事ぞ 無理
むしろそういうエクステンションとか作ってください
>>500 グローバル変数はないが、クラス内でstaticなオブジェクトが使える。
Java→Brew移植する時に面倒だったけど、新elf2modのおかげで楽になった。
505 :
デフォルトの名無しさん :2007/06/20(水) 02:37:34
>>504 だから、それはglobal変数じゃないだろって話だろ。
>505が意味不明なんですが
意味が解らない事で何か問題がありましたか?
508 :
479 :2007/06/20(水) 17:57:20
IBITMAP_DrawHScanline() Yがビットマップ範囲外の時はクリップされず、 メモリぶっ壊してました。
509 :
デフォルトの名無しさん :2007/06/21(木) 18:04:42
Javaのようにintを文字列に変換したり、文字列をintにしたり、 勝手にサイズが拡張されるHashtableみたいなものは、 BREWだと自分で作らないといけないのでしょうか?
510 :
デフォルトの名無しさん :2007/06/21(木) 18:43:43
人が作ったものもあります。
それはBREWのAPIにあるってことでしょうか、 それとも、それとは別にラッパーみたいのがあるのでしょうか?
APIリファレンスも見ないで開発するのでしょうか?
日本語版がないからといって、BREW SDKの3.1.2より上へのアップデートをしない会社のせいで BREW Debuggerが使えない。
BREW4.0.0のリリースノートを見ると バグ情報が面白いので使う気にならない(´・ω・`)
>>513 ちょwww日本で使ってくれないから日本語版がないんだろwww
>>509 こーいう事ではないのか?
int ATOI(char *pString);
SPRINTF(char *pString,"%d",int nInt);
517 :
デフォルトの名無しさん :2007/06/25(月) 20:13:36
すいません。質問させて下さい。 IWEB_GetResponseを使い、画像データを用意したバッファに取得完了後 バッファ(char*)をイメージインスタンスに変換する方法が分かりません。。。 教えて下さいエロい人 m( _ _ )m
イメージインスタンスがなんなのかエスパーしろと?
519 :
デフォルトの名無しさん :2007/06/25(月) 22:25:08
ISOURCEUTIL IASTREAM 等を使ってやるんじゃない?
BREW4.0でてるのね。 API増えてる思ったが、今までと同じような機能のAPI多くない? 混乱するな、これは
>520 OSから変わるんだよ。 ただ、細かい所が全然練れてないからバグも多い...とw
プリエンプティブ・マルチタスクになったのが最も大きな変化だが、 搭載端末がかなりの数出回るまでは、今まで通りBREW3.1で作って 4.0は若干の変更&リビルドで対応、恩恵にあずかれるのは当分先、 というのは想像に難くない。
ちょっと待てw
質問です brewでは静的変数が使用できないそうですが どういう意味で使用できないのでしょう? 参照専用の変数として静的変数を使用したいのですが 例えば class { static char const* msg(void){static chr msg[]={'m','s','g',0};return msg;} }; といったコードも正常に動作しないのでしょうか? (.dataセクションがない?)
>>524 > (.dataセクションがない?)
modファイルはそもそもセクションという概念が無い。
静的変数が使用できないのはkの陰謀とコンパイラの制限。
使おうと思えば使える。
クラスでの書き方はやってないので通るかわかんないけど static const char msg[] = { 'm','s','g',0 }; 指定にすればRVCTだとtextセクションに入るので 参照専用で使う事は可能 で、こういう領域で確保したtextセクションのメモリをキャストして 無理やり書き換えるのが大域変数を使う1つの方法。 つまり自己プログラム書き換えをしてconstな箇所を変数として使う。 もう1つはこういう一連の動作をプログラム起動時に自動的にしてくれて 大域変数、静的変数をコード内で普通に使えるよう解決してくれたのが最新のelf2mod
>>525-526 なるほど、わかりましたサンクスです
modは初めて触るのでもう少し勉強してみます:D
528 :
デフォルトの名無しさん :2007/06/28(木) 03:01:23
BREW3にて画面に表示させた内容をα処理したいです。 そのために、IDISPLAY_CreateDIBitmapにて IDIB に変換し、 IDIB.pBmp の色を変更させることで、実現しようとしています。 変更した色を IDIB->Bitmapにして、DISPLAY_draw をしようと しているのですが、変換された色がでません。 何かヒントをください。
CreateDIBitmapってDDBじゃなくDIBじゃなかったっけ? これで作った物は現画面の内容を含んだDIBが作られるわけじゃないし DDBからDIBへのコピーはほとんどの端末で実装されてないでしょ エミュでもだし(DIBのカラースキームによるのかもしれないけど) するならGetDeviceBitmapしたIBitmapからIDIBに変換して、 この内容を書き換え ちなみに俺はα処理する場合はもうIGL経由でやってる。今の端末だと
530 :
デフォルトの名無しさん :2007/06/28(木) 12:06:41
>529 ありがとうございました。参考にしてみます。
531 :
デフォルトの名無しさん :2007/06/30(土) 20:44:26
お、もう4.0の話題していいのね。 当面は4.0用と3.1用にふたつコンパイルしなきゃいかんから大変になりそうだよね。 マシンを二台用意するかどうか悩むところだ…。 そふぃあなんちゃらは使う気も買う気も、開発費もねーし。 ( ´-ω-)y─┛~~
うちはこうなる × 当面は4.0用と3.1用にふたつコンパイルしなきゃ ○ 当面は4.0用と3.1用と2.1用にみっつコンパイルしなきゃ 現在3.1/2.1は1台のPCに別アカでインスコしてる。 4.0はまだインスコしてないけど同様にして共存する予定。
SDK Switcherはまた配布されるんだろうか(´・ω・`)
もうされてなかったっけ?>Switcher新版
その他の製品使ってる人のみ公開じゃなかったか>switcher つかあれ使う必要あるの? 環境変数書き換えるだけだし そもそも書き換えたところで何が変わるわけでもないし。
536 :
デフォルトの名無しさん :2007/07/02(月) 23:42:09
iアプリのImage.createImage(width,height)みたいなこと brewできますか?
うちは$(BREWDIR)じゃなくて、直接$(BREWSDK211JA)と$(BREWSDK312JA)を 参照してるね。 VCはDebug/Releaseじゃなくて2.1用/3.1用の構成作って、それぞれ上記環境変数 参照するようにしてるので、Switcherなんぞいらぬ。 あとエミュレーターはコマンドラインオプションで-a <アプレットディレクトリ>指定しとくと 楽だよね。
まぁ、2Dゲームなんかだと、ヘンなの呼ばない限り2.1のバイナリそのまま3.1に載せて動くしなあ。
実際ADSからDLして使ってもらう際の話なんだけど、 画像ファイルや音声ファイルってアプリ実行中にそのアプリからDLするものなの? それともADSからアプリ本体をDLする際に一緒にDLさせれる? barファイルにしとけば可能そうだけど単体ファイルの場合はどうなんでしょ そのアプリで使う画像ファイル等をアプリ初回実行前からローカルファイルにしておけるのか、 初回実行時はどっかからDLしなければならず、それを保存する事でローカルファイルにできるのか、 誰か教えてちょ 今はただの勝手アプリ制作者だけど、今作ってるアプリも将来を見据えた設計にしときたいのよ…
Docomoとかみたく初回実行時に落としてくるなら、 BREWアプリ初回起動時に通信の確認出るはずでしょ?
>>539 アプリとデータを一緒に提出すれば本体とセットでDL出来るようになる。
データはbar以外でもOK。
おいおい、あんまり守秘義務に触れそうなこと書き込むと またauに怒られるぜw
そういえば、以前にエミュレータのフォントサイズをバイナリ書き換えて変更する方法をどこかのサイトで 見たような記憶があるんですが、その詳細を知ってる方いませんか? いくらググっても出てこない
545 :
sage :2007/07/07(土) 21:46:46
546 :
544 :2007/07/08(日) 18:10:47
>545 ありがとうございます。この方法で問題ないように見えるので、参考にしてやってみます。
すみません。ちょっと質問です。 あるIBitmapのオフスクリーン画像に、あるIBitmapの画像を 左右・上下反転して描き込む方法ってあるのでしょうか?
ITransform
550 :
548 :2007/07/12(木) 21:34:44
それなんですけどITransformって転送先を任意の IBitmapなんかに選べるんでしょうか?
552 :
548 :2007/07/13(金) 14:07:46
>551 あうー。 すみません。自分でITransform作成しておいて、その辺すっかり忘れてました。 ありがとうございます。
ksk
4.0はspfとmmfの同時再生は可能になったのかな?? その部分だけが他キャリアより劣ってたので気になるのだが。。
国内に限った話ならもうspfやmmfは必要なんてないだろ 一年ぐらいもう使ってないぞ、その形式 2.1端末をする場合は仕方なく別対応するけど
2.1が無視できるなんてテラウラヤマシス
かれこれ2.0からの伝統で無条件にspfで指定してるんだけど、 2.1無視した場合、どんな形式の鳴らしてるの?
3.1ではBGMとSE(波形)を同時に再生できないのが痛い。 今時のゲームでは必要になると思うんだけど。
>>557 midとwav(ADPCM圧縮化)だよ。サウンド関係のSDKやドキュメント見てない?
2.1以前と3.1の数端末はMA5ハードの端末だからspfじゃないと無理だけど、
今メインのMA7ハードは音数制限無いmidとwavを4つまで同時に鳴らせるぞ。
ツールでwav組込み型のmid作ればwavはもっと数いけるし。
>>558 だから普通に可能
>>559 なるほどー。最近のMA7端末ならいけるのね。
旧端末を考慮するとしばらくはMA5の呪縛から逃れられないのか・・・
W32SAに至ってはMA3だし
サウンド用に超速いDSPと2MB程度のRAM乗せてくれればいいのになぁ
おまいら基本は電話するための機械ということを忘れてるだろう
このスレでそんなこと言われても(´・ω・`)
>>563 じゃあ電話関係の機能をもっといじらせてください。
>>563 今となっては「基本は」ではなく「最低限の機能としては」だな。
>>565 W32SAは、端末としてはMA5をサポートしているが、BREWアプリではMA3の動作
と公式情報を得たことがある。
568 :
567 :2007/07/18(水) 17:17:05
補足。 ヤマハのサイトの一覧表は移動機として見たものであって、 BREWアプリ上の仕様は当然ながら端末仕様書で確認する。 ヤマハの一覧表とは違ってるよ。
確かにW32SAの端末仕様を見ると<confidential>だな。
さ、この話はここでおしまい 次の話題行ってみよう
誰かBREWを擬人化しておくれ
いやああああっっっ!!見ないで、お願いぃぃぃっっっ!!! の人でいいんじゃね?
みさくら語でおk
らめえぇ!!IFileからくるみぽんちれちゃうろおぉぉ!!!??
BREW並の糞人間しかいないんだな
AUAU言いながらBREWBREWッ!と出すようなヤツばっかさ
無駄にスレ伸ばさなくていいって 仕事中のやつがヘルプ求めてきたら答えてやればよし
KAMISAMA Help!!
助けてくれなきゃあの娘は誰かと
スキャンダル
恥を忍んでお尋ねするのですが、 IWEB_GetResponse()での通信開始が失敗した場合、 IWEB_GetResponse()のパラメータに設定したコールバックに通知は来るんでしょうか? トラフィックコントロール制限などが理由でIWEBでの通信が失敗した場合の エラー処理を実装したいのですが、上記のケースでコールバックに通知が 来ないのであれば、タイムアウト時のコールバックにエラー時の処理を 実装しようと考えております。 どなたかご存知のかたいらっしゃいましたら、どうかご教授願います。 今必死こいてドキュメント読んでいます。すいません・・・無知で・・・。
>>584 くるよー
その辺はエミュがしっかり作られてるから
エミュで動けば実機も大抵OK。
>>585 おお、ちゃんと来るんですね!!
これで実装方針も立てられます。
ありがとうございました!!
基本的に来るけど、なにかの機種で、 圏外(電波OFFモードでも可)→通信開始→即時に通信エラー→同じインスタンスで再度通信→エラーが返ってこない ってのがあったはず。ま、タイムアウトちゃんとやってりゃ問題ない些細なことではあるけど。
588 :
デフォルトの名無しさん :2007/07/25(水) 13:13:25
すいません 質問させて下さい。 ISHELL_CreateKanojo ( pMe->a.m_pIShell, AEECLSID_KANOJO, (void**) &pMe->phKanojo ) を実行した結果phKanojoがnullのままで、何度やっても成功しないんです ( ;ω;)
たぶん特権が無いんだと思うよw
ISHELL_CreateTomodachi ( pMe->a.m_pIShell, AEECLSID_TOMODACHI, (void**) &pMe->phTomodachi ); ISHELL_CreateKanojo ( pMe->a.m_pIShell, pMe->phTomodachi, AEECLSID_KANOJO, (void**) &pMe->phKanojo );
それなら、 ISHELL_CreateInstance ( pMe->a.m_pIShell, AEECLSID_TOMODACHI, (void**) &pMe->phTomodachi ); ITOMODACHI_QueryInterface( pMe->phTomodachi, AEECLSID_KANOJO, (void**) &pMe->phKanojo ); じゃない?
while(me->life>0) { BrewAppWork(me); }
/* デスマーチ処理 */ while (me->ShiyoHenko!=0) { ProjectProcess(me); me->ShiyoHenko++; }
そんなほぼ無限のループやるとすぐに落ちるぞw
落ちたら抜け出せる・・・それしかない・・ それしか抜け出す道がないんだ・・
残念! BREWは例外をcatch出来ないんだな
いや、モノによるが無限ではないんじゃね。 me->ShiyoHenkoがunsignedではなくてsignedならオーバーフロー→負数 →いずれ0になるから、いずれ脱出できるじゃね?
別スレッドが書き換えてくれるよ(他力本願) あ、4はスレッド使っても怒らない?神様
先輩方々、教えて君で申し訳ないですが教えて下さい。 ISocketを使ったSSL通信を試しているのですが、ISSL_Negotiateで指定したコールバック関数にて SSLInfo.nResultの値をチェックするとSSL_RESULT_TRUST_ERRが出てしまいます。 アプリケーションフォルダ内に保存されたバイナリファイル(SSL証明書)を読込み、IX509CHAIN_AddCert関数を使いIX509Chainに追加した後 WebOptにてWEBOPT_DEFAULTSのpValへ指定しています。 その後、ISSL_AddOpt関数を呼出て WebOptの追加を行い ISSL_Negotiateを呼出ています。 何か足りない点や間違っている点がありますでしょうか。( ;ω;) よろしくお願いします。
自己解決したお ありがとう俺 ∩ ( ⌒) ∩_ _ グッジョブーン!! /,. ノ i .,,E) / /" // _n グッジョブーン!! / / / / ( l / / ^ω^)/ / グッジョブーン!! \ \ (^ω^ )( / ( ^ω^) n ヽ___ ̄ ̄ ノ二ヽ |  ̄ 二二二二( E) / / \ ヽ フ / | / | / | / ( ヽノ ( ヽノ ( ヽノ ノ>ノ ノ>ノ ノ>ノ 三 レレ 三 レレ三 レレ
自己解決したんなら答えを書いておこうよ 次に同じことでつまずいた人が助かる
それと、答えようと思って自分の環境で確認中だった人のためにも・・・
>>660 は就業時間内に解決したっぽいから
勝手に他人には漏らせないだろ。
俺たちは他人じゃないだろ?ソウルブラザーだろ?
そうだな、ブラザー だからちょっとケツの穴をかせ
だが他人だった。
*
( ;ω;) をNG登録しといたわ
ぶりゅんぶりゅんぶりゅんぶりゅん てゅーごおおおおおおおおおおおおおおおおおおおお ちゃららーんちゃららららちゃららららー
612 :
デフォルトの名無しさん :2007/07/27(金) 05:11:35
俺の業務時間は大体 14:00-32時位なんだがみんなはどう? 平日は会社にずっと泊まりこみだけど、 たまに34時くらいに会議でたたき起こされるんだよな。
さあ語ろうぜ
アプリを動かしてる様子をリアルタイムでPCに録画して保存できるようなソフト、もしくは方法ってないですか? shaker使ってアプリ起動中に画像を保存する方法はあったのですが、動画は可能でしょうか
ブリブリ
>>615 アプリて端末のか? それならデジカメかDVカメラで取るしかないんじゃないのか
リアルタイムでVRAM情報とってくるような帯域・余裕があるとも思えんし
PCシミュなら俺はDisplay2aviというソフトが比較的安定してたので使ってる
保存時の圧縮がソフト専用なので、後から編集・変換するのが前提になるけど
赤外線のAPI、カメラより酷い気がする。 コールバックの呼ばれる順序、タイムアウトの処理とかもうバラバラ。 このままbrew4.xになったら2つのコールバックが同時に走りそうな気がするよ・・・
そういえばelf2modでグローバル変数が使えるようになったってことは、 標準ライブラリも使えるものが増えてるのかな? 浮動小数点ライブラリとか。ソフィアクレイドルの説明読む限り、 リンクされるライブラリ内にスタティック変数があるのが原因っぽいから、 elf2modで書き換えれば使えそうな気がすんだけど。
620 :
619 :2007/07/31(火) 04:04:31
丁度手元に適当なプロジェクトがあったので自分で試してみた。 リンクライブラリが増える分、当然バイナリサイズは増えるが使えるっぽい。
622 :
デフォルトの名無しさん :2007/08/02(木) 18:10:54
Shakerの使い方を教えてもらえませんでしょうか。 以下の手順でやってみたんですが、エラーが出てしまいます。 ・ToolsSuite v3.1.0 に入ってるShakerをAppLoaderで転送(W52P) ・Shakerを起動(1秒くらい文字が出て勝手に終了する) ・BREWシミュレータ画面で右クリック→The Grinder→Options→Shaker Settings ・「Error - Shaker could not be started」というエラーが出る ちなみにGrinder Optionの、 ・「Simulate events on Phone connected to」項目はチェック済み ・Phone SettingsはAppLoaderの設定と同じにしてます
つHELP つぱーるのようなもの つ転生設定 つすくりぷと つせいかーのほるだ
>>621 そこのOpenGL ESが自己書き換え使ってるじゃねーか、のくだり、
BREW公式ではIGL IEGLを使うのが正統な方法で、あれはあくまで
glXXXXAPIインターフェースへのラッパのためのものなので
メモリ保護がついたらglXXXXの方が切られるんじゃねーかな
まあ保護がつくくらい発展したら、実行形式のフォーマットも変わるとは思うけどさ
まぁ、メモリ保護もない、バイナリはロードするけど自分でリロケートしてねっ て言うような環境はbrewくらいだけな。
626 :
622 :2007/08/03(金) 09:45:46
>>623 ・Grinderのhelpを見ながらやってみたんですが。
・パール、スクリプトってなんですか。
・転送設定?Shaker転送するときのAppLoaderの設定ですか?
・Shakerのフォルダには普通にmodとmifとsig、あとrgb.datってファイルが入ってます。
627 :
デフォルトの名無しさん :2007/08/03(金) 11:14:06
628 :
デフォルトの名無しさん :2007/08/03(金) 11:34:58
自己解決しました。ご迷惑をおけしました。
Parl????
Porl!
Ah-!
まったくスレに関係ないんだが、ちょっと賢いおもいら教えて! pcゲームのcddate,binを展開、もしくは音声等を抜き出したいんだが、既存のフリーゾフト Aladdin Expander じゃだめだったみたいで。 そもそもwindowsじゃだめなのかな、macじゃないとできないのか? そういうの、展開、抽出できるようなソフトウェア(フリーでもシェアでも良い)が合ったら教えてください。 あと、binファイルは展開できるもんなのかな。 すまんが、よろしこ。
すいません誤爆しました
こういうレベルの奴が集まるスレってことか まぁ俺も含んでるが
636 :
626 :2007/08/06(月) 18:34:47
>>629 よくわからないのですが、ActivePerl-5.6.1.638というのをインストールしてみました。
環境変数もざっと見てみましたが、整ってるかどうか確認する方法が分かりません。
で、Grinder OptionのShaker Settingsを押すとシミュレータがフリーズしてしまいます。
637 :
626 :2007/08/06(月) 19:17:02
単に接続に時間がかかってるだけでした orz お騒がせしました。
ほんと騒がしかったぜ・・・ ( ^ω^)
639 :
デフォルトの名無しさん :2007/08/07(火) 21:30:51
カメラのFPS設定がどうしてもうまくいきません。 過去ログ等をみて、 ICAMERA_GetParm(pMe->Camera, CAM_PARM_FPS_LIST, (int32 *)&pMe->Camera_dwFPS, (int32 *)&pMe->Camera_pbRange); とすると、 Camera_pbRange にはTRUE Camera_dwFPS[0]には0x00020001E と取得出来るのですが・・・ そもそもリファレンスのdwFPS形式というのがどういう意味なのか分かりません。 (2/30 って意味?) どなたか教えて頂けませんでしょうか?
しまった・・・ぼけててageてしまった
↑すみません補足です。 FPSの設定目的はFPSを上げることです。 CALLBACKで、数値をカウントしてみると、おおよそ10FPSしか出てないので、 どうにかして15FPS出したいのです・・・
つ端末仕様書 つヒント[30/2] つヒント[実効速度] つあきらめ
DDBのピクセルデータに直接アクセス出来ますか?
そりゃあできますよ。
馬鹿にしてんの?
IBitmapのファンクションからのアクセス方法がわからないので教えて
つプログラミングガイド
BREWにてGETパラメーターで送ることが出来る最大バイト数が分かりません。 BREWを使う偉人の方々教えて下さい。お願いします。
普通は『送信できる最大値』じゃなくて 『受信できる最大値』の方が問題なんでないの? 送信するだけなら5KBでも10KBでも問題なさそな気がする。 受信できるサーバが無いから確認しようがないけど。
一日の転送制限があるだろ。
651 :
639 :2007/08/08(水) 15:51:49
うーん。 端末仕様書見ても分からない・・・ > 642 ヒントの 30/2 っていういのは、つまるところ15ですよね・・・ 15FPSに設定出来てて処理速度が足りないだけなんでしょうか? プログラミングガイド2.4を見ると、pbRangeがTRUEの時は、 p1 は2 個一組のデータのリストで、それぞれは連続的なフレームレート の範囲を示します。例)FPS=3.5〜14 って書いてあるから 2〜30って意味になるような気がするんですが、 この辺って皆さん理解できてて俺だけ理解できてないアホってことですか?
APIリファレンス読んだ? CAM_PARM_FPS_LISTで取得してその中から選んでセットすればできない?
653 :
639 :2007/08/08(水) 16:19:17
>>652 CAM_PARM_FPS_LIST で取得した値が
Camera_dwFPS[0] == 0x00020001E
になっていて、
Camera_dwFPS[1] はNULLになってるんです。
ですので、そもそも選びようがないというか・・・
>639 関係ないかもしれないけど 前にICAMERA_GetSizeListで変な値が取れて困ってたんだけど 関数の中で値取得とかしてるときはその関数出る前に値とらないと 値が変わっちゃう現象がおきたよ
データフォルダにバイナリデータを書き込んでみたところ、 書き込み自体は成功するんですが、携帯上では不明ファイルになり(当然ですが) そのファイルにかってに著作権保護が効いてしまいます。 これはどうやっても解除出来ないのでしょうか?
つKDDIの資料 端末の対応フォーマットじゃないとだめだべ ぎゃくにPNGとかに偽s…おや、だれか来たようだ
KDDIの方から来ました(=゚ω゚)ノ
すいません検証まだですか (゚ω゚=)
みんな休み中か
休むか!この愚か者が!!!!!!!!!111
ITextCtlにイライラする俺
突然アプリ起動しても画面が写らなくなった・・・
電池パックを抜いて入れなおしてみたりする。
リソースファイルいじったら直った わけわかんないよもう・・・
ITEXTCTLに関しての質問なのですが(´・ω・`) FEPの終了にて、電源ボタンを押下しFEPを終了させた場合への対処は、何か特別な処理を入れないといけないのでしょうか。 表示されるダイアログにて、FEPだけ終了した時 アプリが死んでしまいます。(描画等が効かない) 素人質問で申し訳ないですが、おながいします
自己解決しました。サスペンド・レジュームにて必要な処理が欠如していただけでした。 お騒がせしました。
IModuleにイライラする俺
そんな時は初期化メソッド内で IMODULE_Release <
>>668
初めてBREWやってるわけなんだが。 スモールフォントとスモールフォントにする前の元のフォントをころころ切り替えるって出来るよな?
出来る 任意のタイミングで差換えを行うための差し替え関数でも作ればいいよ
>>670
>>671 スモールフォントの仕組みとか良く解ってないから、どんな内容にすればいいか思い浮かばないけどやってみるよ
ありがとう
プログラミングガイドに「Smallフォント使用について」という項目がある。
簡単なフォント差換えのサンプルコードも書いてあるよ
>>672
ADS(RVCT)で未参照の関数を最終出力ファイルから削る方法はないのか…
675 :
デフォルトの名無しさん :2007/09/04(火) 00:14:08
ラジオボタンを実装したいのですが、どうしたら良いでしょうか?
>>674 --remove なんちゃらのオプションがあります。
>675 自前で描画
678 :
デフォルトの名無しさん :2007/09/04(火) 11:46:35
>>675 1)ラジオボタンの画像を描画
(ON/OFFの切り替えには、2画像を用意するか、OFF画像の上にCHECK-MARK画像を上書きする)
2)ラジオボタンのフォーカスコントロールと実行をキープロシージャーで制御するよう作成する。
3)実行時、ステータスに応じて画像を変更。または描画(上書き)する。
プルダウンリストで代替
>>676 --remove(RVCTでは-remove?)は試したけど、サイズ変わらず。
関数本体をコメントアウトするとサイズは減少するのに、removeオプションでは
減少しない・・・
クラス変数じゃ駄目なのかと思ってクラス外に出してみたけど、これも駄目。
一体何が駄目なのか…
>>680 -entry AEEMod_Load
たしかこれが0x8000になってると未参照チェックができないとかだったような
683 :
デフォルトの名無しさん :2007/09/04(火) 18:57:20
給料上げろ(゚Д゚)ゴルァ WEBでBREWマ求人の給与見てると今の俺がカワイソスになる・・・。
>>681 ,682
おー!
ありがとう(*´∀`)やっと謎が解けたよー
686 :
デフォルトの名無しさん :2007/09/05(水) 13:39:53
>>681 俺もサンクス。for BREWパッケージじゃ動作しないのかと思ってた
適用したら30KBくらいmodサイズ減ったw
687 :
デフォルトの名無しさん :2007/09/05(水) 17:58:59
688 :
デフォルトの名無しさん :2007/09/05(水) 18:25:04
初めて知る「sint7」の存在
符号付8ビット整数?
>>688 ほんとだw
他にもsint15/sint31が(中身はsigned short/signed long)
しかし用途が思いつかないな
>>687 ぶりゅん経験者は結構仕事ある見たいだぞ
高いかはしらんがな
うちも人手たらん。 給料は安いがな
>688 おいおい、今更だぞ。aeecomdef.hで定義されてるって。 だが、 /* This group are the deprecated types. Their use should be ** discontinued and new code should use the types above */ 使うなってこった。
まぁつまり
/* これらは使うなよ!使っちゃいけないんだよ!
* 他のを使うこったなっ☆
*/
ってことか。
>>691 >>692 給与・待遇良い職場紹介してくれ(^^)
し 質問させてくだしぃあ インラインアセンブラでaddやsub, incなどがARMでコンパイルエラーになるのは何故><?
質問です。 ICameraのカメラ焦点の設定でオートフォーカスが出来るかと思うのですが、 焦点の変更が終わった後すぐに元のフォーカスに戻ってしまいます。 なぜ元に戻ってしまうのでしょうか また元に戻らない方法は無いのでしょうか
>>696 カメラは使ったことが無いので分かりません('A` )
>>696 AEECameraNotify::nStatus の値見てる?
CAM_STATUS_DONE の時はそのまま固定されるはず。
ネイティブでも距離が近すぎると、オートフォーカス失敗するよ。
>698 なるほど、近すぎたんだと思います。 ありがとうございます。 今1.5センチ角くらいのQRコードの読み取りで詰まってしまって フォーカスを触ってたんですが、接写で上の状況が起こってたんです ここからどう変更すればいいんだろう
オートフォーカス使える機種なら、 アプリ側からマクロ設定できるよ。 接写前提ならマクロオンリーでも良いかと。
>>695 うちではエラーにならなかったけど…
具体的にどういうエラーが出てるのか書かないと誰も分からないと思われ。
質問です 今ソースを読んでいるのですが、 ISOURCE_Read()とISOURCE_Readable()の関連性がどうにも分かりません APIリファレンス読むと_Readable系は大概 『〜_Read()が「現在は使用可能なデータがない場合」以外を返す場合に、コールバックをスケジュールまたはキャンセルします』 と書いてありますが、コールバックが呼ばれるタイミングが分かりません。 _Read()の後も_Readable()の後も普通に進行していき、コールバックを抜けた後 どこをどう通ったのか分かりませんがコールバックが呼ばれます。 また、_Read()の戻り値と_Readable()の関係が謎です。 _Readable()の中で_Reada()を読んで戻り値を参照してる?
>>695 arm7 のニーモニックちゃんと理解して使ってるの?
今日はメモリリークの日
そんな日を制定するなあああああwwww
メモリリークストームからやっと復帰した('A`)
>706 乙 このAPIはひっかかりやすいなとかいうのあったら ここに残しておいてくれると助かる
すまん
>>707 階層化したポインタテーブル構造体の最下層のほうで
一部のメンバに解放忘れがあっただけ(^^;
>>702 >どこをどう通ったのか分かりませんがコールバックが呼ばれます。
システムがコールするからコールバックって言うんだけどな。
>ISOURCE_Read()とISOURCE_Readable()の関連性がどうにも分かりません
ISOURCE_Read() で ISOURCE_WAIT が返された場合は、システムが「今は忙しいから ISOURCE_Readable() に関数を登録しておいてくれたら後で俺から呼んだるで」って言ってる。
で、プログラムが見えないところ、つまりシステムに戻ると、システムは「お、そろそろ暇になったから呼んでやるか」と言って登録された関数を呼び出す。
その関数の中で俺らはもう一度 ISOURCE_Read() を呼び出す訳だ。
そうすることで、俺らがわざわざシステムに「今暇?」とか「ちゃんと指定したバイト数だけ読み込んだ?」って訪ねる手間が省ける。
いつの間にか「詳解EZアプリ〈BREW〉プログラミング」て本が出てるようなんだけど、 仕事でやってる人から見たら内容はどんな感じか判る人いる? CP向け情報とwikiとソフィアの情報あれば事足りそう?
仕事でやってる人はほとんど情報無いで始めた人が多いだろうから フォーラムとCP向け情報があればそれほど困らないと思う。 最近BREWの仕事してないけどな(´・ω・`)
>>710 一応買ったがほとんど知ってることばかり。、3年前に出版されてりゃ
ずいぶん助かったと思うが…
>>712 トン
未経験者にまとめて基礎情報を伝えるツール向けに使う感じかなあ
めずらしくまともなかんじのあまじょんのれびゅーのとおりなかんじだな BREWってなんじゃ? これからめしくうためにやるはめになったんじゃ なひとたちにはもっとはやくでてればさいしょのくろうはへったかもだな
恥も外聞も無く感想を言うと「詳解EZアプリ〈BREW〉プログラミング」は、非常によく出来てると思う。知らんことも多かったし、結構参考になった箇所が多かった。
付属のフレームワークに関しては、内容やコードを全て把握したわけではないけれども、フレームワークのない会社などでは十分に有用ともいえるフレームワークだと思う。
これをそのまま使用して検証通るのかは不明だけれども、必要な点だけおさえておけば何とかいけそうな感じもする。
>>712 の発言の通りで、十分経験をつんだBREWマには「既知」の内容が多く不要と思うかもしれないけれども、BREWの知識やフレームワークの無い会社などで「これから開発を行う」なら、一応買ったほうが良いのでは?と思うよ
BREW Testsig Generatorでsigファイル作ってるんですが 実行時に「エラーが発生しました(004)」と出てしまいます。 機種はW53CAです。 アプリ名を入力してIMEIを選択して***********0000(*は電話番号)もしくは0000*********** を入力してGenerateを押しているのですが、やり方は間違っていないでしょうか。 W51Hでは上記の方法で問題ありませんでした。
>>716 その質問にはここではあんまり答えたくねぇなw
まぁ090-1234-5678なら0x12345678を入れておけってこった。
取り合えず、ディレクトリ構成 ファイル配置、アプレットのクラスIDの問題しか思いつかんのだが
>717 0x*******でESNを選択して出力したsigファイルでエラーが出なくなりました。 ありがとうございます。
for(worker =
>>1 ; worker < 1001 ; worker++){
while(worker.isLife())
worker.creatBrewApp();
}
//DBGPRINTF("次スレよろ");
KDDI端末ってIMediaごとに固有の音量設定無理ぽ?
無理ぽ
(´・ω・`)そうかありがとう 再生デバイスが同じだから、そうだろうとは思ってたが… BGMとSE(共にMEDIAPHR)で音量分けるとか出来ないのね…
つIMedia拡張 YAMAHA音源系は音量の個別設定できる ただし対応端末が(ry
それはMA−7端末からじゃ・・・
余談だけれども C と C++ どちらで開発してる?(´・ω・`) ちなみにうちの会社は、C++
C++ 以外あり得ない
悪かったなコノヤロウ うちはCで開発だ
うちもCだな移植元ソースがあって、それがC++ならC++でやるけど。
BREWシミュレータのQVGA対応のDevicePackって無いの?
>>729 ,
>>730 Cで開発してる場合は、クラスやテンプレートなんかの機能も使ってない?
うちの会社もCで書いてるけど、C++の一部機能も使ってるって感じかな。
Javaからの移植なんかを考えた場合は、完全クラス化したC++開発の方が楽そうに思うけど、うちでは無r・・・(ry
ARMコンパイラのライセンスが、 BREWやるプログラマ全員分ない会社の人手ェ挙げて ノ
あぶねぇ・・・ひっかかるとこだたぜ・・・ふう
>>733 > ARMコンパイラ
RCVT のライセンスって言いたいの?
ARMコンパイラって ARM って言語のコンパイラですか?
QのAddInツールのmakefile生成ボタンの不思議。 ARMのC用、ARMのC++用、GNUDEのC用のmakefile生成はできるのに GNUDEのC++のmakefileがいまだに生成できないのが謎。
C++を使わせてもらえるだと! なんてなまいきな……orz
カナコテおじさんにバールのような物で 撲殺されるARMコンバイン 通称ガッポイ
>>733 ウチは全員分あるぞ。
何せ俺ひt
orz
暇なんで超偏見 IIROBEX の特徴。 ・IIROBEX_ClientInitialize に与えるコールバックと、 その他のコールバックの順序は保証されない。 ちょっと例外テストをするとコールバックの順序が変わる端末がある。 (ネゴで受信側からNG返すとか) ・自動タイムアウトしない端末が存在するので、 自力でタイムアウトを設定しないとダメ。 ・各APIのルールが仕様書に載ってない。 「接続後はIIROBEX_ClientDisconnectReqを呼ばないとダメ」だとか、 「IIROBEX_ClientDisconnectReqを2回呼ぶとダメ」とか、 「このコールバック関数の戻り値がfalseのときは呼んじゃダメ」 「このコールバック関数内でインスタンスの開放をしちゃダメ」 こんな感じでルールが盛りだくさん。 ルール違反をすると端末リセットや、インスタンス開放に失敗。 HやCAはある程度アバウトでも何とかなるが、その他は挙動が異なる傾向。 ・データ送受信中はタイマーイベント後回しになる端末多し。 ・コールバックの逆転現象と各APIの使用条件の相乗効果で、 受信側を自身が制御できないと死ねる。 ・あまりに問題だらけだったんで、 Kに『問題なく動くサンプルクレクレ』して貰ったアプリが 簡単な操作で端末リセットする。 …こんな感じだった。もうヤリタクネェ
自作アプリで撮影するとノイズ除去がかかって無い気がする W53CAなんだけど何でだろう
>>742 生のデータなので自分でノイズ除去してください。
問題無いようだが?(´・ω・`)
ごめん、マシン固有の問題みたいです。 3.1が落とせるのに2.1がダメって何でだろう?
違う「マシン」で落として下さい。
GNUDEでシミュレータで実行可能なDLLを作りたいんですが、どうしたらいいのでしょう VCのアドインで生成されるMakefileはmodしか作れないみたいで。。。 .elf作成時のリンカオプションに-sharedを追加してもダメでした デフォルトのMakefileをどのように変更すればいいのでしょうか
素直にVC使えよw タダなんだしさ。
>>749 どうしようも何も、普通にdll作るだけですが。
だいなみっくりんくらいぶらりーファイルにコンパイルすればいいと思うよ
>>749
なんでGNUDEでDLL作る必要があるんだ
>>750 しかしタダのVC(VC2005のことよね?)だとプロジェクト生成の
ウィザードが使えない罠w
それとも対応した?
英語版の新しいやつがSDK Tools出てるでしょ? あっちでウィザードとアドインがStdエディション以上で動くよ まあ1033文字コードのファイルを1041(日本語)に移動してやらんといかんが エクスプレスでも無理やり入れればウィザードは動かないこともない
>>755 それにウィザードなくても自分でプロジェクトの中身を
設定してやればいいんだぞ。どう設定すればいいかは、
MSPのサイトか、クアルコムのサイトのどっかにあった。
>>749 gnude(ARM)の中身はgccだから、Windows向け(x86)のgccを拾ってきて
がんばればできるかもな。八苦だと思うけど。
758 :
デフォルトの名無しさん :2007/09/21(金) 12:15:35
BREW3.1にてIMediaUtilインタフェースを使用してmidファイルを再生したところ 問題なく再生できたのですが、spfファイルを再生すると IMEDIAUTIL_CreateMediaでMM_ENOMEDIAMEMORYが返されてしまいました。 メモリが不足ということなのですが、どのような解決策があるか教えていただけますでしょうか?
759 :
デフォルトの名無しさん :2007/09/21(金) 16:02:23
踊ってダメならとりあえず思いつくもの全部解放だね(´・ω・`)
761 :
デフォルトの名無しさん :2007/09/21(金) 18:26:39
>>759 取り合えず踊ってみます。
>>760 踊ってダメでしたorz
開放といってもテストで作った音再生専用のモノなので
//メディアデータの設定
md.clsData = MMD_FILE_NAME;
md.pData = STRDUP("test.spf");
md.dwSize = 0;
//インスタンスの作成
ISHELL_CreateInstance(pMe->a.m_pIShell, AEECLSID_MEDIAUTIL,(void **)&mutil);
IMEDIAUTIL_Release(mutil);
IMEDIAUTIL_CreateMedia(mutil, &md, &pMe->media);
IMEDIA_Play(pMe->media);
これくらいしか書いていないんです。(デバッグ出力の処理は省きました)
ですから開放するものは特に無いと思うんですが・・・
そもそもやり方が間違っているんでしょうか?
>IMEDIAUTIL_Release(mutil); いやここでリリースしたらあかんでしょ
半角全角が混在したAECHAR文字列をDBGPRINTFで出力するには、 どうすればいいんでしょうか? 今のところ1文字ずつ見ていって半角なら、 DBGPRINTF("%c",str[i]); //AECHAR* str は出力したい文字列 全角なら、 DBGPRINTF("%s",wstr); //AECHAR* wstr はstrのi文字目をコピーして'\0'つけたもの というふうに出力してます。 C++、CはBREWが初めてでprintfを使ったことがなく、 初歩的な質問かもしれませんがアドバイスもらえませんでしょうか?
strのAECHAR文字列の最後に\0ついてるなら DBGPRINTF("%s",str); てかき方でOK。 ただシミュレータや実機でもだけど、DBGPRINTFの全角文字は文字化けして 正しく表示できないから考える必要は無いんだけれどね
>>764 すいません。
シミュレータやLoggerでなくVCの出力コンソールです。
VCのコンソールだと"%s"で全角が化けないのですが、
半角が表示されなくなってしまいます。
"%S"にすると半角が表示できるんですが、
今度は全角が表示されなくなってしまいます。
深く考えるな(意訳:あきらめろ) 世界から見たら日本語の扱いなんてそんなもんだDOSの時代から
AECHARからcharに変換すりゃいいだろ...常考...
768 :
765 :2007/09/22(土) 19:56:34
>>766 ORZ
C++は(というかBREWが?)iアプリとかのJavaに比べると、
酷くめんどくさいですね。
>>767 おお、それはいけるかも。ありがとうございます。
色々と初めてで、常識からしてまだなかったりします。
769 :
765 :2007/09/22(土) 20:08:43
770 :
デフォルトの名無しさん :2007/09/25(火) 09:38:36
>>762 すいません。
書き間違えました。
IMEDIAUTIL_Release(mutil);
は
IMEDIA_Play(pMe->media);
の前です。
SPRITE_MATRIX_TRANSFORMフラグって機能してるのかな…
772 :
デフォルトの名無しさん :2007/09/27(木) 23:00:54
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | ドコモ以外は糞 \  ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∧_∧ ( ´Д` ) < ドコモ以外は糞 ( ´Д` ) /⌒ ⌒ヽ \_______ /, / /_/| へ \ (ぃ9 | (ぃ9 ./ / \ \.∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ / /、 / ./ ヽ ( ´Д` )< ドコモ以外は糞 / ∧_二つ ( / ∪ , / \_______ / / \ .\\ (ぃ9 | / \ \ .\\ / / ,、 ((( ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ / /~\ \ > ) ) ./ ∧_二∃ ( ´Д` ) < ドコモ以外は糞 / / > ) / // ./  ̄ ̄ ヽ (ぃ9 ) \_______ / ノ / / / / / ._/ /~ ̄ ̄/ / / ∧つ / / . / ./. / / / )⌒ _ ノ / ./ / \ (゚д゚) ドコモイガイハクソ! / ./ ( ヽ、 ( ヽ ヽ | / ( ヽ、 / /⌒> ) ゚( )− ( _) \__つ \__つ).し \__つ (_) \_つ / >
ドコモは意外と糞
フリーで作ってるわけでもなし、キャリアが糞かどうかなんて関係ないし。
BREWは糞 orz
糞ブリュ=あうヲタのおもちゃ
779 :
デフォルトの名無しさん :2007/09/28(金) 13:56:39
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | au以外は糞 \  ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∧_∧ ( ´Д` ) < au以外は糞 ( ´Д` ) /⌒ ⌒ヽ \_______ /, / /_/| へ \ (ぃ9 | (ぃ9 ./ / \ \.∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ / /、 / ./ ヽ ( ´Д` )< au以外は糞 / ∧_二つ ( / ∪ , / \_______ / / \ .\\ (ぃ9 | / \ \ .\\ / / ,、 ((( ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ / /~\ \ > ) ) ./ ∧_二∃ ( ´Д` ) < au以外は糞 / / > ) / // ./  ̄ ̄ ヽ (ぃ9 ) \_______ / ノ / / / / / ._/ /~ ̄ ̄/ / / ∧つ / / . / ./. / / / )⌒ _ ノ / ./ / \ (゚д゚) エーユーイガイハクソ! / ./ ( ヽ、 ( ヽ ヽ | / ( ヽ、 / /⌒> ) ゚( )− ( _) \__つ \__つ).し \__つ (_) \_つ / >
このスレに仕事抜きの完全趣味でBREW触ってる物好きなんていないだろ 他キャリアの方には申し訳ないけど絶望感が増すだけだからあんまり おじさんを苛めないで下しあ
Q. BREWて正直うんこなんですが… A. そうかもしれません しかし手段・道具によらず目的を達成するのがプロというものです がんばりましょう Q. _| ̄|○ …… A. (つДT)つ旦
旦旦旦旦旦旦旦旦旦旦旦/⌒ヽ旦旦旦旦旦旦旦旦旦 ⊂二二二二二二二二二二( ^ω^)二二二二二二二二⊃ お茶が入りましたおー | / ( ヽノ ノ>ノ 三 レレ ∩ ダシャーン ミ // ミ ⊂'ヽ ∩ // \ ミ \\\\_,,,,,,,,/ ∠ / \\\\ .,''.,':.',, .,':.',, .,': l .,':.',,|[]].,':..., ガッ ) \\ ).,':.',,:.',, []] .,':.',,.,':.',,.,日 .,':.',,.,':.',, / 凵@ ⊂二二二、___ヽ \_,,..ノ /[]].,':',,:',[]]/[]]\[]].,':.',,|[]].,':.',, _ .,':.',,]]/ 日.,':.',,.., . ..,,,;:[]]
PCに茶がかかったらどうすんだコラw
入社一年目でPCに麦茶こぼしたヘマを思い出した
ていうかこんなふうにお茶をいれてきてくれるという職場なだけマシとおもいねえ
786 :
デフォルトの名無しさん :2007/09/29(土) 01:20:54
基地外あうヲタ
>>779 にKing of Saitamaの制裁!!!
////三三人三\
| 川リ━━━━i
| リ \/ 、/ |
| ノ <・ヽ /・> |
|(6|| \ 〉
| | (_n,,,,n)./
| ヽ ..,,,,,.. ,, / <なんてったって国営!!!ドコモ以外は糞!!!
ゝ .,.- \;;;;;;;(三)/
/ / '''''''''、ヽ
 ̄ ̄ i .i \ DCMX \ ヽ, ___,, __ _ ,, - _―" ’. ' ・, ’・ , /∧_∧
── ヽ勿 ヽ,__ j i~"" _ ― _: i ∴”_ ∵, ( )
>>779 =基地外あうヲタ
______ ヽ,, / / __,,, -- "" ─ "ー ・, ; ; - 、・ r=-,/⌒ ~ヽ~,
─────── ヽノ ノ,イ ─── ― - i y ノ' ノi j |
─────── / /,. ヽ, ── i,,___ノ //
______ 丿 ノ ヽ,__,ノ ___ _ _ _ ,' ゝi
j i / y ノ
_____ 巛i~ ____ _ / /~/
i < /
─────── _ _ ヽ, \
// | | 巛 / ヽ_ )
──── // | | ===┐ i (~_ノ
// | | | | ノ /
~ ~ | | ノ /
===┘ (~ ソ
みんな、疲れてるのはわかるがそろそろ仕事しようぜw
休日みたいだろ… でも働いてるんだぜ、俺
いやあああああああああああああああああああああああああああああああああああああああ
俺、会社でミックミクになってるぞ。 待機中って暇なんだもん
BREW開発してるときは、javaって端末落ちなくていいなぁ、とか思うんだが java開発してるときは、template使いてぇなぁ、とか思う。 慣れてくるとどっちもどっちだなぁ。
まあそうだな。検証さえなきゃな
せっかくそれを忘れていい気持ちだったのに…なんてこと言いやがる
日曜日はこのスレもお休みしようぜ
BREW開発しない方が儲かったりするわけだなw
BREW開発は茨の道を歩む修験者の道だな。
アップグレードで15万てことは、新規で買うと…(((;´д`)))
>>795 ノードロックで4年使う気がないなら、フルバージョン使うよりは安くなるでしょ
単品で買うと60万くらいするんだから
まあ今後もやってく気ならフルバージョン+サーバライセンスだと思うけどね
(コンパイル遅いけど)
いいよ、必要になったらクライアントに用意させるよ('A`)
必要になったらgccだな・・・
いままでのは使えなくなったりするんですか?
それで良く仕事できてるな。
Node-lockedっつーってもジャンク箱に転がってるNICでライセンス申請して VMwareとかsoftether動かしとくもんじゃないの?
流れ豚切りスマン。 外部メモリから設定読み込むようなアプリ仕様にしたいんだが、 とりあえずIDataFolder使っとけって事で良いのかな? プログラミングガイド見るとIFileMgrも読み込めそうな感じだけど IFileMgrの説明を理解するには俺のエスパー力が不足してるらしい('A`) とりあえずサンプル作ってるトコだが、誰か知ってたら教えてください。 ちなみに法人向けです。
KDDIのだとBREWの2.*とBREW3.1とBREW4.0でそれぞれ使う関数が違うんだと思った。 詳しくはココには書けないから日本拡張APIリファレンスを読んでくれw
807 :
805 :2007/10/02(火) 18:55:04
レスサンクス。 失礼、BREW3.1のみです。 日本語拡張てことはIFileMgrだよねぇ。 IFileMgrだとこんな記述がある。 >PC フォルダ(DFCPC)については、IFilemgr 及びIFile インタフェースにて >アクセスされる事を想定しているため、 >IDataFolder を適応する端末では実装されません。 ちなみに法人向けプログラミングガイドのIFilemgrに関する記述。 >fs:/kdfcpc/ 外部メモリ PC フォルダ >※IFilemgr にて取り扱いが可能な外部メモリ内フォルダは「PC フォルダ」のみです。 fs:/kdfcpc/ って事? fs:/kdfcpc/pc/ って事? >IFileMgr を用いた外部メモリPC フォルダへのアクセスに関する注意点 >1.ファイルオープン時にファイルパスとして、"fs:/card0/pc/<ファイル名>"を指定する。 >fs:/card0/ 常にEPRIVLEVELを返却 どーしろとw とりあえずもう少しでサンプル動きそう…頑張れ俺。
808 :
805 :2007/10/02(火) 19:30:56
とりあえず fs:/kdfcpc/ と IFileMgr で読めること確認できた。 もう余計な事考えるのはヤメにする。 ど疲れさん
809 :
805 :2007/10/03(水) 16:01:31
ん、ミスってた。 『IFileMgr を用いた外部メモリPC フォルダへのアクセスに関する注意点』 だけを信じればよくて、他の情報を見ると混乱するって事らしい。 ともあれスレ汚し失礼した。
ADS1.2じゃ戻り値最適化(RVO)使えないのかな…
811 :
810 :2007/10/03(水) 19:21:04
というかどうもクラスを返す関数の挙動が気持ち悪い。 operator=定義済みのクラスTestがあったとして、 Test func(void) { Test ft(100); return ft; } Test lt; lt = func(); って呼んだ時、ftのデストラクタが呼ばれた後にltのoperator=が呼ばれてる。 関数を越えてコンストラクタ・デストラクタの呼び出しを混ぜることが出来ない? interworkの絡みでこのへんの最適化が難しいんかな。RVCT3.0ではどうなんだろ。
誰か
>>795 のコンパイラに突撃する奴(会社?)いねぇ?w
814 :
デフォルトの名無しさん :2007/10/04(木) 10:46:33
少しスレ違いかもしれませんが、 AUのアプリがバージョンアップされる条件を知ってる人がいたら、 教えてもらえませんでしょうか? mifに書いたモジュールバージョンが同じでも、 携帯のメニューの「バージョンアップ確認」からバージョンアップできたのですが、 バージョンはどこで管理しているのでしょうか?
XXXガイド関係のドキュメントを読め なんちゃらIDみたいなのが書いてるでしょ。 mifの情報はバージョンアップとは一切関係ないよ
816 :
デフォルトの名無しさん :2007/10/04(木) 11:31:33
ItemIDのことですか? 今ざっと見ていますが、急ぎなので、 できれば教えてもらえませんでしょうか? 仮UAM登録したmifをAppLoaderで入れた場合と、 ADSにアップした商用のアプリを入れた場合で、 このIDは異なるでしょうか?
急ぎならKに問い合わせろよw
ここは掲示板だから急ぎの質問をしても即時回答は期待しない方がいい また書き込み者の判断だが守秘義務に反すると思ったら答えない 仕事頑張ってくれ
819 :
814 :2007/10/05(金) 00:12:41
お騒がせしました。Kに聞けない事情がありまして。 結論から言うとバージョンアップの鍵について明記してる資料はありませんでした。 ほとぼりが冷めたら問い合わせてみようと思います。 ところで、バージョンアップするとアプリで作成したものでも、 拡張子"bar"のファイルは全部消えるので、気をつけて下さい。
ウチはアプリの下請けだけで登録とかはクライアントがやってるから その辺疎いんだよな(´・ω・`)
どうしてもperlでやってくれと
>>823 よかったな。
BREWで動くperlインタプリタ設計してGPLで公開してくれ。
825 :
デフォルトの名無しさん :2007/10/07(日) 08:54:49
あうヲタ氏亡 /ヽ / .ヽ /.゙、 / ゙、 ,/` ヽ ,/` ヽ ,/ .ヽ ,:' ゙l /゙ 、 ヽ .,,:' 一--.-,,,,,,,、 ,/ .,,i´ ヽ ,:' _,、-‐、、、 `" .,/ ヽ / -゛.__ ○ ヽ ‘''ヽ、 ゙i、 l゙ `^ `゙''-、! ゜ ゙l, | ` ,-''''"''ヽ、 | ! 、 ´…-、○ ヽ | ! .|ヽ ゙ヽ .| l゙ ゙, | `'-,_ ` l゙ ゙l .l゙ `"―---、、---ー フ l゙ ヽ ヽ + ,,′ l゙ プギャーーーッ `- \,_ + + _,,/` ," `'、、 `"…、--ー‐″ ,,/′ \:: / ̄ ̄^ヽ 丿 l l _ /,--、l ノ ,--、_ノ:: `ー':: 、ミー---‐,,l ,/ ::: i ̄ ̄ | / l::: l::: l l . l !:: |::: l | l l |:: l: l | l . } l:::::,r----- l ヽ :l:::: ト:;;;;;;;/-/__........... /
もはや、自分追い詰めて楽しんでるようにしか見えないw
まあ事実は俺らが追い詰められてるんだけどな、いろんなものに
BREWアプリが今のとこauしかないから BREWアプリ開発はあうおたということなの?
まぁ一度でも働いたことがあるやつなら、 BREW開発を仕事としてやってる人しか(たぶん)いない このスレで『あうおた〜』なんてレスはできないだろう
まぁ、開発者にとってauはどちらかと言うと敵だしな。
三連休みたいだろ… でも38.8℃出しながら働いてるんだぜ、俺?
>>829 ただのauユーザの自分が見てます。><
見ちゃらめぇ
こっちみんな
RVCT3.0購入手続きした。 つーかRVCT1.2は販売停止だと。 ・・・負け組(´;ω;`)?
836 :
デフォルトの名無しさん :2007/10/09(火) 18:52:05
RVCT3.0 for BREW 買ってみたけど、STL使っていいのかな? vectorとかのヘッダファイルがRVCT1.2にはついてなかったが、これには入ってる。 とりあえず、BREW用のコードに std::vector<int> intArray; intArray.push_back(0); と書いてビルドしてみたらコンパイルは通ったけど、リンクで__rw::__allocator( unsigned, int ), __rw::deallocator( usngined, int ) がないとおこられた。 これは、__rwのネームスペースにこれらのファンクションを書けということか?BREW的にはそれでいいのかな?
837 :
836 :2007/10/09(火) 19:45:32
こんなコード入れたらリンクできちゃったけどいいのかなぁ。 #include <rw/_defs.h> namespace __rw { void* __rw_allocate (_RWSTD_C::size_t, int = 0){} void __rw_deallocate (void*, _RWSTD_C::size_t, int = 0){} }
よくないんじゃないかな STL内部でmalloc()やらなんやら呼びまくってるだろうからメモリ管理がgdgdになりそう
実機で動いたら提出してみて下さい
____ / \ / _ノ ヽ、_ \ / o゚⌒ ⌒゚o \ お客さんが開発機もってっちゃったお | (__人__) | \ ` ⌒´ /
その番号の契約切っちゃえば良いじゃん
お客さんから借りてる端末だろう
お客さんから借りてる開発機で別のお客さんの仕事もしてたんだな。
あるあるwww
845 :
デフォルトの名無しさん :2007/10/10(水) 15:24:15
アプリを実機に転送するケーブルは何を使用してますか? auショップで1050円のUSBケーブルを買ってきたのですが、 AppLoaderでの接続が出来ません。 設定を触っていたのですが、どうにもこうにも行き詰ってケーブルを 疑っている次第です。MySyncのやつじゃないとだめですか?
846 :
845 :2007/10/10(水) 16:19:07
すみません。W51SAには接続出来たので、ケーブル云々は無かったことに。
しかしW52Tには接続しようとしても下記メッセージが出て接続できません。
「Error - Could not detect any device with the specified device id」
>>462 と同じかと思い、パッチも当ててみようとしましたが「〜.msi」が見つからず、
当てることが出来ませんでした(そもそも最新環境に必要なのか・・・)。
何か情報頂けないでしょうか。
いや、普通にMySyncのじゃなきゃダメってのが通説。
848 :
845 :2007/10/10(水) 17:19:00
そうなんですか。行き詰ったのでMySyncの手配してみます。 ありがとうございました。
うちはケーブル3種類使ってる。 ・MySyncのUSB ・秋葉で買ったUSB … つながらない機種が多い ・秋葉で買ったシリアル … 全てつながるが転送が遅い
>>849 USBケーブルでも、端末側が115.2Kbpsで打ち止めでないの?
USB-SPIコンバータのところでデータが詰まったりしてるんじゃない?
某社は携快電話のUSBケーブルだったな。
>>852 うちもそれだな。というか、フォーラム丹念読んだら
あの人もそれだった覚えがあるんだが..。
ウィンウィン
マップチップを画面に貼り付けるときに、チップの貼り付ける場所を変えたりするのはどうすればいいでしょうか? リファレンスとか参照したのですが、いまいちわかりませんでした。
ゆとりにも程があるな…
857 :
845 :2007/10/15(月) 22:45:00
必要ないかもしれませんがお礼と後進の為報告。 MySyncのUSBを使用すると問題なく転送できました。 auショップ純正のUSBは使えない機種があるということで。 MySyncのUSBはそれに対するドライバだけで動作するが、 auのUSBは機種毎にドライバが必要という違いもある。 ・・・なんか間違ってたら訂正よろしく。
うちはREUDOのRS232Cクリスタルケーブル使っていたが なんかある機種が突然繋がらなくなった MySyncのUSBケーブルだと繋がる
Q. 転送用のケーブルには何がオヌヌメですか? A. キャリアがKなら っMySync キャリアや端末にもよりますが、通常の転送時に使用するシリアルケーブルなら大体いけるようです。 ただし、確実ではないのでリスク軽減の為にも事前に転送可能なケーブルを試しておくと良いでしょう。
ツールガイドでは動作確認済みとしてMySync(のみ)が挙がってるのに 何でわざわざ他のケーブル買おうとするんだ?
レジューム時にIMEDIA_PlayでEBADSTATEが帰ってくるのは何故なんだぜ(´・ω・`) シミュレータだと動くのにヽ(`Д´ )ノ
音を鳴らす妖精さんがまだ寝てるからじゃね?('-'*)
YAMAHAは妖精さんをチップに詰める仕事してるのか。
ていうか音まわりの実装も酷いよな
>>861 IMEDIA系はサスペンド時に解放しなきゃならんから、てことはEVT_APP_RESUME内で
リロード&Playしてるってことかね?
端末の実装次第では、まだロード処理終わってないからEBADSTATEって可能性も
あるんじゃね?
ISHELL_Resumeでコールバックさせて、その中でPlayしてみるとか
つかハードウェアが絡むとこ(音とカメラとか)は、 シミュレータをあてにしちゃいかんよ。
ちうことでそう言う辺りの情報は積極的に共有すべきだけど ちょいと忘れかけなんで手元の情報纏めてくるノシ おまいらも協力よれしく まあ、どちらにせよ最終的には実機で確認が必要なのはかわらんがね
で、手元の情報は集まったのかい?
742なんですが、画質の向上をしなきゃならない雰囲気になってきました そこで質問なのですが、カメラで撮影したデータをエンコード前に自前で縮小したり ノイズ取ったりって可能なのでしょうか getframeで取ってきたbmpを弄ってたのですが、エンコード後の画像ファイルには影響していないようでした
getframeで取ってきたbmpを弄って自前で保存。
カメラは画素数とか画質じゃなくて、光学系がしょぼいだけだから、 頑張ってもあまり効果なさそう。
>870 jpg圧縮も自前なんですね 了解です。ありがとうございます。 とりあえず最善を尽くした感を出せればいいかなと思います
>getframeで取ってきたbmpを弄って自前で保存。 やった事ないけどICAMERA_SetDisplaySizeに QVGA以上を設定できるんかね。
defer encode
そもそも、俺がいじってたBREW2.1の頃はアプリ側から 画質が設定できる機械がそもそも無い上に、 画質は自動的に最低画質になるって仕様だと思った。 今はわかんね。
このエラーについてなにか分かる方いませんか・・ ------------------------------------------------ OBJECT search~2.o C:\PROGRA~1\ARM\RVCT_BREWv1_2\bin\armcpp -c -DDYNAMIC_APP -cpu ARM7TDMI -apcs /ropi/interwork/norwpi -littleend -zo -fa -g- -Otime -O2 -I. -IC:\PROGRA~1\BREW31~1.2JA\sdk\inc -I "C:\PROGRA~1\BREW31~1.2JA\sdk\inc" -I "C:\Program Files\Sophia Cradle\SophiaFramework\4.1\Include" -o search~2.o search~2.cpp search~2.cpp(12): Fatal error: Internal fault: 0xa5a8 in 'MyWindow::MyWindow(SFXAnsiString)' Please contact your supplier. search~2.cpp(12): while generating implicit function 'MyWindow::MyWindow(SFXAnsiString)' NMAKE : fatal error U1077: 'C:\PROGRA~1\ARM\RVCT_BREWv1_2\bin\armcpp' : リターン コード '0x1' Stop.
ソフィアクレイドルに聞けよw
>>876 internal〜 の場合はどこがエラーなのかわかりにくい。
個人的にはtemplate周りで出やすく感じるが、必ずtemplate周りであるわけでもない。
エラーの出るソースをコメントアウトしまくって、調べるくらいしかないなぁ。
Apploaderで開いたらディレクトリ名が//mifとかになってて ファイルを送れないのですが何が問題何でしょう 機種はW51Tです
1.x/2.xになっている。
すみません、IFILEMGR_GetFreeSpaceの挙動について 教えていただきたいのですが、 例えばアプリ本体が50KB使用していて、600KBアプリ、 MAXファイルを作成して空き容量を100KBにした場合、 以下どちらの挙動になるのでしょうか? ・戻り値:50KB、第2引数50KB ・戻り値:550KB、第2引数50KB 前者で無いと結構ややこしい計算が必要そうな気が…
「600KBアプリ」の意味がわからんのだが、「1アプリ最大容量600KBの機種」 という意味で言ってるのなら、それは配信上の問題であって 容量オーバーしてるアプリ突っ込んでも動くには動くだろう?
どなたか教えてください。 アプリ非対応のHDML端末からでも、解約操作が出来るようにしないといけないようですが、 記述方法が全く分かりません・・・ドキュメントのどのへんを見ればいいのでしょうか?
>>881 >>381-386 この辺が答えじゃないか?
で、戻り値は現在の空き容量だから
>MAXファイルを作成して空き容量を100KBにした場合、
だったら100KBが戻ってくるはず。
>880 Apploaderの接続の設定を一通り試して見ましたが駄目でした 情報小分けで申し訳ありませんが転送時のエラーは"Restricted directory specified"です。
re・strict・ed ━━ a. 制約[制限]のある; 機密扱いの di・rec・to・ry ━━ n., a. 【コンピュータ】(ファイル管理システムの)ディレクトリー; spec・i・fy ━━ vt. 指定する; 明細に記す[述べる]; 俺の予想では制限のあるディレクトリーを指定してるんだな。
887 :
881 :2007/10/30(火) 10:43:37
>>882 ,884 レスサンクス。
何か色々と凄く恥ずかしい勘違いを…
もうちょい調べて出直しますorz
gnude から GNUARM に乗り換えて、elf2mod の ld スクリプトあてたら リンカエラーが出なくなったんだが、知ってる人いる? ライブラリ指定を全部外しても、mod が出来る(すっげぇ小さい mod ができる)。 ちなみに、コンパイルオプションは arm-elf-g++ -c -DDYNAMIC_APP -mcpu=arm7tdmi -mapcs-frame -mthumb-interwork -mlittle-endian -fshort-enums -fno-builtin -fno-exceptions -fno-unwind-tables -fno-rtti -ffunction-sections -ffast-math リンカオプションは arm-elf-ld -Ttext 0 --no-warn-mismatch --cref --emit-relocs --script "C:\Program Files\BREW Elf2Mod"\gnu\elf2mod.x -entry AEEMod_Load -o target.elf -Lc:\gnuarm\lib\gcc\arm-elf\4.1.1 -Lc:\gnuarm\arm-elf\lib AEEModGen.o AEEAppGen.o APPStd.o target.o な感じ。 ソフィアでやってた浮動小数点用のリターゲットを gnuarm でやろうとしてるんだが、できん。 - floats.o : だめ - __adddf3() やらを実装 : ダメ - アセンブラ出したら、double演算しても、softfp 呼び出しが入ってない(ように見える) だれか、ヒントを汁まいか?
>>888 オイラの勘違いだった。やけに mod が小さいと思ったんだが、BREWの中身
呼び出すから、小さいに決まってるな。
オイラがマヌケだった。
しかし、double 演算しても 浮動小数点エミュレーションコードが
入らないのが不思議だ。
C++のラッパクラス作ってやってるが、やっぱじかに浮動小数点コード書きたい
と思うのは、オイラだけだろうか。
888 です。
暴走モードになってますが…
やっぱり浮動小数点があきらめられないので、調べていたら
GNUARMをリビルドすれば良いことが解った。
しかし、リビルドすると Cygwin 経由でしか、実機用バイナリが
ビルドできなくなる。
と、GNUARMのビルド直前にこんなの見つけました。
YAGARTO - Yet Another GNUM ARM toolchain
ttp://www.yagarto.de/ 試したことある人いますかね?
どうしても GNUARM が GUNDAM にみえてしまう
コンパイル用マシンを構築中なのですが、 makeファイルの生成に失敗して悩んでいます。 環境はWindowsXP SP2をクリーンインストール、 VC6.0SP5、VC2003、VC2005をインストール、 ARMコンパイラ、BREW SDK、BREW Addinsの順で、 (バージョンは全て最新。途中間違えたため再インストールしたものも有りますが) armccの実行は成功、VC6.0/2003ではBREWAddinを表示できています。 しかし、ARM→MAKボタンをクリックすると 「Cannnot find the ARM ADS installation path.」 と表示されます。 フォーラムでも聞いてみようかと思いますが、 心当たりの有る方がいましたらアドバイスお願いします。
>>890 > しかし、リビルドすると Cygwin 経由でしか、実機用バイナリが
> ビルドできなくなる。
な、なんでそうなるの?
パス通ったトコにCygwin1.dll置いてねーんじゃないの?
>>892 エラー内容が「ARM ADSのインストールパスが見つからない」
なんだから、環境変数(ARMHOMEでしたっけ?)が設定されてないか、
パスに空白や全角文字が混じってるとかじゃあるまいか?
Program Filesかな
897 :
892 :2007/10/31(水) 17:09:41
>>895 ,896
仰るとおり ARMHOME が存在しないのですが、
RVCT1.2をインストールしたPCには勝手に設定されたと
記憶しているのですが…
(パスのスペースだけ修正したはず)
ARMxxxxの環境変数は自分で登録する必要があるんでしたっけ?
898 :
892 :2007/10/31(水) 19:08:38
ちと急ぎだったんでフォーラムの方に投げますた(´・ω・`)
ARMHOMEがないなら、とりあえず自分で設定してみりゃいいやん
900 :
892 :2007/11/01(木) 10:12:01
>>899 設定してみてもRVCT1.2と3.0でディレクトリ構成が違うので
自動生成されるmakefileだとパスが通らんとです。
888です。 全て私の勘違いでした。すんません。 お詫びにと言ってはなんですが、gccでdouble演算を直書に成功したので報告します。 1.gcc-4.1.1 以上を準備 2.コンパイルオプションに -mfpu=vfp を追加 3.以下のヘルパを適当な所へ突っ込む extern "C" double __adddf3(double d1, double d2) { return FADD(d1, d2); } extern "C" double __subdf3(double d1, double d2) { return FSUB(d1, d2); } extern "C" double __muldf3(double d1, double d2) { return FMUL(d1, d2); } extern "C" double __divdf3(double d1, double d2) { return FDIV(d1, d2); } extern "C" double __floatsidf(int n) { return FASSIGN_INT(n); } extern "C" int __fixdfsi(double d) { return FLTTOINT(d); } extern "C" int __eqdf2(double d1, double d2) { return FCMP_E(d1, d2); } extern "C" int __nedf2(double d1, double d2) { return FCMP_E(d1, d2) ? 0 : 1; } extern "C" int __gtdf2(double d1, double d2) { return FCMP_G(d1, d2); } extern "C" int __gedf2(double d1, double d2) { return FCMP_GE(d1, d2); } extern "C" int __ltdf2(double d1, double d2) { return FCMP_L(d1, d2); } extern "C" int __ledf2(double d1, double d2) { return FCMP_LE(d1, d2); } これで、 double d = 124.3f; とか d = 234.5f + 23.2f; とか 普通に出来る。 あとは、Exception だな。
IMEDIA_RegisterNotifyで定義したコールバック内にて MM_CMD_PLAYかつMM_STATUS_DONEかMM_STATUS_ABORTの時 IMEDIA_Play()を呼ぶことでBGMのループを再現していたのですが W51SH端末のみサウンドがループがしない模様なのですが(サウンドが鳴ってループはしないという症状みたいです) どなたか同様の症状を見受けられた方はおりませんでしょうか?
IMEDIA_RegisterNotifyは成功しとるのか
904 :
902 :2007/11/03(土) 00:42:29
本日下記のようなコーディングを試験的に施してみたのですが キー操作を受け付けなくなり端末が落ちたとの報告が ありましたのでIMEDIA_RegisterNotifyに失敗している模様みたいです。 int cbFlg; while(TRUE){ cbFlg = IMEDIA_RegisterNotify if(cbFlg == SUCCESS) break; }
そもそもこれじゃこんぱいるできな(ry
906 :
902 :2007/11/03(土) 01:21:04
>>905 スミマセン引き数とか省かせてもらいましたm(_ _)m
だいたいこんな感じでサクセス返ってくるかチェックしたのですがダメみたいでした
RegisterNotifyが成功する位置がある
>>904 ヒント:while(TRUE){ } だけで落(ry
909 :
902 :2007/11/03(土) 16:11:56
>>907 成功する位置があるのですか〜。
今自宅ですので手元にソースがないのですが
大まかな流れを書かせていただきますと
下記のようなコーディングになってます。
・ISHELL_CreateInstance (AEECLSID_MEDIAMMF)
↓
・ISHELL_LoadResDataEx
↓
・IMEDIA_SetMediaData
↓
・IMEDIA_Play
↓
・IMEDIA_SetMediaParm
↓
・IMEDIA_RegisterNotify
>>908 breakでもアウトっすか^^;
勉強になりますた
>904 IMEDIA_RegisterNotify()自体は同期関数だから、戻り値を調べるなら↓こうじゃないか。 (どのみち>908が言うようにBREWではwhileループで戻り値を待つのは間違いだが) int cbFlg; cbFlg = IMEDIA_RegisterNotify(〜); DBGPRINTF("%d", cbFlg); 今更IMEDIA_RegisterNotify()の引数が不正でしたってオチはなしとして… APIリファレンスにはこう書いてある。 >EBADSTATE: エラー - IMediaインタフェースがレディ状態ではない。 念のためIMediaのステータスも確認かね。 これが原因か、端末ごとに影響が違う理由になるか、までは分からないけど。
1ループ(イベント?)内でIMEDIAの関数を何個も呼び出すと キューがいっぱいになるのかEBADSTATEになりやすいけどその辺は大丈夫かな。 何個までいけるか見たことはないけど、1度に10個も20個もIMEDIAの関数呼んでるとか。
そこでPlay呼ぶのかよ
>>909 いや、必ずbreakに来るならいいんだけどね。
来なかったら即端末落ちってことさ。
そもそも必ずbreakに来るなら、whileループはいらないんジャマイカ
ちょっと調べたけど過去スレに同じようなのがあった。
「MM_STATE_READYでないとRegisterNotify出来ない」
つまり、
MM_STATE_READYになってない
↓
IMEDIA_RegisterNotify() 実行
↓
もちろん失敗するから、無限ループで死亡
って感じじゃないのかなぁ。
あくまで予想だけど。
MM_PARM_PLAY_REPEATでいいんじゃないか?
>>909 BREWアプリがwhileループでどんな挙動するか
もうチョイ勉強してからアプリ作ったほうがいいんでない?
釣りと思ってるっぽいけど908の指摘が正しいと思うよ。
普通に考えて904のソースは動かない。
■ここまでのまとめ っプログラミングガイド これ通りやれば大体動く…はず
917 :
902 :2007/11/05(月) 16:40:15
たくさんのレスありがとうございます。
>>910 >IMEDIA_RegisterNotify()自体は同期関数
非同期だと思っておりました^^;
sucessが返るまでIMEDIA_RegisterNotifyを実行
という形を取れればと思ったのですがこれだとwhileの制限に
ひっかかってしまいますね。
>>911 貴重な情報ありがとうございます。
サウンドを止めてから音を鳴らすような流れですので
現在6つほど呼び出しているのですが5,6個でもキューがいっぱいになる
ことがあるのでしょうか?
>>912 現在はコールバックをセットしてから
呼ぶように変更致しました。
確かにあの箇所で呼ぶのはあまり適当ではないですよね。
918 :
902 :2007/11/05(月) 16:41:02
>>913 すみません、RegisterNotifyが非同期と勘違いしており
SUCCESSが返るまでループでセットって流れをと…。
>>914 確かMMFだと動作が保証されていないと記憶しております。
私の記憶違いでしたらすみません。
ちょっと調べてきます。
>>915 釣りとは思っていません。ただRegisterNotifyが非同期と
勘違いしていたのでシステムが端末の電源を強制で落とすまでには
間に合うんじゃないかと組んだ次第です。
確かに悪いコーディングしておりましたOTL
919 :
902 :2007/11/05(月) 17:55:37
W51SHにてサウンドがループしない症状が改善されたみたいですので 報告させていただきます。 IMEDIA_RegisterNotifyの後にIMEDIA_Playするように変更 致しましたら症状が改善された模様ですOTL レスしていただいた方、 本当にありがとうございましたm(_ _)m
RVCT3.0とelf2modって仲悪いのかな?(´・ω・`) 3.0にした途端、elfから変換できなく…
921 :
920 :2007/11/05(月) 22:05:41
orz 誰かRVCT3.0で例外など(__user_libspaceを必要とする機能?)を使えてる人いませんか(´・ω・`)
922 :
デフォルトの名無しさん :2007/11/05(月) 22:27:10
誰が何とわめこうと、ほざこうと、 ド コ モ 以 外 は 糞
そうだな、AT&Tとかやってられないよな。
>>919 とりあえず動作したみたいで良かった。
しかし、iアプリなどのwhileループを多用してるソース移植は
どうにかならないもんかのぅ・・・(´・ω・`)
IThread をこっそり使ってみたらサスペンド中もCPU負荷すごくって とてもとても使い物にならなかったw こっそり使わないように直しておいたけど(´・ω・`)
RVCT3.0になってから、armlinkが吐くelfの配置順が変わったのかな? ADS1.2の時は、プログラムヘッダが「RO>RW>DY」で並んでたのが RVCT3.0では「RW>RO>DY」で並んでるっぽい。 elf2modはプログラムヘッダの先頭を決め打ちで見てるから、変換できないのか?
920=926です。 従来のコードであれば動くようになりました。 armlink --rw_base=0x208000 などでRWのアドレスをROより後ろにずらせば、Elfのプログラムヘッダも RO>RWの順に並び、elf2modで変換でき、実機で動作しました。 現在例外と格闘中…
928 :
デフォルトの名無しさん :2007/11/06(火) 22:13:18
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | ドコモ以外は糞 \  ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∧_∧ ( ´Д` ) < ドコモ以外は糞 ( ´Д` ) /⌒ ⌒ヽ \_______ /, / /_/| へ \ (ぃ9 | (ぃ9 ./ / \ \.∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ / /、 / ./ ヽ ( ´Д` )< ドコモ以外は糞 / ∧_二つ ( / ∪ , / \_______ / / \ .\\ (ぃ9 | / \ \ .\\ / / ,、 ((( ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ / /~\ \ > ) ) ./ ∧_二∃ ( ´Д` ) < ドコモ以外は糞 / / > ) / // ./  ̄ ̄ ヽ (ぃ9 ) \_______ / ノ / / / / / ._/ /~ ̄ ̄/ / / ∧つ / / . / ./. / / / )⌒ _ ノ / ./ / \ (゚д゚) ドコモイガイハクソ! / ./ ( ヽ、 ( ヽ ヽ | / ( ヽ、 / /⌒> ) ゚( )− ( _) \__つ \__つ).し \__つ (_) \_つ / >
Docomoに関してはちょっと前とは違う意味で哀れに感じてきた。
みんなアンドロイドになっちゃえばいいんだ
アンドロイドの上にBREWを乗せればいいのか あれ
どうなんだろうな実際
./JのアンドロイドのとこでもBREWが散々言われててなんか今日の仕事鬱ってきた
>>933 どうせそのうち消えるプラットホームなんだから、それまでがんがれ
auとSBMは今季の利益よかったんだから、プラットホームにもてこ入れすればいいのにね。
やってるじゃん。 KCP+とPOP-i
937 :
デフォルトの名無しさん :2007/11/07(水) 23:28:59
ClsId同じなのに、AEEClsCreateInstanceが何度も呼ばれる。 なぜ?
そもそもチップセットから一体となってるBREWにソフトのコードだけで どこまで対抗できるのか疑問はある。まず価格面からして
940 :
939 :2007/11/08(木) 00:54:58
何をやっているんだ俺は。937な。
>>941 まあまあ落ち着いて
とりあえず一息入れたらどうだい?
シュミレータでは動くのに実機では動作しません。アプリを起動できずに、アプリ選択画面のままです。 BREW Loggerでは ------------------------ App_Cleanup(12345678) #*gSU=16809984 App_New(CREATED 12345678) #*g*C=12345678:162113448 App_Close(12345678) App_Free(12345678) ------------------------- Apps 1008000 Owner: fs:/mif/brewappmgr.mif 3 103d8db Owner: fs:/mif/sysdummyapp.mi 3 103a7a9 Owner: fs:/mif/LifeMemoryBGAp 3 10387e3 Owner: fs:/mif/ezch_ezchup.mi 3 . . . -------------------------- App_New(FOUND) WakeAppStart 12345678 Done 162113448... WakeResume #*gRE=16808874 App_SendStart(3)... @@@AppMgr_Reset status = 0@@@ という感じででます。アプリのmifが呼ばれていないのが気になったのですが 何が原因でこうなったのかわからないです。あとBREW3.0なのにApp_SendStartが出ているいみがわからないです。
>>942 その状態は恐らくAEEApplet_Newまで来ていて、return FALSEしてる状態。
特権指定しないと起動しないもん作ったんじゃないの?
>>943 いかにも、
通信と携帯のサブスクライバIDの取得をしています。
特権レベルは
ファイルとネットワークとWebアクセスとアドレス帳へのアクセス
の4つに印をしています。
942です。 ためしに特権の設定がなくてもいけるはずの HelloWorldでやってみたんですが、 アプリの起動ができないです。
ん…何か変だな。 EZアプリ転送設定だけONになってて、 EZアプリ起動設定がOFFになってるとか・・?
そろそろConfidentialに気をつけてなw
ONになってました。 942です。 動くアプリもあるのですが、 違いと言えばOLDファイルとOPTファイルが 動かない法のアプリにはないということくらいです。 全然関係ないとおもいますけど(汗 )
なんだかものすごい勘違いしてる気配がする。
>>942 #*g*C=12345678:162113448
この行はCreateInstanceの失敗を示し、12345678がClsId、
コロンの右の数字がエラーコード
こんなエラーコードはないと思うけどなあ
>>950 AEEError.hにもこんなものなかったです・・・
3とかならわかるんですが
162113448はさすがに見つからなかったです。
何のエラーかわからないです。
エラーの番号を入れると
キャラ型でエラーの文字列がかえって来る
関数とかあればいいんですけどね;
DLLのままなんぢゃね
アプリ実行中にデータをgzip圧縮してサーバへ送信しようと思いAPIを調べたのですが、 BREWのAPIにはgzip展開(AEECLSID_UNZIPSTREAM)があるのに、gzip圧縮が用意されていないことに気づきました。。 仕方なくGNUのgzip.cソースから圧縮関数部分を取りだそうと眺めてたのですが 関連ファイル等がやたらと多く解読に力尽きました。。。orz どこかにgzip圧縮するだけの単純なソースはありませんでしょうか。
オヤクダチツールセット?
>>953 おいおいw
BREWアプリにGPLソース混入させるのか?w
せめてBSDから引っ張ってこいよ。
QualcommのフォーラムでADS3.0から例外使えるようになったとか書き込みあるけど、ツカエネー 誰か使えた人いる?
957 :
デフォルトの名無しさん :2007/11/14(水) 18:13:32
BREWのマニュアルを読むと、 IDISPLAY_GetDeviceBitmap でフロントバッファ(表示中サーフェース)を取得して、 IDISPLAY_GetDeviceDestination でバックバッファ(描画サーフェース)を取り出し、 IDISPLAY_Update でバックバッファーからフロントバッファーを更新。 と、取れるんですが、勘違いですか? エミュ上でも実機上でもGetDeviceBitmapで得たバッファアドレスと、GetDeviceDestinationで得たアドレスが 一緒で困ってます。
IDISPLAY_GetDeviceBitmap >デバイス (画面) ビットマップを取得します。 >これは、IDISPLAY_Update() がコールされたときに >その内容がコピーされるビットマップです。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ どっちも描画サーフェイスなんでない?
959 :
デフォルトの名無しさん :2007/11/14(水) 18:56:36
>>958 とも思ったのですが、どうやらちゃんとフレームバッファが2つあるようなのです。
というのは、OpenGLで描画しeglSwapBuffers()を呼んだ後、IDISPLAYで文字描画し
IDISPLAY_Update()をやったら、1フレーム目の3Dモデルアニメーションが静止している状態の画面と
ちゃんとアニメーションしている3Dモデルが交互に表示されるのです。
960 :
デフォルトの名無しさん :2007/11/14(水) 19:01:36
OpenGLのフレームバッファの初期化は俺の理解ではこんな風なんですが。。。 IDISPLAY_GetDeviceBitmap( ::GetIDisplay(), &frontBuffer ); IBITMAP_QueryInterface( frontBuffer, AEECLSID_DIB, (void**)&FrontDIB ); GLFrontSurface = eglCreateWindowSurface( GLDisplay, GLConfig, FrontDIB, NULL ); IBITMAP* backBuffer = IDISPLAY_GetDestination( ::GetIDisplay() ); IBITMAP_QueryInterface( BackBuffer, AEECLSID_DIB, (void**)&BackDIB ); GLBackSurface = eglCreatePixmapSurface( GLDisplay, GLConfig, backDIB, NULL ); GLContext = eglCreateContext( GLDisplay, GLConfig, NULL, NULL ); eglMakeCurrent( GLDisplay, GLBackSurface, GLFrontSurface, GLContext );
961 :
デフォルトの名無しさん :2007/11/14(水) 19:04:51
backDIB == frontDIB のせいか、eglCreatePixmapSurfaceがエラーを返します。
962 :
957 :2007/11/14(水) 20:47:22
要するに、OpenGLで描画後、IDISPLAY等の2Dファンクションを使いたかったわけですが、 外人サイトで解法を見つけて解決しました。 (しかし何でこんなことでこんな苦労しなきゃいけなんだろう。。。)
でその方法と知識は共有されず、未来永劫同じ質問が繰り返される…と
IDISPLAY_GetDeviceBitmap ↓ IDISPLAY_Update ↓ IDISPLAY_GetDeviceBitmap じゃダメなの?
いや、普通にMCV4のドキュメントにも書いてるやつのことだと思うけど
966 :
957 :2007/11/15(木) 13:17:49
>>963 じゃあ書く。ちょっとまってて。
>>964 それもやったけどダメだった。同じアドレスが返る。
>>965 そなんだ。MCって○○なので、ノーチェックだった。
967 :
957 :2007/11/15(木) 13:43:39
GLで描画後、文字描画する方法は、KDDIのBREWプログラミングガイドver2.5のp.63にある、以下の解説しかなく、 >テキスト描画を行う場合は、IDISPLAY_SetDestination()にてIGL/IEGL用バッファを設定し、描画を行います。 『じゃあ、どうやってEGLのフレームバッファのアドレスを取得するんだよ?』という最大の難問が今回の問題。 【クラス内】 --OpenGL/ESキットに入っているヘッダファイル "gles/glqualcomm.h"をインクルード。 --PFNEGLGETCOLORBUFFERQUALCOMM型の関数のポインタを恒常的に存在する領域に定義。 void* (*eglGetColorBufferQUALCOMM)(); 【アプリ初期化ファンクション内】 --端末機が対応しているかどうかチェック。 char* pszExtensions = (char*)eglQueryString( GLDisplay, EGL_EXTENSIONS ); if ( STRSTR( pszExtensions, "EGL_QUALCOMM_color_buffer ") == NULL ) return FALSE; //エラー処理 --関数のポインタにeglGetColorBufferQUALCOMM関数の実体のアドレスを設定。 eglGetColorBufferQUALCOMM = (PFNEGLGETCOLORBUFFERQUALCOMM)eglGetProcAddress( "eglGetColorBufferQUALCOMM" ); if( eglGetColorBufferQUALCOMM == NULL) return FALSE; //エラー処理 --DIBを取得 (エラー処理や、Release処理を省いている) IDISPLAY_GetDeviceBitmap( pIDisplay, &bitmap ); IBITMAP_QueryInterface( bitmap, AEECLSID_DIB, (void**)&DIB ); 【描画ファンクション内】 OpenGLでの描画を行う。 glFinish(); //描画が完了するまで待つ。 DIB->pBmp = (byte*)eglGetColorBufferQUALCOMM(); IDISPLAY_SetDestination( pIDisplay, IDIB_TO_IBITMAP( FrontDIB ) ); 以上で目的を達成。
内容はよく読んでないけど頑張ったぽいので乙
すばらしい、キミの功績は、人知れずまったく有名になることもなく しかし何時の日か誰かを助けるだろう・・
とりあえず落とすか
BREW4になるとまた変わりそうだしな
おまえらひどいw
ぬ
最新の技術が常に出てくるので勉強の連続です、 というよりも使う時か問題起きたら調べるようじゃないと 正直やってられません。
× 最新の技術が常に出てくるので勉強の連続です ○ 公式で説明不足の技術によくぶち当たるのでその都度自力で調べるのが手間です
間違いないw
このスレにはいつもそこはかとない悲壮感がただようね
神なんていない事を知ってる連中が集まってるからな('A`)y-~~
>>956 GPSMAPと格闘終わったら俺も例外チャレンジしてみる。
つーか休めよ俺・・・orz
苦労して調べて試してようやく動いた時、達成感を感じてしまう自分に なんでこんな事で満たされちゃってんの俺?と後から腹が立ったりする。
こんばんは 土日もがんばってますか? 先週の「働きマン」のセリフを思い出した 「がんばってるんじゃないよ。ムリしてんだよ」
984 :
デフォルトの名無しさん :2007/11/18(日) 00:55:14
Q社やK社がちゃんと説明してくれていれば1分で済む話を、 何時間も苦労して調べている時にとてつもない虚しさに満たされています。
・・・そろそろ帰るか。 明日(今日か?)も早いし・・・・
はぁ?帰るだと!? 今からが本番だろうが
987 :
956 :2007/11/19(月) 12:40:38
>>980 フォーラムの方では、スレ主の勘違い(というか実機未確認?)だった模様。
BREWだとランタイムライブラリの初期化が行われないから落ちるんだろうけど、
自力で初期化してやろうにも理解の範疇を超えてて手に負えない(´・ω・`)
988 :
デフォルトの名無しさん :2007/11/19(月) 13:17:25
質問です。
昔SoftBankの携帯でJavaで書いたすごい簡単なアプリを動かしたことがあるのですが、今の僕の携帯はauのドレイプ(東芝)なので、
Javaは使えずBREWしか使えないと、auサポートセンターの人に言われました。
BREWはやったことがない上、
>>3 に書いてるみたいに携帯端末に入れれないのが本当なら、
やめといた方がいいのでしょうか?学校の課題なのでなんとかこの端末で動くアプリを作りたいのですが…。
フラッシュとかって動きませんよね?質問ばっかりですいません
入れれません
FlashLiteなら動くんじゃね? EzFactoryに資料載ってるし、自分で作れるかもよ。
991 :
デフォルトの名無しさん :2007/11/19(月) 14:02:21
>>989 そうですかー(ーー;)
>>990 おお!ありがとうございます!!
今見たんですが、Flashlightってフリーじゃないですよね?いくらぐらいかかりますか??
それと、フラッシュをやったことがないんですが、今から一ヶ月半ぐらいで簡単な
アプリって作れますかね〜・・。おとなしくJAVAでやってソフトバンクの端末を
友達に借りてそこに入れさせてもらった方がいいでしょうか
flashlight はフリーのコンパイラがある。 スレ違いだからどっか適当な場所で質問しなおしてこい。
BREWの良いところを挙げながら埋めようぜ
>>995 Kの中の人とすごい頻度で(サポートという名の)文通ができる。
何と言ってもDoCoMoじゃない。
Q様にお任せ
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。