[表示 : 全て 最新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

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で転送する時に小文字に変換されるはずだな。

193 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 00:09:26 ]
3.1 で大文字と小文字を混ぜて使ってるとおかしくならない?
俺はそれのせいで 2.1 → 3.1 移植ではまった覚えがあるんだが...。



194 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 03:46:43 ]
>>193
なるかもしれないね。
だからこそだろうけど、BREW3.1ではファイル名を全て小文字にせよとガイドに明記されている。

195 名前:デフォルトの名無しさん mailto:sage [2006/02/16(木) 13:08:30 ]
クアルコムのBREWサイトがメンテ中。

This system is currently undergoing scheduled maintenance
and will be unavailable until 9:00PM PST on Wednesday February 15, 2006.

となってるんだけど、15日夜9時って、日本時間だと今日の何時?


196 名前:デフォルトの名無しさん mailto:sage [2006/02/16(木) 13:11:47 ]
>>195
自己解決。PSTって書いてあるじゃん!
時差17時間だから、午後2時開店予定だな。
あと50分か・・・。

197 名前:デフォルトの名無しさん mailto:sage [2006/02/16(木) 13:35:19 ]
よくあるよくある

198 名前:デフォルトの名無しさん mailto:sage [2006/02/16(木) 20:42:23 ]
サーバデータ受信を「1つの自作関数呼出し」だけで行うといった
方法は無理なのでしょうか?

int CmnWebAccess(XXX pMe, char* pszURL, char* pResp);

戻り値:受信バイト数
pszURL:URL
pResp:受信バッファへのポインタ

上記のような1つの関数を1回呼び出すだけで、
サーバからのデータを格納させたいと思っています。

しかし、サーバ通信は非同期(コールバック関数複数呼出し)であるため、
ラッパ関数内で、その間、受信完了まで制御を止めなければなりません。

サーバからの受信が完了してから、呼び出し元に制御を戻すようなことは
出来るのでしょうか?


199 名前:デフォルトの名無しさん mailto:sage [2006/02/16(木) 22:15:16 ]
制御を戻すっていうのを、呼び出し元が能動的に処理するか受動的に処理するかで変わるよな。

能動的に処理するなら、pMe にステータス変数を作っておいて、その値を常に確認する。
で、全ての処理が終わったという状態になったら、次の処理を行う。

受動的に処理するなら、呼び出し先にコールバックされたい関数(へのポインタ)を
pMe のどっかに入れて、呼び出し先の処理が終わると同時にその登録された関数を呼び出してもらう。

200 名前:デフォルトの名無しさん mailto:sage [2006/02/16(木) 22:23:16 ]
受信終了まで OS に return しないで済む方法はないか、と言いたいんちゃう?
ちなみに無理だけど。

201 名前:デフォルトの名無しさん mailto:sage [2006/02/16(木) 22:25:59 ]
ああ、「1つの自作関数呼出し」だけでするのか。
だったら pMe の中に状態を表す変数をおいといて、
この関数の中でその状態ごとの処理をすればいいんじゃないかな。
ただ、最初に状態を初期化してやる必要はある。

しかもこれ、引数があるってことは能動的に処理するってことだよな。
制御を止めてるのに引数の確認をしたいってのは意味が分からんな。

202 名前:デフォルトの名無しさん mailto:sage [2006/02/17(金) 09:11:43 ]
とらあえず言葉での説明が難しいなら
ソースを提示してくれればアドバイスしやすいかも

203 名前:デフォルトの名無しさん [2006/02/17(金) 10:00:19 ]
BREWでマスコットカプセルを使ってるのですが、
DoJa版マスコットカプセルのAffineTrans#lookAtに該当するのは
BREW版ではIMICRO3D_Atrans3i_setViewTransですよね?

同じ値のベクトルを渡してるのに、出来上がる行列が
まったく違うのはなぜでしょうか?



204 名前:デフォルトの名無しさん mailto:sage [2006/02/17(金) 10:19:13 ]
>>199>>201
難しく読み取りすぎ。わざとやってるならいやらしい奴だ

205 名前:199 mailto:sage [2006/02/17(金) 11:48:52 ]
>>204
すまんす。わざとじゃないんだけどね...。

つまり関数の中で、

switch( pMe->state ){
case 0: // 初期状態
  ...
  break;
case 1: // 受信中
  ...
  break;
case 2: // 受信終了
  ...
  pMe->result = ... // ここに結果を書く
  break;
}

こんな感じに書いておいて、メイン側は、メインループ内で、

CmnWebAccess( ... );
if( pMe->state == 2 ){
  // 受信完了
}

これでグルグル回せばええんじゃないかなと。
さすがにネイティブからのコールバック関数は別にする必要があるけど、
メインループ内では一つの関数で処理出来る。

206 名前:デフォルトの名無しさん mailto:sage [2006/02/17(金) 13:05:31 ]
>>205
>200の時点でそーいう話じゃないって指摘が出ている。


207 名前:198 mailto:sage [2006/02/17(金) 13:08:21 ]
以下のような処理を行ってみましたが、
CmnWebAccessのwhileループで、固まってしまいます。
Windowsとかでしたら、ループ処理内にPeekMessageなどを逐一呼び出すことで、固まったりしないですよね。

// クリックイベント
OnClick() {
  // 呼び出し元は1コールで指定URLからデータ受信する。
  CmnWebAccess(...);
}

// ダウンロードライブラリ関数
int CmnWebAccess(XXX* pMe, char* pszURL, int nHttpType, char* pbuf, int nLen, char* pRespBuf)
{
  pRespBuf = NULL;
  // ウェブアクセスに関する初期化処理およびダウンロードの開始を行う。
  //(コールバック関数登録やIWeb_GetResponseの呼び出し)
  if (_prCmnWebInit(pMe, pszURL, nHttpType, pbuf, nLen) == FALSE) {
    return 0;
  }
  // ダウンロード処理が終わるまでループする。
  while (1) {
    // コールバック関数が呼び出されてダウンロード処理が続行されることを期待するが。。。
    // ここでループ処理をしてしまうと、コールバック関数のダウンロードが実行されない。
    if (pMe->m_cmnWeb.m_nWebStatus == WEB_HTTP_STS_END) {
      break;
    }
  }
  // pRespBuf MALLOCでバッファを設定する処理 ...
  return pMe->m_cmnWeb.m_nBufResp;
}

208 名前:デフォルトの名無しさん mailto:sage [2006/02/17(金) 13:40:04 ]
>>198
お前もかw
>200の時点で無理だと言っている。
BREWはPeekMessageもスレッドも使えないので不可。
while(1)でメインスレッドが占有されるから他に処理が移行しない。


209 名前:デフォルトの名無しさん mailto:sage [2006/02/17(金) 14:17:14 ]
>>208
BREW3.1なら可能。

210 名前:デフォルトの名無しさん mailto:sage [2006/02/17(金) 14:25:22 ]
ITHREAD(だったっけ?)を使っても、結局システムに処理を返さないとダメ

211 名前:デフォルトの名無しさん [2006/02/17(金) 18:38:37 ]
ILOGGERでログファイルに出力したいんですが、0バイトのファイルができるだけで、書き込まれません。

ttp://pokke-island.jp/xoops/modules/newbb/reply.php?forum=1&post_id=4&topic_id=4&viewmode=flat&order=
このサイトを参考にしてます。

アプリ開始時に、
pMe->piLogger = NULL;
ISHELL_CreateInstance(pMe->pIShell,AEECLSID_LOGGER_FILE,(void**)&pMe->piLogger);
ILOGGER_SetParam(pMe->piLogger,AEE_LOG_PARAM_FILE_NEW,_OFM_READWRITE,"journal.log");
ILOGGER_SetParam(pMe->piLogger,AEE_LOG_PARAM_FILTER_ONE,1,TRUE);
ILOGGER_SetParam(pMe->piLogger,AEE_LOG_PARAM_SENT,0,NULL);

ログ出力したいところで、
ILOGGER_Printf(pMe->piLogger,(pMe->piLogger,1,__FILE__,__LINE__,"LOG Message"));

アプリ終了時に、
ILOGGER_Release(pMe->piLogger);
pMe->piLogger = NULL;

という感じでコーディングしています。
因みにMIFでは、
 ・特権レベルでファイルにチェック
 ・EFS最大ファイル数=100
 ・EFS最大容量=1024000
としています。
機種はW32Hです。

原因がお分かりの方、よろしくお願いします。


212 名前:211 [2006/02/17(金) 19:37:23 ]
すいません、
ILOGGER_SetParam(pMe->piLogger,AEE_LOG_PARAM_FILTER_ONE,1,TRUE);

はコンパイルでエラーが出たので、
ILOGGER_SetParam(pMe->piLogger,AEE_LOG_PARAM_FILTER_ONE,1,(void*)TRUE);
にしてあります。

よろしくお願いします。


213 名前:198 mailto:sage [2006/02/17(金) 20:37:58 ]
みなさん。返信ありがとうございます。
(ちなみに開発環境はBREW2.1です)

一つの関数では無理とのことなので、
WEB受信完了の通知関数別に作って対処しました。

// クリックイベント
void OnClick()
{
  char szSend[] = "hello send message.";
  // データをポストする処理を行う。
  // 以降、内部ではコールバック関数が呼び出されサーバ受信処理が走る。
  CmnWebOpen(pMe, "www.xxx.jp/xxx/post", CMN_HTTP_POST, szSend, sizeof(szSend));
}

内部では、
ISOURCE_END がきたら 通知イベント関数を呼び出す。

// 通知イベント
void OnCmnNotifyEvent(XXX* pMe, int nNotify)
{
  if (nNotify == CMN_NOTIFY_WEB_FIN) {
    // サーバからの受信データを取得する。
    char* pRespBuf = NULL;
    int nGetData = CmnWebGetData(pMe, &pRespBuf);
if (nGetData > 0 && pRespBuf != NULL) {
      // ファイルに保存などの何らかの処理…
    }
// サーバ通信を終了する。
CmnWebClose(pMe);
  }
}



214 名前:デフォルトの名無しさん mailto:sage [2006/02/21(火) 13:13:24 ]
平和なのか、誰もが余裕でBREWを使いこなしているのか、
はたまたkのお役所仕事で待ちぼうけしてるだけなのか・・・


215 名前:デフォルトの名無しさん mailto:sage [2006/02/21(火) 13:47:54 ]
今iアプリで忙しい(`・ω・´)

つーか、まともな企画書も書けないゲーム屋が
3キャリアで出したいとか言ってるのを聞くと笑える。
そんな感じでBREWは停滞気味。

216 名前:デフォルトの名無しさん mailto:sage [2006/02/21(火) 13:53:13 ]
みんなbrewをやる気がないだけ

217 名前:デフォルトの名無しさん mailto:sage [2006/02/21(火) 16:59:40 ]
はねられてショボン中。

218 名前:デフォルトの名無しさん mailto:sage [2006/02/21(火) 23:39:40 ]
IPREMIUMの開発用スタブの使い方教えてください。

1。Brewの開発フォルダの「inc」に「開発用スタブ」のipremium.hとipremium.bidを入れる。
2。自分のアプリと同じとこに、「開発用スタブ」のipremium.mifを置いて、ipremiumフォルダを普通のアプリみたいに置く(中身はDLL)

これで基本的にインスタンスは生成できるようになります。

ほんで、IPREMIUM_TEST.txtなんですが、これはipremiumフォルダに突っ込めばよいですか?
readmeによると、このtxtの〜=0とかを書き換えると、その値を返すようになりますよーと書いてあるんですが、実際返ってこないです。なんででしょう・・。

txt中に
「スタンドアローン購入 応答」
/* 結果コード */
IPREMIUM_SAPR_RSP_rslt_cd = 00
/* 結果事由 */
IPREMIUM_SAPR_RSP_rsn_cd = 003
/* トランザクションID */
IPREMIUM_SAPR_RSP_tran_id = 12345678900987654321

とあるので、
ret = IPREMIUM_SAPurchaseRequest(
app->premium,
app->premium.SA_purchase_snd,
app->premium.SA_purchase_rsp );
ってやると、app->premium.SA_purchase_rspには何にも入ってません。なぜ??


219 名前:デフォルトの名無しさん mailto:sage [2006/02/22(水) 00:19:43 ]
IPREMIUM_TEST.txt は自分のアプリと同じフォルダ。

220 名前:218 mailto:sage [2006/02/22(水) 01:11:17 ]
>>219

エミュレータで自分のフォルダに入れたらちゃんとレスポンス受け取れました!!
ちなみに端末でチェックする場合、どうすればいいですか?

自分でやってみたのは、
普通のアプリと同じくipuremiumという名前でテストsigを取得して、
同じく「開発環境認証課金モジュール」のipremiumフォルダとmif、テストsigを端末に転送

とやってみたのですが、提供者コードエラーとかでOKが返ってきません。提供者、情報コード、アイテムコードは正常に取得しています。
なにか問題があるとすればどこでしょうか?


221 名前:デフォルトの名無しさん mailto:sage [2006/02/22(水) 01:16:54 ]
エミュで自分のアプリと同じフォルダだったんだから、
実機でも自分のアプリと同じフォルダに決まっとろうが

222 名前:218 mailto:sage [2006/02/22(水) 01:55:37 ]
>>221

ん?意味がわからぬ・・・。ipremium.modを自分のアプリと同じフォルダに入れろって意味?

223 名前:218 mailto:sage [2006/02/22(水) 02:03:26 ]
開発用スタブを端末に転送して、自分のアプリフォルダにipremium_test.txtをいれたらテストできるのはわかった。
そこで、今度は実際に課金のチェックをしたいわけなのだが、そうなるとipremium_test.txtは関係ないですよね?
開発環境認証課金モジュールの中身を転送したら良いのかなぁと思って実行してみたんだけどエラーで飛んじゃうんです。。



224 名前:デフォルトの名無しさん mailto:sage [2006/02/22(水) 02:23:14 ]
>>218
>IPREMIUMの開発用スタブの使い方教えてください。

このモジュールはスレで話題にしない方がいいんじゃないかな。
オフィシャルのサポートへ質問してみなよ。
委託開発とかなら元会社通して質問。

225 名前:デフォルトの名無しさん mailto:sage [2006/02/22(水) 02:23:32 ]
>>223
その領域になると答えるほうも大変だな。答えていい事柄かどうか。
とりあえず、その思いつきは当たりそうだけど外れ。
ドキュメントちゃんと読もう。なけりゃ請求するなりなんなり。

226 名前:218 mailto:sage [2006/02/22(水) 02:33:51 ]
>>224
>>225

自分がやってるチェックの仕方があってるか間違ってるかわからないんですよねぇ・・。
調べてほしいと言われているので元請けにきいてわかるわけもなく。。大人の事情で困ってるのですわ。
ドキュメントはBrew開発支援サイトから課金モジュールのzipはもらってる。
そこにはほぼ説明なしのモジュール群と、サンプルアプリのみ。
プログラムはサンプルを元にして作ってみたのだけど、端末におくとちゃんと動作しないときた。

実機に、何をどんな感じで置けばいいのか、それだけ教えてくださいませ。。。。お願いします、みなさまがた。

227 名前:デフォルトの名無しさん mailto:sage [2006/02/22(水) 03:13:10 ]
>>226
それしか貰ってないの・・・って、よく作れますなΣΣ(゚Д゚;)
あからさまに情報不足じゃないですか。

とりあえず、
-
ここがまちがい→開発環境認証課金モジュールの中身を転送したら良いのかなぁ
でも開発用スタブは通信しないから・・・
-
とだけ書いておくっす。なぜかは違う資料読めば書いてあるんだけど。
残りはかけるぎりぎりのライン引きがわかる人や勇気のある方に↓


228 名前:デフォルトの名無しさん mailto:sage [2006/02/22(水) 03:28:33 ]
>>226
>ドキュメントはBrew開発支援サイトから課金モジュールのzipはもらってる。

そのモジュールのドキュメントがある。それがないと絶対に仕事は進まない。
ちゃんとそう言って元請けからそのドキュメントを受け取るしかないな。

229 名前:218 mailto:sage [2006/02/22(水) 03:31:35 ]
>>227

えぇ、それだけなんですorz

「でも開発用スタブは通信しないから」
okです。ここは理解してます。
開発用スタブ
開発環境認証課金モジュール
商用認証課金モジュール
と3つありますよね?それぞれどういう使い分けをしたらよいのですか?
開発用スタブは、たぶんテキストを書き換えて、それぞれのメソッドの返す値を自分できめて動作チェックするものと理解できてます。


230 名前:218 mailto:sage [2006/02/22(水) 03:34:48 ]
>>228

「そのモジュールのドキュメントがある。それがないと絶対に仕事は進まない。 」
そいつはBrewの支援サイトじゃなくて、調味料とかいう名前のサイトからじゃないとダウンロードできないですか?
支援サイトにはモジュールのzip以外になんにもなかったっす。

231 名前:デフォルトの名無しさん mailto:sage [2006/02/22(水) 04:19:36 ]
>>229
> それぞれどういう使い分けをしたらよいのですか?
モジュールの使い方、使用目的含めすべて足りない書類に書いてあります。
モジュールが返す結果のデータの内容の意味などにも、それらの足りない
書類が必要で、それがない状態ではまず作成できないはず。

でもそれがあるのは、支援サイトではないところ。なので、なければ仕事に
ならないということで請求してください。

232 名前:デフォルトの名無しさん mailto:sage [2006/02/22(水) 08:24:18 ]
書類読んだ方がいいな。
開発環境用が通信するなら通信先はKの鯖だろうし、
あのKが申請だの登録だの無しに鯖を使わせるとも思えん(´・ω・`)

と、推測したようなこと書いておく。

233 名前:デフォルトの名無しさん mailto:sage [2006/02/23(木) 08:32:52 ]
BREW2.1環境下です。

1、AppLoaderで必要無いデータを全部消す
2、テストツールと目的のアプリを転送する
3、目的のアプリを起動する(テストツール何もいじらず)
4、1度起動させたら1へ戻る

特定の機種で3の段階でたまーにメモリアクセスエラーが出ますorz
初回のみしかエラーが出なくて、それ以降はン百回やっても普通に起動。
初回起動時ってmifが暗号化されてサイズ増えるくらいしか認識してないんですが、
それ以外でも注意しなきゃいけない事ってありますかね・・・?



234 名前:デフォルトの名無しさん mailto:sage [2006/02/23(木) 09:44:07 ]
よくわからんエラーはリークによるアクセス違反関係じゃね?
初回起動時のみメモリの配置の仕方が違っていて、初回起動時だけエラーが発生したとか。

235 名前:デフォルトの名無しさん mailto:sage [2006/02/23(木) 14:00:40 ]
転送後にちゃんとリセットしてるか?

236 名前:デフォルトの名無しさん mailto:sage [2006/02/23(木) 14:17:12 ]
>>233
>初回のみしかエラーが出なくて
もろに初期化忘れの症状に読める

237 名前:デフォルトの名無しさん mailto:sage [2006/02/23(木) 14:44:21 ]
質問の内容が「私のプログラムにエラーがあります」に見える。

238 名前:デフォルトの名無しさん mailto:sage [2006/02/23(木) 15:11:01 ]
携帯にGeForce5500が乗るようになりつつあるらしいけど
DirectX まだですか?

VRAM自力でアクセス汁って事でよろしいのか。


239 名前:デフォルトの名無しさん mailto:sage [2006/02/23(木) 15:14:31 ]
OpenGL ES があるだろ?

240 名前:デフォルトの名無しさん mailto:sage [2006/02/23(木) 18:20:14 ]
>>233
それって共有ディレクトリにアクセスしたりする*.oをリンクさせる最近のアレ?
それならうちもなります。初回だけでも実機で落ちると心臓痛くなりますね…。

241 名前:デフォルトの名無しさん [2006/02/23(木) 19:35:39 ]
BREW3.1用の日本拡張パッケージファイルってどこで入手できますか?
ググると、下記のサイトで無料でダウンロード出来ると書いてあるんだけど、
見当たりません。

www.au.kddi.com/ezfactory/tec/spec/brew.html

グーグルキャッシュで上のページを見ると、BREW2.0、2.1用のはあるんだけど、
3.1用は無いようです。

ちなみにまだCP契約はしてません。


242 名前:デフォルトの名無しさん mailto:sage [2006/02/23(木) 21:55:23 ]
Brew3.1でちょっと質問。

W31Tでアプリを起動するとなぜかAEEClsCreateInstanceが二回呼ばれているようなんだけどなんで?

int AEEClsCreateInstance( AEECLSID ClsId, IShell *pIShell, IModule *po, void **ppObj )
{
DBGPRINTF(">>AEE into");
if( ClsId == AEECLSID_HOGE ) {
if( AEEApplet_New( sizeof(SYSTEM), ClsId, pIShell, po, (IApplet**)ppObj,
・・・

みたいにしてやってるんだけど、

ロガーでみると、”>>AEE into”が2回呼ばれてます。東芝仕様??
なして?

243 名前:デフォルトの名無しさん mailto:sage [2006/02/23(木) 22:53:02 ]
というかAEEClsCreateInstanceがコールされるのは1回のみ、
というルールは無いと思うんだが?
カタログとかが、必要なクラスIDか、なんかの内部チェックがなにかで、
全部のアプレットに対してenumする、というのはありそうな気はする。



244 名前:242 mailto:sage [2006/02/23(木) 23:06:52 ]
>>243

>というルールは無いと思うんだが?

え?じゃぁAEEApplet_Newでtrueだったから初期化コード埋め込んでたんだけど、ダメじゃん・・・。
EVT_STARTは1回だけ呼ばれるので間違いないですよね?

どうも一発起動でのみおかしな動作をするんだけど、一発起動で起動したアプリに特殊な判定とかいる?
自分の認識では、サスペンドされていたらEVT_RESUMEが呼ばれて、そうじゃなければ普通にAPP_STARTするって認識なんですけど。

245 名前:デフォルトの名無しさん mailto:sage [2006/02/24(金) 01:10:50 ]
いや、そういう意味ではないんだが。
AEEClsCreateInstanceの一回目と二回目ともClsIDにはAEECLSID_HOGEが入ってきて呼ばれてる?
それなら変な動作というのは解るが、別々のクラスIDで実行される可能性があることは、
1番最初にクラスIDで比較していることから予測できることだろう、ってことで。

ちなみにW31Tでの一発起動で、特に変な動作になったことは俺はないよ
特別なコードも入れていない。起動時にソフトキーの判定を無効にはしているが。

246 名前:デフォルトの名無しさん mailto:sage [2006/02/24(金) 01:23:30 ]
>>245
31Tの一発起動なら音関係で問題あったことあったな。
AEEClsCreateInstance()内でIMediaの作成すると再生しても音が鳴らず
エラーも終了イベントも来ない変なのが作成されちゃうってやつだったかな。


247 名前:242 mailto:sage [2006/02/24(金) 03:32:33 ]
>>246

そうまさにそれ。

Loggerの吐く情報が正しいとすると、
31Tのみ、なぜかAEEClsCreateInstanceが自分のアプリIDで2回呼ばれて、しかもEVT_APP_STARTも2回呼ばれる。
さらに一発起動時にはどちらでIMediaをcreateしてもcreateできるくせに鳴らないIMediaができちゃう。
tmer使って最初のとこでIMedia作らないとおかしなことになります。

248 名前:デフォルトの名無しさん mailto:sage [2006/02/24(金) 03:50:52 ]
>>247
あれ?
俺はAPP_START呼ばれた直後にIMedia作るようにしたら直ったと思ったけど。

249 名前:242 mailto:sage [2006/02/24(金) 06:34:32 ]
>>248

いろいろいじって最終的に落ち着いたとこがそこだった。APP_STARTで作っても鳴るかもしれない。
とりあえずAEEClsCreateInstanceじゃ作っちゃダメだった。

250 名前:デフォルトの名無しさん mailto:sage [2006/02/24(金) 07:13:43 ]
まあつまり、AEEClsCreateInstance ではアプレット生成以外のことはするなって事だぁね。

251 名前:デフォルトの名無しさん mailto:sage [2006/02/24(金) 09:42:33 ]
>>247
お、そんな症状があるんだな。それは知らんかった。俺は

1.APP_START 必要最小限のメモリ確保、起動してます表示、タイマーセット、return
2.タイマー内でデバイス周り初期化、タイマーセット
3.通常処理

と、この流れで組んでるから気にしたことなかったな
もともと1で起動してます表示を、すぐに画面に反映させるためだったんだが

252 名前:デフォルトの名無しさん mailto:sage [2006/02/24(金) 10:38:12 ]
>>240
>それって共有ディレクトリにアクセスしたりする*.oをリンクさせる最近のアレ?
最近のアレって何?
なんか情報出てる?

253 名前:デフォルトの名無しさん mailto:sage [2006/02/24(金) 15:02:18 ]
>>252
最近(といっても2ヶ月くらい前)サービスインしたやつのことかな?
簡単そうだけどめんどくさそう。



254 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 15:07:06 ]
Brewの話題と直接関係ないんですけど、webアクセスするときにレスポンスのチェックとかどうやってます?
そういうツールがあったら教えてほしいんですが。。。

・ヘッダを書き換えられる(User-Agentとか特殊なヘッダ情報つけるとか)
・レスポンスをヘッダから全部みれる

もしあったら教えてくださいませ。

255 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 15:46:12 ]
telnet

256 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 18:26:37 ]
>>255

いや、そーいうことではなく・・。telnetはそれはそれでいいとして、たくさんあるUser-Agentをプルダウンで切り替えて・・・とかそんな感じの。


257 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 18:42:32 ]
自分で書けば?

258 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 21:05:48 ]
irvineでも使えばぁ

259 名前:デフォルトの名無しさん [2006/02/27(月) 22:40:02 ]
>>246

FireFoxのuser agent switcher
firefox.geckodev.org/index.php?User%20Agent%20Switcher

自分はこれ使ってテストしてるよ。


260 名前:よね [2006/03/03(金) 15:26:42 ]
エクステンション作るんですがエクステンションのサンプルソースってどこかにありますか?

261 名前:デフォルトの名無しさん mailto:sage [2006/03/03(金) 17:15:35 ]
つ[プログラミングガイド]

262 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 16:48:36 ]
あるイベント時が発生したときに、
連続してIWEB_GetResponseでデータを順次取得することは可能なのでしょうか?

アプリ起動時に、IWEB_GetResponseを使ってサーバからデータ
を取得する処理を書いています。
1箇所のURLに対するGET/POSTなら当然ですが、問題なくデータ取得可能です。
しかし、
連続して2箇所以上のURLに対して、順次、IWEB_GetResponseを呼び出して
サーバからデータを取得するように書くと、1箇所目のIWEB_GetResponseが
無視され(?)、2箇所目のデータの取得となってしまいます。

BREW2.1です。

263 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 17:01:18 ]
1.データ受信が終わってから次のURLにアクセスする
2.IWebとIWebRespを同時に通信する数用意する

っていうのじゃあかんのん?



264 名前:262 mailto:sage [2006/03/06(月) 17:39:49 ]
素早いレスありがとうございます。

> 1.データ受信が終わってから次のURLにアクセスする

一つのイベント内で、受信要求を順番に呼んでおり、
受信が完了する前に次の要求が実行されてしまい、
データ受信を待つことができない状況(?)です。

> 2.IWebとIWebRespを同時に通信する数用意する

コールバック関数を複数用意するということですね。
(あるイベントで同時に通信する可能性があるのが例えば5個なら5個)

具体的には、
・起動イベント発生時、
 コールバック関数の番号とともにWebAccess用ライブラリを呼び出し、
 指定番号のコールバック関数を登録した上でIWeb_GetResponseを呼び出す。
  WebAccess(pMe, "abc.jp/xxx", 1); // コールバック1
  WebAccess(pMe, "abc.jp/yyy", 2); // コールバック2
  WebAccess(pMe, "abc.jp/zzz", 3); // コールバック3

・受信コールバックでは、
  コールバック関数1で受信処理
  コールバック関数2で受信処理
  コールバック関数3で受信処理
 を行う。

・受信完了イベントを、コールバック関数の番号と合わせて通知する。


265 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 18:21:50 ]
アクセス要求をキューに入れて管理すればええんじゃねえの?

266 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 18:34:58 ]
>>262
とりあえずAEECallbackとPFNNOTIFYをtransactionの数だけ用意しなきゃ無理

267 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 20:04:17 ]
>>264
複数箇所に同時に通信しなくちゃいけない、というわけでないなら
芋づる式に通信開始処理とコールバック関数を呼び出して行けば
いいだけじゃないの?

1.例えばキー押下で1箇所目のURLへ通信を開始する。
 受信のコールバック関数をresA()とする。
2.resA()で受信完了の判定をしたら、
 その場で2箇所目のURLへ通信を開始する。
 コールバック関数をresB()とする。
3.resB()で受信完了の判定をしたら、2箇所とも通信が完了。

268 名前:262 mailto:sage [2006/03/06(月) 21:45:15 ]
> 芋づる式に通信開始処理とコールバック関数

助言の方法でできそうなのですが、
ただ、
サーバ通信ライブラリを作成していまして、
ライブラリの使用者からは、コールバック関数などの
内部の関数をできるだけ触らせない方向の仕様で行かざるをえず…

なのでライブラリ使用者からは、通信開始処理と終了通知のみ
を提供する形に現在しています。

そうなると、>266 さんのおっしゃるように、
必要な数だけ必要そうですね。


269 名前:262 mailto:sage [2006/03/06(月) 22:09:08 ]
皆さんありがとうございました。
続けて質問させていただきます。

IHtmlViewerで表示したコンボボックスがあります。
このとき特定のコンボボックスが変更されたというイベントを取得する
ことは可能なのでしょうか?

コンボボックスを変更すると、
IHtmlViewerのコールバック関数が呼ばれますが、
pNotify->codeには、HVN_REDRAW_SCREEN が格納されており、
ただ単にページをRedrawするために呼ばれているようです。


270 名前:デフォルトの名無しさん mailto:sage [2006/03/06(月) 22:26:50 ]
画面遷移時じゃなくて各ボックスとかの値を後でまとめて処理すりゃええやん?

271 名前:よね [2006/03/07(火) 15:59:13 ]
スタティックエクステンションを2アプリから同時利用する事を考えており、
2つのアプリで別々のインスタンスを生成することを想定しています。

スタティックエクステンションは1つのインスタンスしか生成できないということを聞いたのですが、
このような制約があるのでしょうか?

1つはバックグラウンドでもう1つはトップビジブルのアプリです。

272 名前:デフォルトの名無しさん mailto:sage [2006/03/07(火) 16:57:35 ]
>スタティックエクステンションは1つのインスタンスしか生成できないということを聞いた

どこから?

273 名前:デフォルトの名無しさん mailto:sage [2006/03/07(火) 19:37:35 ]
>>271
何のためにリファレンスカウントがあると思ってるんだと。



274 名前:デフォルトの名無しさん [2006/03/08(水) 23:16:54 ]
みなさんBREWでどんなデザインパターンを使っていますか?

275 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 23:50:07 ]
singleton






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

前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