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


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

BREW(Binary Runtime Environment for Wireless) 7



1 名前:1 [2006/01/17(火) 21:55:41 ]
BREW(Binary Runtime Environment for Wireless)についてのスレ

■テンプレ
kintubo.kakiko.com/brew/

■前スレ
06 pc8.2ch.net/test/read.cgi/tech/1126846736/

■過去スレ
05 pc8.2ch.net/test/read.cgi/tech/1119056460/
04 pc8.2ch.net/test/read.cgi/tech/1111028365/
03 pc5.2ch.net/test/read.cgi/tech/1096006023/
02 pc5.2ch.net/test/read.cgi/tech/1076511398/
01 pc2.2ch.net/test/read.cgi/tech/1011078904/

関連情報 >>2-10

92 名前:デフォルトの名無しさん [2006/02/02(木) 17:10:26 ]
>>91
ITMediaの入門ページ見れば?

93 名前:89 mailto:sage [2006/02/02(木) 18:58:47 ]
>>91
>>89ができたんなら>>88が解決したってことじゃん。
「次は何をすればよいのでしょう」と言われても、好きなようにしなよ、としか…

94 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 23:23:27 ]
次は音でも鳴らせば

95 名前:BREW珍兵 mailto:sage [2006/02/02(木) 23:55:01 ]
おっとっとでも作るのか

96 名前:デフォルトの名無しさん mailto:sage [2006/02/03(金) 18:24:44 ]
>>93
いやね、「まずこれやって」と言われて続きがあるのかなと思いまして...
でも、できたんでよかったです。


97 名前:デフォルトの名無しさん mailto:sage [2006/02/04(土) 17:01:11 ]
マニュアル世代論

98 名前:デフォルトの名無しさん mailto:sage [2006/02/04(土) 19:02:30 ]
そういうのがひねくれると2chで暴れるんだよな

99 名前:デフォルトの名無しさん [2006/02/06(月) 10:34:42 ]
BREW3.1端末とAPPLOADERを使用できません。なぜか? (w33SA、w41s)

100 名前:デフォルトの名無しさん mailto:sage [2006/02/06(月) 10:43:44 ]
坊や・・・ApploaderにはBREW3.1に対応していない古いやつもあるって噂さ



101 名前:デフォルトの名無しさん [2006/02/06(月) 10:52:27 ]
APPLOADERのバージョン3.0.0です
QCOMOEMM。DLlは3.0.0.12.


102 名前:デフォルトの名無しさん mailto:sage [2006/02/06(月) 10:53:56 ]
どのバージョンがBREW3.1に必要ですか?

103 名前:デフォルトの名無しさん mailto:sage [2006/02/06(月) 13:37:32 ]
接続時に正しいポートとバージョン選んでるか?

104 名前:デフォルトの名無しさん mailto:sage [2006/02/06(月) 14:24:18 ]
>>103 はい
COM2は"au W33SA Serial Port"と
BREWバージョンは”3.x”

105 名前:デフォルトの名無しさん mailto:sage [2006/02/06(月) 15:11:37 ]
デバグ用端末設定してないっつーオチはないよな?

106 名前:デフォルトの名無しさん mailto:sage [2006/02/06(月) 15:32:15 ]
>>99-105
そろそろ気をつけた方がいいですよ

107 名前:デフォルトの名無しさん mailto:sage [2006/02/06(月) 15:41:14 ]
守秘義務か。
言いたいことも言えないこんな世の中じゃ

108 名前:デフォルトの名無しさん mailto:sage [2006/02/06(月) 22:33:45 ]
いまいちブラウザ起動の処理がうまくいきません。こんな関数作ってみましたがどっか間違ってます?(or認識違ってます?)
Brew2.1

void webTo( AEEAPPLI* sys, char *url )
{
char buf[1024];
MEMSET( buf,0,sizeof(buf));
if( ( sys->webInfo = (ShimBrowserInfo*)MALLOC(sizeof(ShimBrowserInfo))) != null ) {
sys->webInfo->cbSize = sizeof( ShimBrowserInfo );
sys->webInfo->clsid = AEECLSID_XXXX;
SPRINTF( sys->webInfo->url, "%s", url );
SPRINTF( buf, "ezurlto:0x%08x",sys->webInfo );
ISHELL_BrowseURL( sys->shell, (const char *)buf );
}
else {
sys->memory_over = true;
}
}

109 名前:108 mailto:sage [2006/02/06(月) 22:54:01 ]
ちなみに

webTo(sys,"www.yhaoo.co.jp/top/");
みたいにして呼び出してます。

ステップ実行してみたところ、とくに異常もなく実行できるんですがなんにも起動しません。エミュレータ(Brew2.1)ではブラウザのエミュレートできないの?
ISHELL_BrowseURLを呼び出す時点で、bufには"ezurlto:0x[sys->webInfoのアドレス]"が入っています。

110 名前:デフォルトの名無しさん mailto:sage [2006/02/06(月) 23:08:37 ]
関数抜けたらバッファが解放されるからじゃねーの?
あと、ret_evt にイベントをセットしてないのも怪しい。



111 名前:デフォルトの名無しさん mailto:sage [2006/02/06(月) 23:10:13 ]
エミュだとブラウザはでないけどなんか画面が切り替わったような気がする

112 名前:デフォルトの名無しさん [2006/02/06(月) 23:20:59 ]
>>110

修正して、bufは保持するようにしてみた。ret_evt=EVT_USERセットしてみましたがやっぱり起動せず。
原因わかんないです。。。。

認識間違ってたら指摘お願いします。
@ISHELL_BrowseURLを呼び出したら、AEEからSUSPENDイベントが呼ばれて、自分はサスペンド
Aブラウザを終了させると、呼び出しもとのCLSIDをレジュームする。
B復活。

ホントはドコモみたいにいってらっしゃいで帰ってこなくていいんだけど、無理みたいなんで。


113 名前:デフォルトの名無しさん mailto:sage [2006/02/06(月) 23:24:27 ]
>>108
エミュは無反応だよ。
サスペンドが飛んできたかどうかは忘れたけど、
兎も角実機で検証汁


114 名前:108 mailto:sage [2006/02/06(月) 23:30:26 ]
>>113

>>エミュは無反応だよ。

それ本当なんすか・・orz
うち開発会社だから実機検証めんどいのに・・・

115 名前:デフォルトの名無しさん mailto:sage [2006/02/06(月) 23:59:08 ]
エミュが参照するフォルダにアプリと一緒にブラウザのダミーのやつ
入れておけば2.1は切り替わらなかったっけ。
3.1はどうもうまくいったためしないんだけど。

116 名前:名無しBREWたん mailto:sage [2006/02/07(火) 11:48:50 ]
>>104
au Win ケーブルは使えないよん。
おとなしく my Sync ケーブルを手に入れるか
互換性のあるケーブルを探すしかない。

117 名前:名無しBREWたん mailto:sage [2006/02/07(火) 11:51:13 ]
って、レスしに来たんじゃあなかった罠。

DBGPRINTFをうまく消すやり方だけど、
過去ログだといろんな人がいろいろ言っていたけど、

以下のコードを挟んでみたらとりあえず Logger にはでなくなった。
でも、評価式は残るから、評価式に意味がないときに
コンパイラの最適化で消えているかどうかを調べるにはどうすればよいのだろうか。

#undef DBGPRINTF
#define DBGPRINTF


118 名前:デフォルトの名無しさん mailto:sage [2006/02/07(火) 12:02:40 ]
>>117
アセンブラ吐き出して確認すればええんじゃない?

119 名前:デフォルトの名無しさん mailto:sage [2006/02/07(火) 13:29:51 ]
DBGPRINTFだってマクロなんだから
自分で同等のマクロ作ればいいと思う。

120 名前:デフォルトの名無しさん mailto:sage [2006/02/07(火) 14:22:48 ]
空のインライン関数にしたら?



121 名前:デフォルトの名無しさん mailto:sage [2006/02/07(火) 14:59:45 ]
if( cond ){ DBGPRINTF( ... ); }

って書いたときに、最適化によって if 文自体が消えるかどうかって話でしょ?
同等のマクロを作るとか、空きのインラインにするってのは違うと思うんだが。

122 名前:デフォルトの名無しさん mailto:sage [2006/02/07(火) 15:08:43 ]
え、みんなワーニング全部消してるの?
親クラスの仮想関数で引数使ってないからって怒られて以来
全部放置してるよ('д')


123 名前:デフォルトの名無しさん mailto:sage [2006/02/07(火) 16:05:56 ]
>>121 の場合、DBGPRINTF が消えると、cond の処理(if 文の処理)自体が
命令数的にも処理時間的にも無駄だから、それを ARM コンパイラが
無意味な cond の命令から消してるかどうかってことだろ?

Warning は何の関係もない気がする。

124 名前:デフォルトの名無しさん mailto:sage [2006/02/07(火) 17:46:44 ]
>>121
俺はこうかと思ってた。

デバッグ時
DBGPRINTF("line:%d", __LINE__);

製品(DBGPRINTFをundefして空マクロに)
("line:%d", __LINE__);

するとこんなWarningが。
"c:\BREW_SDK\311463~1.2_J\sdk\examples\HELLOW~1\HELLOW~1.c", line 103: Warning: C2917W: no side effect in void context: '"line:%d"'
"c:\BREW_SDK\311463~1.2_J\sdk\examples\HELLOW~1\HELLOW~1.c", line 103: Warning: C2917W: no side effect in void context: '<integer constant>'

ここらがバイナリでちゃんと削られてるのか? ってことかと。

125 名前:デフォルトの名無しさん mailto:sage [2006/02/07(火) 18:13:47 ]
>評価式

126 名前:デフォルトの名無しさん mailto:sage [2006/02/07(火) 18:41:23 ]
最初っから#ifdef _DEBUGでくくってるので問題にならんのだが、
みんなデバッグプリント裸で書いてるの?

127 名前:デフォルトの名無しさん mailto:sage [2006/02/07(火) 18:52:33 ]
いや、ちゃんと服を着て(ry

128 名前:デフォルトの名無しさん mailto:sage [2006/02/07(火) 20:35:27 ]
>>126
俺はデバッグ出力用クラスを作ってるよ。
リリース時は全部中身を空にしてる。

129 名前:デフォルトの名無しさん mailto:sage [2006/02/07(火) 21:58:48 ]
>>126
くつ下ははいてる

130 名前:デフォルトの名無しさん mailto:sage [2006/02/07(火) 23:23:58 ]
>>116 マジで使えない?
usbケーブルwinでw21saを接続できます。



131 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 02:10:06 ]
消えない背景の上でお絵かきするみたいな機能を作りたいんだけど
複数の画面バッファをレイヤーみたいに重ね合わせるのは可能ですか?

132 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 02:26:39 ]
>>131
IBITMAP_CreateCompatibleBitmap() と IDISPLAY_CreateDIBitmap() を知らんのか?

それとも重ね合わせる方法がわからないって言ってんのか?
アルファブレンドとか加色合成でレイヤーを重ね合わせるのなら、
DDB から DIB を取得して自前で転送が基本だろ。

133 名前:デフォルトの名無しさん [2006/02/08(水) 18:44:13 ]
Brew2.1端末で、終話キーを押してそこから終了ってするとなぜか端末がリセットしてしまいます。
端末がリセットするってことはnullにアクセスしてるからだと思うんですけど、エミュではちゃんと終了できるので解放やり残しではないみたいです。

そこでききたいんですけど、EVT_APP_STOP時にタイマーキャンセルして、falseを返してるんですけど、これってダメですかね?
どっかの仕様書でtrueを返すとダメって書いてあったんでfalseにしているんですけど。

リセットで思い当たるふしがなくて、どうやって修正したらいいもんか悩んでます。。。お助けを・・・orz

134 名前:デフォルトの名無しさん [2006/02/08(水) 19:50:05 ]
STOPはTRUEだめだっけ?

135 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 20:16:19 ]
2.1環境と3.1環境をインスコしたらVCがコンパイル通らなくなりました。
環境変数のBREWDIRが書き換えられるって認識あるんだけど、具体的にどうやったら切り替えできますか?
modはmakefileをいろいろ書き換えてなんとかなったんだけど、肝心のVCでコンパイルできん。

136 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 20:19:10 ]
>>134
てか true じゃないともっかいアプリが起動した覚えがある。
ついでにいろんなサンプルを見てみたけど、false を返してるものは無かった。

137 名前:133 mailto:sage [2006/02/08(水) 20:31:32 ]
>>134
>>136

ホントだ、どこ探してもそんな記述はない。なんでこんな処理してるんだろう。謎だ。
ぜったいにfalse返してねーみたいなイベントあったっけ?

138 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 20:47:22 ]
>>133
事前検証チェックシートにいくつか記載がある。
STOPは規制無かったと思うがtrueを返すべきかと。


139 名前:133 mailto:sage [2006/02/08(水) 21:33:32 ]
>>138

W21CAで確認したんだけど、「終了」を選んでアプリ一覧に戻らずに待ち受け状態になったけどこれっていいのかな。
とりあえずtrueを返してリセットはしなくなりました。みなさんありがとう!


140 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 21:51:34 ]
DBGPRINTFについて、関数型マクロの可変長引数が使えれば

#ifdef _DEBUG
#define TRACE(...) DBGPRINTF(__VA_ARGS__)
#else
#define TRACE(...) /* nop */
#endif

とスマートにできる。VC2005ExpressとARMコンパイラなら使える。VC6は無理ぽ。VC2003は知らん。
結局どのコンパイラでも使えるのは

#ifdef _DEBUG
#define TRACE DBGPRINTF
#else
#define TRACE if(0)DBGPRINTF
#endif

しかないんだろうか。
ちなみにARMコンパイラで

if (0)
{
// 処理
}

というコードをコンパイルすると、ちゃんと最適化されてif(0)も含めてコードが無くなる。
なのでパフォーマンス的には後者のマクロでも問題なし。



141 名前:140 mailto:sage [2006/02/08(水) 22:04:02 ]
ついでに>>117についても調べてみた。

#undef DBGPRINTF
#define DBGPRINTF

DBGPRINTF("ぬるぽ %s", "がっ");

これで命令も、2つの文字列も最適化で消える。パフォーマンス上の問題は無し。
ただしWARNINGが出るので鬱陶しい。WARNINGが増えると、重要なWARNINGを見逃す確率が
高くなるのでオススメしない。

142 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 22:04:55 ]
最初はDBGPRINTF裸で書いてたから、
とりあえず無理やりこんな感じで解除してる。
今のところはそんなに問題ない感じだが、実際はどうだろう。

#undef DBGPRINTF
#define DBGPRINTF if(0)DBGPRINTF

143 名前:142 mailto:sage [2006/02/08(水) 22:08:08 ]
if(0)についても書こうかと思ったが、もう140が書いてたね。
書き込み前にリロードしないとこういうこともあるか。

144 名前:140 mailto:sage [2006/02/08(水) 22:15:10 ]
さらに色々調べてみた。

if (cond) DBGPRINTF("ぬるぽ %s", "がっ");

これで、DBGPRINTFが有効な場合、条件分岐も含めてコードが生成される(当たり前)。

#undef DBGPRINTF
#define DBGPRINTF

でDBGPRINTFを無効化している場合、条件分岐も含めてコードは「削除される」。
要するにif文の中身が空な場合はifブロックごと削除されるらしい。

ただし、上記の動作はcondの値が予測できない場合に限る。

boolean cond = FALSE;
if (cond){
DBGPRINTF("ぬるぽ");
}

この場合、condが常にFALSEであることがコードから判別できるため、DBGPRINTFの定義に
よらずifブロックごと削除される模様。
さらに

int v = 0;
if (TRUE){
v = 10;
}

といったコードですら、vが以降参照されていない場合ifブロックごと削除されている模様。

145 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 22:47:19 ]
ARM コンパイラって結構賢いのね。
>>140 サンクス

146 名前:117 mailto:sage [2006/02/09(木) 09:36:03 ]
>>140
勉強になりますた。
自分も逆汗してコード最適化の様子ぐらい見れるようにならんとだめだね。

147 名前:デフォルトの名無しさん mailto:sage [2006/02/09(木) 10:06:36 ]
bcc32でbrewコンパイルできるらしいけど、
C++Builderでコンパイルする方法はあるんでつか?

148 名前:デフォルトの名無しさん mailto:sage [2006/02/09(木) 11:18:43 ]
>>146
>逆汗してコード最適化の様子ぐらい見れるように
やろうと思えば出来るが出来ればやりたくない

149 名前:140 mailto:sage [2006/02/09(木) 17:30:16 ]
書き忘れてましたが上記の検証はデフォルトで生成されるMakefileに
-asm -fs
を加えて検証しますた。最適化オプションは
-Ospace -O2
となっているはずです。

あとお決まりですが、内容は無保証で。元ソースコードによって結果は違ってくるでしょうし。
何より今回は変更箇所を追いやすいようかなり単純なコードでしか検証していないので、
商用レベル(規模)のコードでは実は最適化しきれない部分が出てくるかもしれません。

150 名前:名無しBREWたん mailto:sage [2006/02/09(木) 20:06:54 ]
あ〜、コンパイラにニーモニックコード吐かせれば見やすいね。

さすがに実際のアプリだとコード量が多すぎて検証しきれない時もあるが
>>140の検証で無駄なコードが簡単に削除できることが確認できたのは大きい。

さらに #define TRACE if(0) DBGPRINTF と組み合わせればかなり有用っぽい。



151 名前:デフォルトの名無しさん mailto:sage [2006/02/10(金) 00:09:35 ]
きわどい内容承知でちょっとお助け・・。

KDDIのプレミアム課金のエクステンションの利用の仕方がわからない・・。ドキュメントも意味わからんし、質問はCPじゃないのでできない。
とりあえず間違ってるとこあったら教えてください。
○課金モジュールインスコ
・課金モジュールダウソ/解答する。
・Brewのバージョン(ウチは2.1)のフォルダの「開発用スタブ」開く。
・BrewフォルダのExamplesに課金モジュールフォルダコピー(中身はmodとdll)
・Brewフォルダのincに課金モジュール.hをコピー。
・課金モジュール.mifをBrewフォルダのExamplesにコピー。
・課金モジュール用のテキストを自分のアプリフォルダにコピー。

さてこれからが問題。
説明テキストに”【注意】 開発アプリケーションは「BREW SDK フォルダ内の\Examples」に配置して下さい。”とあるんだけど、自分のアプリを\Examples」に入れろって意味?

とりあえずインスコして、ISHELL_CreateInstanceしたところ3=ECLASSNOTSUPPORTが返る(指定したクラスがサポートされていない場合)
AEEがエクステンションを見つけられてないと思うんだけど、上記のインスコ以外でじゃぁどうすればいいのかがわからない。
ちなみに自分のアプリのmifには、課金モジュールのBIDは依存ファイルのとこで追加してあります。特権レベルは念のためWebとネットワーク両方につけた。

すんません、なんかヒントください。。。。

152 名前:デフォルトの名無しさん mailto:sage [2006/02/10(金) 00:48:11 ]
IGRAPHICS_SetDestination()で指定したビットマップへの
IGRAPHICSインタフェースでの描画が反映されない・・・
コードおかしいとこありますか?

AEELine pLine ;
IBitmap* pDst ; // デバイスビットマップ用
IBitmap* pBuffer = NULL; // 互換ビットマップ用
// なにか画面に書く
pLine.sx = 0 ;
pLine.sy = 0 ;
pLine.ex = 480 ;
pLine.ey = 960 ;
IGRAPHICS_DrawLine(pMe->pIGraphics , &pLine);
// デバイスビットマップを取得してみる
IDISPLAY_GetDeviceBitmap(pMe->pIDisplay, &pDst) ;
// 互換ビットマップを作成
IBITMAP_CreateCompatibleBitmap(pDst, &pBuffer, 240, 320) ;
// 互換ビットマップに書き込んでみる
IBITMAP_DrawHScanline(pBuffer, 150, 0, 200, IBITMAP_RGBToNative(pDst , 0x00ff00),AEE_RO_COPY) ;
// さらにGRAPHICSインスタンスでも書いてみる(ここが反映されてない)
IGRAPHICS_SetDestination(pMe->pIGraphics, pBuffer) ;
pLine.sx = 100 ;
pLine.sy = 100 ;
pLine.ex = 300 ;
pLine.ey = 600 ;
IGRAPHICS_DrawLine(pMe->pIGraphics , &pLine);
// 画面デバイスビットマップと互換ビットマップを合成する
IBITMAP_BltIn(pDst, 0, 0, 240, 320, pBuffer, 0, 0, AEE_RO_TRANSPARENT) ;
// 表示する
IDISPLAY_Update(pMe->pIDisplay) ;

153 名前:デフォルトの名無しさん mailto:sage [2006/02/10(金) 00:53:33 ]
>>152
色の指定は?

154 名前:152 mailto:sage [2006/02/10(金) 01:07:00 ]
>>153
IGRAPHICS_SetDestination()の後にIGRAPHICS_SetColor()してみたら描画できました,ありがとうございます
IGRAPHICSインタフェースは描画に使ってる色をそのまま保持しつづけるんじゃないんですね

155 名前:デフォルトの名無しさん mailto:sage [2006/02/10(金) 02:19:37 ]
>>151
それに限らず、エクステンションなどの連携するアプリ同士はすべてがエミュ
レータから見える位置にないとダメ。
つまり、エミュレータがMIFを参照するのにどのフォルダを見に行ってるのか
調べてみれば・・・。

156 名前:デフォルトの名無しさん mailto:sage [2006/02/10(金) 02:59:01 ]
>>151
じぶんのアプレットと同じ階層のとこに入れておくんだ。
examplesフォルダとかややこしくなるから気にすんな
こんな感じに複数のアプレットがある状態にする。実機でも同じだよ

myapp,mif
myapp/myapp.dll
myapp/extension.txt
extension.mif
extension/extension.dll

157 名前:デフォルトの名無しさん mailto:sage [2006/02/10(金) 04:00:52 ]
>>155
>>156

mifはそもそもExamplesに入れたらダメなんですね。
自分の開発場所に課金認証のmifもってきたらISHELL_CreateInstanceできました。

いまやっとドキュメントの意味がわかったんですけど、BrewSDKはExamplesフォルダで開発することを想定して話しをしてるんですね。
ずっと連携(メーラとか)のアプリを作ったことがなかったんでExamplesの存在が謎だったんだけど、なるほどそーいうわけか。。。

こんな夜遅くに本当にありがとう。


158 名前:デフォルトの名無しさん mailto:sage [2006/02/10(金) 09:34:47 ]
今日は哲也くんだったのか

159 名前:デフォルトの名無しさん mailto:sage [2006/02/10(金) 10:59:20 ]
リーチだっ!
つ 検証

160 名前:デフォルトの名無しさん mailto:sage [2006/02/10(金) 11:10:26 ]
今は3ヵ月後くらいにツモ番が来るのか?



161 名前:デフォルトの名無しさん mailto:sage [2006/02/10(金) 13:48:35 ]
上様の言葉が真実なら仕様書の審査で2ヶ月待ってますが(´д`)


162 名前:151 mailto:sage [2006/02/10(金) 14:07:47 ]
検証出したら待ちが7000件あるらしいっす。検証実施日は4月末
特急で儲ける気ですかね?キャリアが商売っ気出すとろくなことないんですが・・・。


163 名前:デフォルトの名無しさん [2006/02/10(金) 14:13:53 ]
審査ふくめで開発費用って
どのぐらいの費用が掛かるん?
開発する物の規模にもよるだろうけど。

164 名前:デフォルトの名無しさん mailto:sage [2006/02/10(金) 21:39:13 ]
全盛期の鈴Qなら20億もあれば1本作っただろう。

165 名前:デフォルトの名無しさん mailto:sage [2006/02/12(日) 19:05:23 ]
端末仕様についてちょっと質問です。

端末にて、押しっぱなしするとリピートされますよね?PRESS/KEY/RELEASEが全部くるもんでリピートの判別できません。
押しっぱなし状態と、1ショットキーを識別する方法はありますでしょうか?ちなみにW21CAなんですけど、他の端末も同じ仕様?

それと、キー操作音をONにしておくと、ピコピコなっちゃうんですけど、抑制する機能とかありますか?

どっちも仕様で無理っていうなら逃げれるんですが・・。

166 名前:デフォルトの名無しさん mailto:sage [2006/02/12(日) 19:10:32 ]
端末壊れてね?

167 名前:165 mailto:sage [2006/02/12(日) 19:13:44 ]
>>166

たとえばどの点が?
リピートされるのがおかしいのか、それともキー操作音がなっちゃうのがおかしいんですか?

168 名前:デフォルトの名無しさん mailto:sage [2006/02/12(日) 20:22:55 ]
他に持ってないんか?

169 名前:165 mailto:sage [2006/02/12(日) 21:14:30 ]
手元にあるのはW21CA(Brew2.1)、W32H(Brew3.1)の二つ。

W21CAは、上記の通りPRESS/KEY/RELEASEが全部リピートされてきました。そのときのdwParam値も0のまま。
W32Hは、PRESS/KEY/RELEASEがdwParam=0できたあと、KEYがdwParam=64(これリピートフラグ?)でリピートされます。

そこで質問。
Brew2.1はリピートフラグたたずにリピートされる?それともW21CAの固有の問題?


170 名前:デフォルトの名無しさん mailto:sage [2006/02/12(日) 22:18:41 ]
リピートフラグなんてあるのか。
俺は自前でリピート処理作ってるのに



171 名前:デフォルトの名無しさん mailto:sage [2006/02/12(日) 22:22:08 ]
>>169
>RELEASEが全部リピート
放すのがリピートってどういう状況だか理解できん。

あと、
>PRESS/KEY/RELEASE
KEYってなんだ?3種類あんの?

172 名前:デフォルトの名無しさん mailto:sage [2006/02/12(日) 22:52:46 ]
EVT_KEY
EVT_KEY_PRESS
EVT_KEY_RELEASE

3種類あるよ

173 名前:デフォルトの名無しさん mailto:sage [2006/02/12(日) 22:59:02 ]
3種類あるけど

EVT_KEY_PRESS   キーが押された
EVT_KEY_RELEASE キーが離された
EVT_KEY        キーに何かあった

だったと思われる。

174 名前:165 mailto:sage [2006/02/12(日) 23:04:57 ]
>>170
ある

>>171
EVT_KEY_PRESS/EVT_KEY/EVT_KEY_RELEASE
それぞれ、
押された時/もっかい/離したとき
にくる。

Brew3.1ではHandleEventの4番目の引数がtrueでくるとリピートで、押しっぱなしにすると
PRESS:0→KEY:0→(リピート動作)KEY:true→KEY:true→・・・(離すと)RELEASE:0
でくる。

Brew2.1(2.0も)では、
PRESS:0→KEY:0→RELEASE:0→(リピート動作)PRESS:0→KEY:0→RELEASE:0→・・・
でくるので判別不能。

175 名前:デフォルトの名無しさん mailto:sage [2006/02/12(日) 23:26:33 ]
>>174を誰か訳して

EVT_KEYがもっかいって、おかしいよな。方言?

176 名前:デフォルトの名無しさん mailto:sage [2006/02/12(日) 23:53:56 ]
>>165はサービスガイドを読んでよ。答えが書いてあるじゃんか。

177 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 00:15:00 ]
端末によっては、複数同時押ししたときなんかは
最後に反応したキー以外リピートしなかったりするので
そもそも、端末のリピートに頼るの危険。

178 名前:165 mailto:sage [2006/02/13(月) 00:36:56 ]
>>175
え、方言?もう一回=もっかいって言わない?
EVT_KEYは「確定/決定」らしい。なんで押されたイベントが2回くるのかわからなかったけど、KEYで確定とするらしい。

>>176
答え書いてありました。ちなみにさっきの微妙に嘘ついてます。
Brew2.1
PRESS:0→KEY:0→(リピート動作)PRESS:0→KEY:0→・・・(離すと)RELEASE:0  (←RELEASEは最後の1回しかこない。)
ちなみに今確認したんだけど、上キーを押すとPRESSイベントがこない(KEYはくる)。なんでだ・・・。


179 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 00:52:07 ]
どんなすごいソフト作ってんの?

180 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 09:21:57 ]
>>165
書類全部読み直せ。



181 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 09:35:35 ]
ぷっす・りりーすのいべんとはんていできーたすくしょりしる



△ 4点

182 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 09:49:30 ]
おれ、KEYとRELEASEしか使ってなかった。リピートはこの二つ使って自前処理している。
PRESSは存在を知らなかったよ。レスを見ているとそれで無難な方法だったようだね。

183 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 11:55:20 ]
>>182
同じくKEYとRELEASEだけでリピート、ワンショットやってる。

PRESSは終了するとき使うとすぐアプリが起動するから使うなとかなかったけ?
普通の時は問題ないだろうけど。

184 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 12:19:31 ]
PRESSはなんか動きが変っぽかったから使わなくした


185 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 18:08:26 ]
BREW3.1について質問です。
自アプリサスペンド中に他のアプリによりメモリ確保が発生し
自アプリが強制終了するので現状をファイルに出力して終了
するように作るのを推奨しますみたいなことがサービスガイドに
書いてありますけど、これやんなきゃ検証通らないんでしょうか?
ていうか、みなさんどうしてます?
できればこの処理はいれたくはないんですが…

186 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 18:24:49 ]
>>185
2.1を3.1にしたものしかやってないけど
うちではファイル出力はしてないです。検証は通ってます


187 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 18:24:51 ]
推奨と必須は違うと思う……。

188 名前:185 mailto:sage [2006/02/13(月) 18:54:57 ]
>>186
即レスありがとうございます〜
大変参考になりました。

>>187
うう…おっしゃるとおりです。orz
ただちょっと検証がトラウマになってまして…

189 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 22:44:40 ]
Brew3.1でファイル(100byteくらいのテキスト)をオープンしようとすると、なぜか開けない。
もともとあるファイルを開こうとしてるだけだからEFSエラーで0byteのファイルができちゃう不具合とは違うんだけどなんでですか?
MIFの最大ファイル数を9999とかにすると開けるようになるんだけど、エミュじゃなくて実機でも同じくなる。Brew3.1ってここ空欄じゃダメなんですか?


190 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 22:56:59 ]
>>189
IFILEMGR_GetLastError()



191 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 23:01:18 ]
2.1でも3.1でも
MIFの最大ファイル数なんか設定したことないな。
まあテキストファイルを開いたこともないけど

192 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 23:46:32 ]
ファイル名が大文字とか...でも実機だとAppLoaderで転送する時に小文字に変換されるはずだな。






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

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

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