BREW(Binary Runtime Environment for Wireless) 3
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNGQUALCOMM BREWホーム
http://www.qualcomm.com/brew/ja/
http://www.qualcomm.com/brew/
BREW JAPAN .COM|BREW増強計画
http://www.brewjapan.com/
前スレ
http://pc5.2ch.net/test/read.cgi/tech/1076511398/
関連情報>>2-18
■過去スレ
02 http://pc5.2ch.net/test/read.cgi/tech/1076511398/
01 http://pc2.2ch.net/test/read.cgi/tech/1011078904/
0002デフォルトの名無しさん
NGNG関連情報まだですか?
0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG>>3
リンクのまとめサイトなんてあったんだな。知らんかった
でも、なんか寂しいので追加しとくわ
BREW関連
Qualcomm CDMA Technologies - CDMA2000 3G Solutions ← チップセットの情報(PDFあり)
http://www.cdmatech.com/solutions/cdma2000_3g_solutions.jsp?L2=cdma2000_3g_solutions
ARM関連
ARM7DTMIの部屋
http://vsync.org/arm/
ARMメモ
http://www.bomber.co.jp/chaola/docs/ARM/
Linux Zaurusでアセンブリプログラミング
http://www.nk.rim.or.jp/~jun/slasm/arm00.html
0005よくありそうな質問
NGNGBREWアプリを自作して自分の携帯に入れたいのですが?
A.
素人は作ることは可能ですが端末に転送することはできません
あきらめるかCPなどのプロになりましょう
Q.
DLLにコンパイルしたものを端末に転送したのですが実行できません
A.
ARMの形式でコンパイルする必要があります
あきらめるかARMにコンパイルできるようがんばりましょう
0006デフォルトの名無しさん
NGNGBREWて正直うんこなんですが…
A.
そうかもしれません
しかし手段・道具によらず目的を達成するのがプロというものです
がんばりましょう
Q.
_| ̄|○ ……
A.
(つДT)つ旦
0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNG持ってますよ。
0013デフォルトの名無しさん
NGNGアライメントは良いとしても他に気をつける所ありますか?
0014デフォルトの名無しさん
NGNGhttp://age.tubo.80.kg/age01/imgboard.cgi
ここにうpして頂けますか?お願いします('A`)
0015デフォルトの名無しさん
NGNGぶりゅぶりゅ過去ログです。
0016デフォルトの名無しさん
NGNGサンクスです
0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNG■FAQ
IE5.5SP2以降推奨、NNでも動くかも知れないけどOperaとかMozillaとかは確実に無理。
JavaScript+ActiveX。
あと、会社名とかをちゃんと登録しないとダウンロードできません。
2Channel Inc. みたいな正式な名前。
登録内容は全部英語。
(http://pc5.2ch.net/test/read.cgi/tech/1076511398/15)
0019デフォルトの名無しさん
NGNGBREWは携帯電話専用のAPIなんですか?
それとも携帯端末汎用?
0020デフォルトの名無しさん
NGNG一応、携帯専用APIではなかったはず・・・
Plamでなかったっけ?(計画だけか?)
0021デフォルトの名無しさん
NGNGFAQあったんだ。。。過去ログ見られないけど、サンキューです!!
Firefox使ってたよ。。。
0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNGかっこいいな>武龍
0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNG無理ゆう
0026デフォルトの名無しさん
NGNG0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNGIDISPLAY_DrawTextにて文字描画を行っております。
文字の部分に枠ができてしまうのですが
解決方法はないのでしょうか?
透過というか、背景に文字が直接描かれるようにしたいのです。
IDISPLAY_DrawText(app->a.m_pIDisplay,
AEE_FONT_NORMAL, // 太字のフォント
wstr,
-1,
0,
204,
NULL,
IDF_ALIGN_CENTER);
現在はこのような感じです。
よろしくおねがいします。
0029デフォルトの名無しさん
NGNG0030デフォルトの名無しさん
NGNGflagにIDF_TEXT_TRANSPARENTは?
003128
NGNGちなみに、フラグを || で繋げていたため
「うごかねー」と、思っていたのかもしれません。。。
ありがとうございました。
003228
NGNG3バイトの文字。たとえば"-あ"をAECHARにするには
どうしたらいいのでしょう。
0033デフォルトの名無しさん
NGNGじゃない方のワイド文字列変換
これ使うと認証通らない
0034デフォルトの名無しさん
NGNG開発環境
SDK: 2.1.1
端末: W21S
Extension(QRDEC3GV)使用
ICameraで取得した画像からQRコードの解析を行いたいのですが、どうしてもうまくいきません。
撮影した画像をファイルから読み込んで解析する場合、撮影した画像ファイルの深度を16bitに変換して
読み込む必要があるそうなのですが、16bitへの変換がうまくいきません。
また、カメラのコールバック関数内で取得したIBitmapインスタンスから直接解析を行う方法も試してみたのですが、
QRDEC_IMAGE等の構造体に格納する値がわからず、IQRDEC3GV_QrdecDecodeSymbolSetParametersで失敗してしまいます。
画像を撮影してファイルから解析を行う方法と、プレビュー画像を直接解析する方法のどちらでも構わないので、
カメラからの画像を解析する方法をご教授ください。
ちなみに、Extensionのサンプルについてきた画像からの解析は成功しています。
0035デフォルトの名無しさん
NGNG開発環境
SDK: 2.1.1
端末: W21S
Extension(QRDEC3GV)使用
ICameraで取得した画像からQRコードの解析を行いたいのですが、どうしてもうまくいきません。
撮影した画像をファイルから読み込んで解析する場合、撮影した画像ファイルの深度を16bitに変換して
読み込む必要があるそうなのですが、16bitへの変換がうまくいきません。
また、カメラのコールバック関数内で取得したIBitmapインスタンスから直接解析を行う方法も試してみたのですが、
QRDEC_IMAGE等の構造体に格納する値がわからず、IQRDEC3GV_QrdecDecodeSymbolSetParametersで失敗してしまいます。
画像を撮影してファイルから解析を行う方法と、プレビュー画像を直接解析する方法のどちらでも構わないので、
カメラからの画像を解析する方法をご教授ください。
ちなみに、Extensionのサンプルについてきた画像からの解析は成功しています。
003628
NGNGSTRTOWSTRは使わない方がいいのですね。ありがとうございました。
0037デフォルトの名無しさん
NGNGズームに0x7fffffffを設定してやれば各端末の最適な設定に変更されるはずです
画像取り込みをそれでおこなえば良いと思います
画像解析はメモリを直接参照すr
003835
NGNGという感じで設定しています。
撮影した画像とサンプルについてきた画像をテキストエディタで開いてみたのですが、
サンプルの画像は「BM6」で始まっているのに対し、撮影した画像は最初から文字化けしていました。
従って、撮影した画像のエンコード方法がまずいのではないかと考えています。
ちなみに、ICAMERA_SetVideoEncodeで、AEECLSID_WINBMPやAEECLSID_NATIVEBMPが設定できなかったので、
AEECLSID_JPEGを設定しています。
一応、関係ありそうな部分のコードを↓に載せます。
003935
NGNG#defineQR_MAX_DECODE_BUFFER_SIZE2062
// アプリケーション構造体のQRコードに関する部分 ------------
charQR_FileName[64];
unsigned char*QR_psDecodedText;// デコード結果バッファ
unsigned char*QR_psFormatText;// デコード結果フォーマットバッファ
longQR_lBufferSize;// デコード結果文字列サイズ
// QR関係プロトタイプ
static void Conv24BGRto16RGB_UpsideDownEx( IFile * pFile, unsigned char *img16rgb, long hs, long vs, long lImageSize);
static void Conv8BGRto16RGB_UpsideDown( unsigned char *img8bgr, unsigned char *img16rgb, long hs, long vs);
intQR_GetErr(QRDEC_HRESULT lErr);
static boolean QR_DecodeSymbol( IApplet* pi );// サンプルからコピペした解析用関数
static voidQR_DecodeFromBmp( IApplet* pi, IBitmap* pBmp );// IBitmapから直接解析する為の関数
004035
NGNGHelloWorld2_HandleEvent
ハンドルイベント
------------------------------------------------------------------------------- */
static boolean HelloWorld2_HandleEvent(AEEApplet * pi, AEEEvent eCode, uint16 wParam, uint32 dwParam)
{
CHelloWorld2 * pMe = (CHelloWorld2*)pi;
AECHAR szBuf[30] = {0};
int ret;
// キーイベント
case EVT_KEY: DBGPRINTF("### APP_EVT_KEY ###");
switch( wParam ){
// 選択キー押下
case AVK_SELECT: DBGPRINTF("### AVK_SELECT ###");
// カメラ:スナップショット
if( pMe->Camera && pMe->m_DispState == STATE_PICTURE ){
ret = ICAMERA_RecordSnapshot( pMe->Camera );
return FALSE;
}
return FALSE;
}
004135
NGNG画像撮影用関数(mode=TRUE:QRモード、FALSE:通常モード)
------------------------------------------------------------------------------- */
void GetPicture( IApplet* pi, boolean mode ){
CHelloWorld2* pMe = (CHelloWorld2*)pi;
intret;
AEESize*pList;
AEESizeList;
pMe->m_DispState = STATE_PICTURE;
IDISPLAY_ClearScreen (pMe->a.m_pIDisplay);
pMe->Camera = NULL;
// ICameraインスタンス生成
if( (ret = ISHELL_CreateInstance(pMe->m_pIShell,AEECLSID_CAMERA,(void **)&pMe->Camera) ) != SUCCESS ){ return; }
// コールバック設定
if( ICAMERA_RegisterNotify(pMe->Camera,(PFNCAMERANOTIFY)Camera_CB,(void*)pMe) != SUCCESS ){ return; }
pList = (AEESize *)CAM_MODE_PREVIEW;// OK
//サイズリストの取得
pMe->Camera_pbRange = TRUE;
ret = ICAMERA_GetDisplaySizeList(pMe->Camera, &pList, &pMe->Camera_pbRange);
if( ret != SUCCESS ){ return; }
List.cx = pList[0].cx;List.cy = pList[0].cy;
// 諸設定
ret = ICAMERA_SetDisplaySize(pMe->Camera, &List);
if( ret != SUCCESS ){ return; }
004235
NGNGpMe->Camera_dwFPS = (int32 *)CAM_MODE_PREVIEW;
pMe->Camera_pbRange = TRUE;
ret = ICAMERA_GetParm(pMe->Camera, CAM_PARM_FPS_LIST, (int32 *)&pMe->Camera_dwFPS, (int32 *)&pMe->Camera_pbRange);
ret = ICAMERA_SetFramesPerSecond( pMe->Camera, *pMe->Camera_dwFPS);
// QRモード指定
if( mode ){ ret = ICAMERA_SetZoom( pMe->Camera, (int32)0x7fffffff );// QRモード指定 }
IDISPLAY_SetColor(pMe->a.m_pIDisplay, CLR_USER_BACKGROUND,MAKE_RGB(255,255,255));
IDISPLAY_SetColor(pMe->a.m_pIDisplay, CLR_SYS_ITEM,MAKE_RGB(255,255,255));
// メディアデータ設定
pMe->Camera_Media.clsData= MMD_FILE_NAME;
pMe->Camera_Media.pData= "qr.bmp";
STRCPY(pMe->QR_FileName,"qr.bmp");
ret = ICAMERA_SetMediaData( pMe->Camera, &pMe->Camera_Media, "image/bitmap" );
004335
NGNGret = ICAMERA_SetSize(pMe->Camera, &List);
if( ret != SUCCESS ){ return; }
//IFileMgr インタフェースオブジェクトのインスタンス化
ret = ISHELL_CreateInstance(pMe->m_pIShell, AEECLSID_FILEMGR,(void**)&pMe->Camera_FileMgr);
if( ret != SUCCESS ){ return; }
//ファイルを作成
IFILEMGR_Remove(pMe->Camera_FileMgr, "qr.bmp");
if((pMe->Camera_File = IFILEMGR_OpenFile(pMe->Camera_FileMgr,"qr.bmp", _OFM_CREATE)) == NULL){ return; }
//ファイルをクローズ
IFILE_Release( pMe->Camera_File ) ;
// エンコード設定
ret = ICAMERA_SetVideoEncode(pMe->Camera, AEECLSID_JPEG, NULL);// ○
// プレビュースタート
ret = ICAMERA_Preview(pMe->Camera);
if( ret != SUCCESS ){ return; }
}
004435
NGNGCamera_CB
カメラコールバック
------------------------------------------------------------------------------- */
void Camera_CB( void* pUser, AEECameraNotify* pNotify ){
CHelloWorld2*pMe = (CHelloWorld2*)pUser;
IBitmap*pFrame;
AEEBitmapInfo bi;
int ret = SUCCESS;
if( !pMe || !pNotify ){ return; }
switch( pNotify->nStatus ){
case CAM_STATUS_USER_BASE:DBGPRINTF("### Camera_CB:USER_BASE ###");break;
case CAM_STATUS_FAIL:DBGPRINTF("### Camera_CB:FAIL ###");break;
case CAM_STATUS_PAUSE:DBGPRINTF("### Camera_CB:PAUSE ###");break;
case CAM_STATUS_RESUME:DBGPRINTF("### Camera_CB:RESUME ###");break;
case CAM_STATUS_DATA_IO_DELAY:DBGPRINTF("### Camera_CB:DATA_IO_DELAY ###");break;
case CAM_STATUS_SPACE_WARNING:DBGPRINTF("### Camera_CB:SPACE_WARNING ###");break;
case CAM_STATUS_START:// プレビュー開始
DBGPRINTF("### Camera_CB:START ###");
break;
004535
NGNG{
// ▼040924▼
AEEImageInfo*info=NULL;
boolean*retbool=NULL;
//IDIB*pIDIB;
// ▲040924▲
DBGPRINTF("### Camera_CB:FRAME ###");
// フレーム取得
ret = ICAMERA_GetFrame( pMe->Camera, &pFrame );
//DBGPRINTF("### Camera_CB:GetFrame:%d ###",ret);
// ビットマップ情報を取得
IBITMAP_GetInfo( pFrame, &bi, sizeof(bi));
//DBGPRINTF("### Camera_CB:BitmapSize:%d ###",sizeof(bi));
DBGPRINTF("### IBITMAP:ImageInfo.nDepth = %d ###",bi.nDepth);
// 取得フレームから直接解析するバージョン
QR_DecodeFromBmp( (IApplet*)pMe, pFrame );
004635
NGNG//DBGPRINTF("### info.nColors = %d ###",info->nColors);
//IDIB を作成し、ポインタを取得
/*ret = IBITMAP_QueryInterface( pFrame, AEECLSID_DIB, (void**)&pIDIB );
if( ret != SUCCESS ){
DBGPRINTF("● IBITMAP:QueryInterface:FAILED ●");
}
pIDIB->nDepth = 16;
//IBITMAP を開放
IBITMAP_Release( pFrame );
//IDIB をIBITMAP に変換(キャストなので開放不要)
pFrame = IDIB_TO_IBITMAP(pIDIB);
*/
//ファイルを作成
/*IFILEMGR_Remove(pMe->Camera_FileMgr, "qr.bmp");
if((pMe->Camera_File = IFILEMGR_OpenFile(pMe->Camera_FileMgr,"qr.bmp", _OFM_CREATE)) == NULL){
DBGPRINTF("● Camera_CB:CreateFile(bmp):FAILED ●");
return;
}
IFILE_Write( pMe->Camera_File, (void*)pFrame, sizeof(bi));
//ファイルをクローズ
IFILE_Release( pMe->Camera_File ) ;
QR_DecodeSymbol( (IApplet*)pMe );
*/IBITMAP_Release(pFrame);
break;
}
004735
NGNG/*-------------------------------------------------------------------------------
QR_DecodeSymbol
QRコード・バーコードデコード処理
デコード対象:"pMe->QR_FileName"で指定された画像ファイル(例:"images/qr1.bmp")
デコード結果文字列は"pMe->QR_psDecodedText"に格納
------------------------------------------------------------------------------- */
static boolean QR_DecodeSymbol( IApplet* pi ){
CHelloWorld2* pMe = (CHelloWorld2*)pi;
IBitmap*pScreen = NULL;
IDIB*pDibScreen = NULL;
IFile*pFile;
FileInfofi;
IFileMgr*pFileMgr;
IQrdec3GV*pQrdec = NULL;
QRDEC_IMAGEgImage;
QRDEC_SYMBOL_INFOgSymbol;
QRDEC_STRING_INFOsInfo;
QRDEC_HRESULTrc;
longlImageSize = 0;
void*pWorkarea = NULL;
unsigned longlMemoryVecLen;
int16nLoop = 0;
int32ret32;
unsigned char*pimg24 = NULL, *pimg16 = NULL;
BITMAPFILEHEADERbmFh;
BITMAPINFOHEADERbmIh;
int ret;
004835
NGNGDBGPRINTF("### QR_DecodeSymbol:Start ###");
// ファイル参照
ISHELL_CreateInstance(pMe->a.m_pIShell, AEECLSID_FILEMGR, (void **)&pFileMgr);
if(pFileMgr){
pFile = IFILEMGR_OpenFile(pFileMgr, pMe->QR_FileName, _OFM_READ);
if(pFile){
// ビットマップヘッダの読み込み
ret32 = IFILE_Read(pFile, (void *)&bmFh, 14);
ret32 = IFILE_Read(pFile, (void *)&bmIh, sizeof(BITMAPINFOHEADER));
lImageSize = (bmIh.biHeight * bmIh.biWidth * bmIh.biBitCount / 8);
}else{ return 1; }
// ビットマップフレームデータの取得→16ビットデータをExtensionに渡すための前処理
if(bmIh.biBitCount == 24){
// 24ビット・ビットマップの場合
pimg16 = (unsigned char*)MALLOC(bmIh.biWidth * bmIh.biHeight * 2 );
if( !pimg16 ){ return 2; }
Conv24BGRto16RGB_UpsideDownEx(pFile, pimg16, bmIh.biWidth, bmIh.biHeight, lImageSize);
}
004935
NGNG// 8ビット・ビットマップの場合
IFILE_GetInfo(pFile, &fi);
pimg24 = (unsigned char*)MALLOC(bmIh.biWidth * bmIh.biHeight+100);
pimg16 = (unsigned char*)MALLOC(bmIh.biWidth * bmIh.biHeight+100);
if( !pimg16 ){ return 2; }
ret32 = IFILE_Seek(pFile, _SEEK_END, -lImageSize );
IFILE_Read(pFile, pimg24, lImageSize);
Conv8BGRto16RGB_UpsideDown( pimg24, pimg16, bmIh.biWidth, bmIh.biHeight);
}
if(pFile){ ReleaseObj((void**)&pFile); }
if(pFileMgr){ ReleaseObj((void**)&pFileMgr); }
}else{
if(pimg24){ FREE(pimg24); }
if(pimg16){ FREE(pimg16); }
return FALSE;
}
}
005035
NGNG// パラメータの設定
gImage.imSize= sizeof(QRDEC_IMAGE);// 構造体サイズ
gImage.imPixels= pimg16;// フレームデータバッファ
gImage.imWidth= bmIh.biWidth;// イメージ幅
gImage.imHeight= bmIh.biHeight;// イメージ高さ
gImage.imBitCount= (bmIh.biBitCount == 24) ? 16 : 8;// ビットカウント
gImage.imCompression= QRDEC_BI_RGB;// 圧縮形式
gImage.imSourceCameraType= QRDEC_IM_DEFAULT;// カメラ情報1
gImage.imSourceCameraValue= 0;// カメラ情報2
gSymbol.siSize= sizeof(QRDEC_SYMBOL_INFO);// 構造体サイズ
gSymbol.siSymbolType= QRDEC_QR_CODE_M2 | QRDEC_JAN13 | QRDEC_JAN8;// ターゲットシンボルタイプ
gSymbol.siQRVersionLow= 1;// QRコード対象最小バージョン
gSymbol.siQRVersionHigh= 20;// QRコード対象最高バージョン
005135
NGNGif(!pMe->QR_psDecodedText){
pMe->QR_psDecodedText = (unsigned char *)MALLOC(QR_MAX_DECODE_BUFFER_SIZE);
if( pMe->QR_psDecodedText == NULL ){
if(pWorkarea){ FREE(pWorkarea); }
if(pimg24){ FREE(pimg24); }
if(pimg16){ FREE(pimg16); }
if(pDibScreen){ ReleaseObj((void**)&pDibScreen); }
if(pScreen){ ReleaseObj((void**)&pScreen); }
if(pQrdec){ IQRDE3GV_Release(pQrdec); }
return (boolean)8;
}
}
MEMSET(pMe->QR_psDecodedText, 0, QR_MAX_DECODE_BUFFER_SIZE);
// 結果フォーマット文字列バッファの確保
if(!pMe->QR_psFormatText ){
pMe->QR_psFormatText = (unsigned char *)MALLOC(QR_MAX_DECODE_BUFFER_SIZE);
if( pMe->QR_psFormatText == NULL ){
if(pWorkarea){ FREE(pWorkarea); }
if(pimg24){ FREE(pimg24); }
if(pimg16){ FREE(pimg16); }
if(pDibScreen){ ReleaseObj((void**)&pDibScreen); }
if(pScreen){ ReleaseObj((void**)&pScreen); }
if(pQrdec){ IQRDE3GV_Release(pQrdec); }
return (boolean)8;
}
}
MEMSET(pMe->QR_psFormatText, 0, QR_MAX_DECODE_BUFFER_SIZE);
005235
NGNGsInfo.tiDecodedBuffer= pMe->QR_psDecodedText;// 結果受取バッファ
sInfo.tiFormatBuffer= pMe->QR_psFormatText;// 結果フォーマットバッファ
sInfo.tiMaxBufferSize= QR_MAX_DECODE_BUFFER_SIZE;// バッファサイズ
// デコードExtensionインスタンスの構築
if ( (ret = ISHELL_CreateInstance(pMe->a.m_pIShell, AEECLSID_QRDEC3GV, (void **)&pQrdec)) != SUCCESS){
if(pScreen){ ReleaseObj((void**)&pScreen); } return 2;
}
// デコードExtension処理領域の問い合わせ
if(!pWorkarea){
lMemoryVecLen = IQRDE3GV_QrdecGetWorkAreaSize(pQrdec);
pWorkarea = MALLOC(lMemoryVecLen * 3);
if(!pWorkarea){ if(pQrdec){ IQRDE3GV_Release(pQrdec); } return 2; }
}
// デコードパラメータのセット
rc = IQRDE3GV_QrdecDecodeSymbolSetParameters(pQrdec, &gImage, &gSymbol, &sInfo, pWorkarea);
if(rc){
if(pWorkarea){ FREE(pWorkarea); }
if(pQrdec){ IQRDE3GV_Release(pQrdec); }
return 2;
}
rc = QRDEC_S_CONTINUE;
005335
NGNGwhile (rc == QRDEC_S_CONTINUE ){ rc = IQRDE3GV_QrdecDecodeSymbolNextStep(pQrdec, 150, 100, pWorkarea); }
if ( rc == QRDEC_S_OK ){ pMe->QR_lBufferSize = sInfo.tiBufferSize;
}else{ ret = QR_GetErr(rc); }
if(pWorkarea){ FREE(pWorkarea); }
if(pQrdec){ IQRDE3GV_Release(pQrdec); }
return (boolean)rc;
}
005435
NGNGQR_DecodeFromBmp
QRコード・バーコードデコード処理
IBitmapから直接変換
------------------------------------------------------------------------------- */
static voidQR_DecodeFromBmp( IApplet* pi, IBitmap* pBmp ){
CHelloWorld2* pMe = (CHelloWorld2*)pi;
void*pWorkArea = NULL;
IQrdec3GV*pQrdec = NULL;
intret;
QRDEC_IMAGEimageArea;
QRDEC_SYMBOL_INFOcodeInstructions;
QRDEC_STRING_INFOstringArea;
AEEBitmapInfobi;
if( ( ret = ISHELL_CreateInstance(pMe->a.m_pIShell, AEECLSID_QRDEC3GV, (void **)&pQrdec)) != SUCCESS ){return; }
{
IBITMAP_GetInfo( pBmp, &bi, sizeof(bi));
imageArea.imSize= sizeof(QRDEC_IMAGE);// 構造体サイズ
imageArea.imPixels= (unsigned char*)pBmp;// フレームデータバッファ
imageArea.imWidth= bi.cx;// イメージ幅
imageArea.imHeight= bi.cy;// イメージ高さ
imageArea.imBitCount= 16;// ビットカウント
imageArea.imCompression= QRDEC_BI_RGB;// 圧縮形式
imageArea.imSourceCameraType= QRDEC_IM_DEFAULT;// カメラ情報1
imageArea.imSourceCameraValue= 0;// カメラ情報2
005535
NGNGcodeInstructions.siSymbolType= QRDEC_QR_CODE_M2;
codeInstructions.siQRVersionLow= 0;
codeInstructions.siQRVersionHigh= 0;
stringArea.tiSize= sizeof(QRDEC_STRING_INFO);
stringArea.tiDecodedBuffer= pMe->QR_psDecodedText;
stringArea.tiMaxBufferSize= QR_MAX_DECODE_BUFFER_SIZE;
stringArea.tiFormatBuffer= pMe->QR_psFormatText;
if (pWorkArea == NULL) {
unsigned long MemoryVecLen = IQRDE3GV_QrdecGetWorkAreaSize(pQrdec);
pWorkArea = MALLOC(MemoryVecLen);
}
IQRDE3GV_QrdecDecodeSymbolSetParameters( pQrdec, &imageArea, &codeInstructions, &stringArea, pWorkArea);
}
while (ret == QRDEC_S_CONTINUE ){ ret = IQRDE3GV_QrdecDecodeSymbolNextStep(pQrdec, 150, 100, pWorkArea); }
if ( ret == QRDEC_S_OK ){
DBGPRINTF("○●○ QR(Bmp):SUCCESS ○●○");
pMe->QR_lBufferSize = stringArea.tiBufferSize;
}else{ ret = QR_GetErr(ret); }
if(pWorkArea){ FREE(pWorkArea); }
if(pQrdec){ IQRDE3GV_Release(pQrdec); }
return;
}
005635
NGNG宜しくお願いします。
0057デフォルトの名無しさん
NGNGそらAEECLSID_JPEGを指定したらJPEGが出力
されるがな。
加工したいならRAW出力で出力して、BMPファイルに
すればいいんでねーの?
005835
NGNGAEECLSID_WINBMPやAEECLSID_NATIVEBMPが設定できなかったので、
とりあえず動かすためにAEECLSID_JPEGを設定していました。
というかCAM_ENCODE_RAWの存在をすっかり忘れていました。
RAW出力早速やってみます。
005957
NGNGCAM_PARM_VIDEO_ENCODE_LISTでGetParamやれば
サポートフォーマットは取得できる。
まぁ〜BMPサポートしているのなんか見たこと
無いけど
とりあえず、RAWはメーカ依存なので絶対とは
いえんけどYUV422で出力されると思われ
# RGBは見たとき無いな・・・あんのかな?
0060デフォルトの名無しさん
NGNGでも守秘義務は守ろうな
晒せる範囲に気をつけれ
でカメラだが
jpg援交画像をimageで取り込み→bitmap化
getフレームのbitmapを直接取り込み
あたりをすればよいかと思われ
006158
NGNG情報提供&忠告有難うございます。
RAW出力でやってみたのですが、やはりうまくいかないようです。
>jpg援交画像をimageで取り込み→bitmap化
>getフレームのbitmapを直接取り込み
サンプルのコードを見る限り、解析するときに
ret32 = IFILE_Read(pFile, (void *)&bmFh, 14);
ret32 = IFILE_Read(pFile, (void *)&bmIh, sizeof(BITMAPINFOHEADER));
で取得した情報を元に16bitに変換してるようなので、
BMP形式でファイルに保存してからじゃないと無理っぽいです。
IBitmapから直接解析しようとすると、
Extensionの構造体(特にQRDEC_IMAGEのimPixels)に何を入れていいかわからない状態です。
0062デフォルトの名無しさん
NGNGと思っているんですが、ちょっと質問。
1、MMUはイジれますか?第一、そもそもハード的にありますか?
2、少なくとも、Dirty Bitは見たいのですが、可能ですか?
3、例外や割り込みはトラップできますか。とりわけ、ページフォルトは?
4、簡易OS上のアプリからのBREWのAPIコールやライブラリコールをトラップ
(正確には禁止)できますか?
クアルコムは、BREWでJavaVMも書けるよ、と怪気炎を吐いていますので、
このあたりのOSレベルの機能も無理やり開放させる方法があるような気がするのですが、
どうでしょうか。
0063デフォルトの名無しさん
NGNGグラントバック条項として
BREWの開発に役立つ特許なら親会社のでも子会社のでもクアルコムに実施料無料で
自由に使わせろって書いてあるように読めるんだけど。
子会社はともかく親会社にそんなこと認めてもらうなんて・・・。
みんなこんな契約そのまま承諾してるのかなあ?
0064デフォルトの名無しさん
NGNG関係ないが
援交っていーぱつ変換でだすなんt
0065デフォルトの名無しさん
NGNGだれか教えて!
とりわけ、
・ページフォルトがトラップできるか
・BREW API/ライブラリへのコールがトラップ(もしくは禁止)できるか
・ダーティービットが見れるか
この三点、よろしくお願いします。
0066デフォルトの名無しさん
NGNG非常にダメっぽいなぁ。mmap() すらないんだもんな。
0067デフォルトの名無しさん
NGNGBREWでは int16, int32, uint16, uint32 といった型がわざわざtypedefされているが
インターフェイスのヘルプを見ると引数や戻り値に int と書かれているものもある。
みなさんソース書くときにint16とかの記述で統一してますか? それともintも混在で?
「そんなの好きに書けばいいじゃない」って、気にするほどのもんでもないのかな。
(結局はコンパイルでintやlongに置き換わるわけだし)
実は bool型 true, false が
boolean型 TRUE, FALSE (1, 0でdefineされてる)
で定義されてるのもかなりウザイと感じている。
boolean result = (a != b); がエラーになってバカらしいなと…
(BREW的には boolean result = (a != b) ? TRUE : FALSE; )
0068デフォルトの名無しさん
NGNG自分で宣言した変数ではintしか使ってない。
>実は bool型 true, false が
>boolean型 TRUE, FALSE (1, 0でdefineされてる)
>で定義されてるのもかなりウザイと感じている。
同感。すげーウザイ。
他にも、KDDI認証とかマニュアルの不便さとか、挙げればキリがない。
0069デフォルトの名無しさん
NGNGgccでは使用できませんか?
0070デフォルトの名無しさん
NGNGGNUDEでもできるみたいなんですが、
elf2modが必要で、正式デベロッパーになるか、
auのBREWCPになるか、Visual Studio Addin を入れないといけないみたいですね。
ところで、Visual Studio Addin入れようとするとエラーになるんですが、
やっぱりVisual Studioがないといけないんでしょうか。
String NO_VS_ERR_MSG1 was not found in string table.って出ます。
007269
NGNGすいません。レスを確認しませんでした。
>GNUDEでもできるみたいなんですが、
>elf2modが必要で、正式デベロッパーになるか、
>auのBREWCPになるか、Visual Studio Addin を入れないといけないみたいですね。
なるほど、そうなんですか。gccでも可能ってことですね。
ありがとうございました。
0073デフォルトの名無しさん
NGNGエミュレータ用のDLLを生成するには、Visual C++相当のコンパイラが必要。
gccがVCと互換性のあるDLLを吐いてくれるのかどうかは知らん。
実機向けにビルドするならgccで問題ないが、>>70にあるとおり、Visual Studioが
入っていないとgcc用のelf2modがインストールできない。
まあ、gccベースのアプリをBREW化するのはコンパイラ以外の問題のほうが多いと思うが...
(グローバル変数、Cの標準関数、浮動小数点演算が全部NG。
C++の機能も制限あり...これはgccだと回避できるのかな?
100%イベントドリブン+シングルスレッドな構造にそのまま移植できるソースなんて
そうないだろうし。)
0074デフォルトの名無しさん
NGNG高速で動く高性能チップと
それようのネットリワーク環境が
ワンセットになっている事らしいから
まあチップの中の人とか小人さんがいくら優秀でも
それに命令を渡すため書類の書き方やら手続きやら用語やらがあれだったら
中の人やら小人さんも働きようがないゃな
0075949
NGNG今朝端末でアプリを立ち上げた所、
「エラーが発生しました(004)」と表示され、
製作中の全てのアプリで同じ現象が
発生している状態です。(⊃△T)
※昨日まで動作していました
エラー004の内容についてお知りの方、
助言していただけないでしょうか?
0076デフォルトの名無しさん
NGNGSIGファイルの期限切れ
007775
NGNG(゚△゚;)
クライアント様に新しいの用意して
もらいまふ…。_| ̄|○|||
>>76
早急なレスありがとうございました。
0078デフォルトの名無しさん
NGNG原因が解かりません。
まさか仕様って訳じゃ無いですよ・・・ね?
一応解放されるけどなんか気持ち悪いです。
どなたか解決法知ってましたら助けてくださぃ。
007978
NGNG2次配列で取得してました(;´Д⊂)
0080デフォルトの名無しさん
NGNGSIGは3ヶ月で切れるから気をつけれ
0081デフォルトの名無しさん
NGNGmakefileアップしてもらってもうまく行かずに悩んでいたが、>>76ではたと気づいたよ。
sig作り直したらうまく行きました(;°д°)
ついでにC++でもHelloWorldレベルでの確認までできたのでフォーラムのほうにアップしますた。
ttp://brewforums.qualcomm.com/ja/showthread.php?s=&threadid=97
みんなありがとう!(^^)!
0082デフォルトの名無しさん
NGNG0083デフォルトの名無しさん
NGNGお〜ま〜え〜は〜ア〜ホ〜か〜
まあ、実際良くあることだけどな
0084デフォルトの名無しさん
NGNG下のに書いた感じで、エミュでは問題なく動いてるんですが、
armコンパイルするとエラーが(⊃д⊂)
switch caseや if else 多用すれば良いとも言うけど…
//キーイベントが発生したら、本関数をコール
KeyEvent(AEEApplet *a, uint16 wParam)
{
void (*key[])(AEEApplet*, uint16)={
KeyEvent_0, //0
KeyEvent_1, //1
KeyEvent_2, //2
…
};
//共通処理
key[a->JumpNo]; //各関数へジャンプ
};
void KyeEvent_0(AEEApplet *a, uint16 wParam)
{
//個別処理
}
void KyeEvent_1(AEEApplet *a, uint16 wParam)
{
//個別処理
}
//以下略
0085デフォルトの名無しさん
NGNG関数のアドレスは指定できないよ。
実行しはじめてからでないと。
008684
NGNGつまるところ関数ポインタをメンバ構造体へ突っ込んどいて、
動的に初期化すればOKて事ですか・・?
うーん、そこまでやるならif elseでズラズラ書いた方が良いかなぁ…
ひとまずやってみます。ありがとうございました。
0087デフォルトの名無しさん
NGNGそれじゃぁ呼び出しもできないね。
>>86
「なるほど」じゃねぇだろ。
008884
NGNG納得してしまったんでつが…
じゃぁどーすりゃいいんだyp!ヽ(`Д´)ノ
0089デフォルトの名無しさん
NGNG「思った」ってなんだよ?
エラーでたならエラーメッセージ貼って質問するのが基本なわけだが、できないのか?
0090デフォルトの名無しさん
NGNG>key[a->JumpNo]; //各関数へジャンプ
これに引数は書かないのか?
(*key[a->JumpNo])(a, wParam); ではダメ?
ちなみに関数ポインタは実機でも使えるよ。
リンクも通るし、できた mod もちゃんと動く。
ただ、前の開発では配列にしたら何故かダメだった。
調べるのもめんどくさいので switch で切り分けた (´A`)
0091デフォルトの名無しさん
NGNGテーブルのテーブルとかすると叱られた。
0092デフォルトの名無しさん
NGNGARMコンパイラが腐ってるのが苦労の原因に見える……外から見てると
0093デフォルトの名無しさん
NGNG通信処理を行った後、少しの間動作が遅くなる
といった現象が起きているのです。
どうもIWEB_GetResponse使った時点から
遅くなってる様なのですが、
同じ様な現象が起こった方アドバイスいただけませんか?
ちなみにソースはこんな感じ↓
http://venus.aez.jp/uploda/dat/upload10830.txt
SDKのサンプル元にしてます。
よろしくお願い致します。
0094デフォルトの名無しさん
NGNGとりあえず、ぱっと見の突込み所(遅くなる原因かはわからないけど)
なんでデータ受信時の再読み込み系でCALLBACK_Initを
何回もやっているの?必要だっけか?
たまにしかアクセス行かないアプリなら別だけど
IWebをリクエスト毎に生成するのは何故?
IWebは基本的に使いまわすもの
0095デフォルトの名無しさん
NGNGCALLBACK_Initについてはコールバック設定前に行うっていうのはどっかに書いてあったはず・・・。
あとIWebについてだけど
あれって使いまわせないと思うんだが?
IWebはIWEB_Releaseを行わないと切断できないし。
ついでに>>93については分からないなぁ・・・。
俺のときはメモリを細かく取ってたら遅くなったけど。
0096デフォルトの名無しさん
NGNGconstつけてないだろ。
0097デフォルトの名無しさん
NGNGICEつなげてソースデバッグとかできるとありがたいんだが・・・・
0098デフォルトの名無しさん
NGNG0099デフォルトの名無しさん
NGNG10月から始まるって話でしたよね。
0100デフォルトの名無しさん
NGNGどうせ家内製手工業だろうし
0101デフォルトの名無しさん
NGNGやっぱりあんまり期待できないですね。
0102デフォルトの名無しさん
NGNGhttp://www.staffnet.co.jp/BREWseminar/
0103デフォルトの名無しさん
NGNG0104デフォルトの名無しさん
NGNG質問なのですが、機種ごとに違う、画面の大きさを取得できる関数が
あったとおもうのですが。。なんでしたっけ。
それと、横幅は240で固定なのでしょうか。縦は違う??
0105デフォルトの名無しさん
NGNG画面の大きさはISHELL_GetDeviceInfoで取得したAEEDeviceInfo構造体に入ってる。
これで機種ごとにサイズを見てみれ。
010693
NGNGレスありがとうございます。
試行錯誤しておりますが、現状直らず…。_| ̄|○|||
現状わかった事として
通信終了後(成功失敗に関わらず)、
約1分程で動作速度が元に戻る。(T△T;)
CallBack、タイムアウトのタイマーは開放してるんで、
それ系の不具合では無いと思うのですが…。
引き続き情報お待ちしております…。m(_ _)m
0107デフォルトの名無しさん
NGNGBREWエミュで文字列リソースだけ読ませるだけの
アプリ作って起動したらやたらとフレームが落ちて重くなったことがあった。
そこで画像も読ませたりすると普通の速度に戻ったりとか。
原因は不明・・スマン
0108デフォルトの名無しさん
NGNG>約1分程で動作速度が元に戻る。(T△T;)
見事に自動切断(っていうのか?)の時間レスね
なんか解放し忘れてんのかね
0109デフォルトの名無しさん
NGNG0110デフォルトの名無しさん
NGNG0111デフォルトの名無しさん
NGNGメモリから読むなら、IMemAStream -> IAStream
でIIMAGEにストリーム設定すればいけんでない?
0112デフォルトの名無しさん
NGNG混同してはならない2つの技術の性格
http://www.mainichi-msn.co.jp/it/coverstory/news/20041018org00m300052000c.html
■■将来は「Java on BREW」か
0114デフォルトの名無しさん
NGNGところでカメラエンコードが失敗したときって何で判定すんの?
0115デフォルトの名無しさん
NGNGよくわからんけど、戻り値を調べるなりできたファイルをチェックするなりすればいいんでは?
0116デフォルトの名無しさん
NGNG[*]キーはテンキーの'*'
[#]キーはテンキーの'.'
[クリア]キーはBS
[電源]キーはESC
に対応してました。
0117デフォルトの名無しさん
NGNG再度HTTP接続すると、毎回Response code -1200とか返るんですが
これはエミュだから?実機でもそう?もしくはサーバー?
0118デフォルトの名無しさん
NGNG実機ではうまく動いているのにシミュレータでは
IFile_Writeの戻り値が0になってしまいます。
どぉすればいいですかね?
ちなみにIFILEMGR_GetLastErrorの戻り値はEFSFULLでした。
ファイルシステムに空きがないという事だったのですが、どういう意味でしょうか?
またこの場合、どのように対処すればいいのでしょうか?
0120デフォルトの名無しさん
NGNGBREWのゲームって出てなかったよな。
KDDIのブースでもマルチマッチングのPS2のゲームがあっただけだし…
0121118
NGNG有難うございました!無事解決しました。
0122デフォルトの名無しさん
NGNGCGI連携について教えてください。
IWebインターフェイスでCGIに連携する時
仕様書のサンプルのようにGetLineで取得すると、テキストデータ以外がとれません。
バイナリ-データを取得するにはどうすればよいのでしょうか?
GetLineでは取れないのでしょうか?
0123デフォルトの名無しさん
NGNGISOURCE_Read
WebRespInfoのpisMessageはISource
のインスタンスだべ
サンプルにあったような・・
0124デフォルトの名無しさん
NGNGまぁ動いてるからいいんかな・・・
0125122
NGNGCGIから
Print"abc";
なら取れるのに、
print pack("c", $status);
だと
とれません...
なにか必要な設定などありますか?
0126デフォルトの名無しさん
NGNGHTTPヘッダとボディのデータを一度モニタした方が
良いんでは?
0127123
NGNGごめん。ファイルリソース取得はそれでOK
だったけど、昔cgiでバイナリ出力したときは
漏れもエラーになってた気がする orz
BREW側のHTTPヘッダの解析でまずいことでもして
るのかね?
公式で聞いた方がいいかも
0128デフォルトの名無しさん
NGNGのサンプルプログラムなんですが、エミュレータで動作確認はできないんですかね?
やっぱりdllファイルがないとだめですよね。dllファイルを作るまでの知識がないもんで・・
0129デフォルトの名無しさん
NGNGアプリが無いとエミュレータで動作確認はできないねぇ・・・
そういえば、開発者で実戦バイブル買った人っているのかな?
0130デフォルトの名無しさん
NGNGサンプルをDLしたんですけど、エミュレータで確認したいんですよぉ。
・゜゜・(≧д≦)・゜゜・。エーン!!
DLしたファイルの中にはmif、bid、ソースファイルなどはあるのですが、dllだけないんです。
vc++でコンパイルしてdllを生成するまでの手順がわからないので、困っています。
sdk ver2.1を使っています。
どなたか教えてください。
0131デフォルトの名無しさん
NGNG自分もサンプルをエミュで動かしてみたいんですが、
ARMコンパイラーないし、Visual Studioもないし‥。
開発だけなら無料でできるって聞いたのに・・・。orz
0132デフォルトの名無しさん
NGNGdllの作り方はBREWと関係なしにVC++のマニュアルとか検索で調べるとか。
>>131
エミュレータで動かすならARMコンパイラは不要。
VisualStudioでなくてもVisualC++.NETでも可。Cのソースからdllが作成できればいい。
無料でできるのはBREW SDKのインストール。
0134デフォルトの名無しさん
NGNGちゃんと動きました!ありがとうございました!
0135デフォルトの名無しさん
NGNGエミュレータで、確認できたんですか?やっぱりdllを生成してですか?
0136131
NGNGFakeRPGのdllのサイズ400kbもありますけどね。
0137デフォルトの名無しさん
NGNGVC++を使ってdllの作成方法にエミュの起動方法まで載ってるのに、
喪前は一体何を聞きたいんだ?
0138デフォルトの名無しさん
NGNGGraphics2.setRenderMode()
みたいなことができる関数ってあるんでしょうか?
javaアプリの移植は、結構大変ですねぇ
0139デフォルトの名無しさん
NGNGググってもそれらしき情報が見当たりません・・
DLできる最大のデータ量が600KBみたいな事は書いてあったんですが。
0140デフォルトの名無しさん
NGNG600KBってのはCDMA 1X WINのみ。
それでQVGAの機種が300KBだっけ?
その他はどうだったか忘れた。
0141デフォルトの名無しさん
NGNG端末仕様書とかはKDDIのConfidential扱いだから
ググっても見つからないかも。
0142デフォルトの名無しさん
NGNGたぶん、本を買ったんじゃなくて、
ネットで公開されてるサンプルプログラムだけを落とした方だと思います。
自分もそうなので。
0143デフォルトの名無しさん
NGNGJAVAのPhase3の時はスプライトで半透明をつかってフェードしたので
同じことやろうと思って調べてんだけど・・・
ISpriteにもないみたい・・・
だれかヒントください
0144デフォルトの名無しさん
NGNG将来的にサポートが予定されているんだっけかな・・?
どうしてもやりたいなら、DIB直接弄るしかないんでないの?
0145デフォルトの名無しさん
NGNG0146デフォルトの名無しさん
NGNGグローバル変数が使えないから従来のCの様な分け方できないもんな
0147デフォルトの名無しさん
NGNGBREWはmodファイルもヒープに格納される。
だから、プログラムで使用するヒープ容量とmodサイズがヒープ容量を超えないようにする。
ちなみに、フレームワークでもヒープを消費するようで起動時点で端末によって使用済みヒープ容量が結構違う。
この辺は実機で確認していくしかないでしょ。
#端末のヒープ容量はCP登録していれば一部をQのデベロッパーサイトから見れる
#載っていないやつはメーカに問い合わせろとか書いてある
ファイルシステム上のサイズのことなら、BREW上での制限は特に無い。
容量使えるだけ使える。
ただ、キャリアのガイドラインがあるから>>140の言っているような制限がある。
KDDIの制限ならKDDIのサイトに詳しい資料があるね。ちょっと古いけど。
>>146
普通のCでもグローバル変数ばしばし使っているようじゃスパゲッティーになるわけだが。
BREWの場合はIApplet構造体をグローバルのように使うのが常道。
#定期的にカーネルへ処理を戻さないといけないから恒常的にデータを保存できるのはここだけ
漏れはC++のフレームワーク作っちゃって、メインクラスのメンバでデータ保存してるけどね。
0149デフォルトの名無しさん
NGNG>FakeRPGのdllのサイズ400kbもありますけどね。
工エェ!!!
0150143
NGNG0151デフォルトの名無しさん
NGNGこれでよし
0152デフォルトの名無しさん
NGNG0153デフォルトの名無しさん
NGNG何も考えずに突っ込んでそのままビルドしたらそうなりました。
0154デフォルトの名無しさん
NGNG実機用には別にコンパイルしたモジュールを使う。それはdllより遙かに小さくなる。
0155デフォルトの名無しさん
NGNG実機のエミュ出て欲しいですね。
出ても金取りそうだけど・・。
0156デフォルトの名無しさん
NGNG>>155
とりあえずCP契約すれば、エミュレータ用のデバイスファイルは一通り手に入る。
それが嫌ならエミュレータについてるデバイスコンフィギュレータで作るって手もあったと思った。
0157デフォルトの名無しさん
NGNG無理。
つか、作ったとしても全く意味ないし。
0158デフォルトの名無しさん
NGNGサーバのメンテナンスで打ち切られたようだ。 sdjkgsd@ふじこs
0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNGAEEMediaData.pDataをFREEで開放しようとしたら
duplicate free 〜〜〜 と メモリを二重開放していると怒られました。
やり方は
BREWJAPAN.comのTechnicalTipsに載ってた方法を参考にしたんですが・・・
かといって開放しないとメモリリークになるし、もうどうしたらいいかわかりません(´Д⊂、
0161デフォルトの名無しさん
NGNGそのTipsのに載ってなかったっけ?バージョン書いたほうがいいよ
0162160
NGNG0163デフォルトの名無しさん
NGNG俺はお前を知っている。
0164デフォルトの名無しさん
NGNG俺が言いたいのはそれの事じゃないです。
とりあえず読込・MediaDataのセット・開放の部分のソース晒してみます。
/*アプレット構造体 */
typedef struct _App{
AEEApplet a;
IMedia* media[3];
AEEMediaData mdata[25];
}App
/* IMediaインターフェースの作成 */
for(j = 0; j < 3; j++){
i = ISHELL_CreateInstance(shell, AEECLSID_MEDIAPHR, (void*)&app->media[j]);
if(app->media == NULL){
DBGPRINTF("failed");
}
}
/* リソースファイルからのspfファイルの読込 */
for(k = 0; k < 25; k++){
ISHELL_LoadResDataEx(app->a.m_pIShell, RES_FILE, SE_1 + k, RESTYPE_IMAGE, (void*)-1, &dwSize);
buf = ISHELL_LoadResData(app->a.m_pIShell, RES_FILE, SE_1 + k, RESTYPE_IMAGE);
offset = (uint32)buf[0];
dwSize = dwSize - offset;
app->mdata[k].clsData = MMD_BUFFER;
app->mdata[k].pData = buf + offset;
app->mdata[k].dwSize = dwSize;
}
0165160
NGNG再生する音によってセットするデータの数が異なります。 */
for(i = 0; i < app->soundElements[no]; i++){
IMEDIA_SetMediaData(app->media[i], &app->mdata[sindex + i]);
IMEDIA_RegisterNotify(app->media[i], (PFNMEDIANOTIFY)MediaNotify, app);
}
for(i = 0; i < app->soundElements[no]; i++){
int ret;
ret = IMEDIA_Play(app->media[i]);
if(ret == SUCCESS){
DBGPRINTF("########### PLAY SUCCESS ##############");
}
else{
DBGPRINTF("########### PLAY ERROR ##############");
}
}
/* 開放 */
for(i = 0; i < 3; i++){
if(app->media[i] != NULL){
IMEDIA_Stop(app->media[i]);
IMEDIA_Release(app->media[i]);
}
}
for(i = 0; i < 25; i++){
if(app->mdata[i].pData != NULL){
FREE(app->mdata[i].pData); /*ここでDupricate Freeエラーが発生*/
app->mdata[i].pData = NULL;
}
}
0166160
NGNGISHELL_LoadResDataEx(app->a.m_pIShell, RES_FILE, SE_1 + k, RESTYPE_IMAGE, (void*)-1, &dwSize);や
buf = ISHELL_LoadResData(app->a.m_pIShell, RES_FILE, SE_1 + k, RESTYPE_IMAGE);で
intからunsigned shortに変換しました〜〜のwarningが出ます。kはuint16にしてあるので、型は間違っては無いと思うのですが。
定数を足すとダメなのかな?エミュでは問題なく動きますが、ARMには通りそうにないんで直したいんですが、どうしたらいいでしょうか?
0167デフォルトの名無しさん
NGNG俺はFREEでなく
ISHELL_FreeResDataを使っている
>>166
型はint16じゃないの?
0169デフォルトの名無しさん
NGNGARMコンパイラ使用上の注意として
条件文で変数を指定すんな!って書いてあるんだが、
もしかして条件式に変数を書いちゃいけないんだろうか?
0170中の人
NGNGとりあえず、bufのポインタ自体を保持しておかないと正しく開放できないですね。
duplicate freeって、FREE()呼んだ時点じゃなく、アプリ終了時とかに表示されませんか?
確保したのはbuf(サイズはdwSize)なのに、mdata.pDataはbuf+offset(サイズはdwSize-offset)を
指しているので、FREE(pData)を呼んでもbuf自体は開放されてないです。
なので、「アプリ終了時に未開放のメモリが残る→実行環境がbufを開放する→bufとpDataの
重複する領域が二重開放になる」という現象が発生します。
あと、ISHELL_FreeResDataを使うのが正しいです。
(わかりにくい説明ですみません)
結論は「pDataじゃなくbufに対してISHELL_FreeResData()使ってください」
>>169
ARMのコンパイラは、
if(nRet = IMENUCTL_HandleEvent(pme->pIMenu, eCode, wParam, dwParam))
{
/* MenuCtlがイベントを処理したっぽい */
return TRUE;
}
みたいなコードを書くと、「代入の結果を条件判断に使ってるよ?」と警告をはきます。
(代入じゃなく比較したかったんじゃないの? と言いたいらしい)
warningが溜まりすぎると「too many warning」とその時点でエラー扱いに
なってしまう(コンパイルできない)ので、条件文の中で代入を使わないほうが良いです。
こう書いたからといって危険なバイナリが出来るわけではないですから、
コンパイルさえ通ればこう書いても問題ありません。
0171中の人
NGNG二重開放エラーになるんですね
0172デフォルトの名無しさん
NGNG単純に解放処理の順番がまずいだけじゃないの?
app->media[i]って構造体を解放してから
そのメンバapp->mdata[i].pDataを解放してるようだが。
逆にしてみたらどうか。
/* 開放 */
for(i = 0; i < 25; i++){
if(app->mdata[i].pData != NULL){
FREE(app->mdata[i].pData); /*ここでDupricate Freeエラーが発生*/
app->mdata[i].pData = NULL;
}
}
for(i = 0; i < 3; i++){
if(app->media[i] != NULL){
IMEDIA_Stop(app->media[i]);
IMEDIA_Release(app->media[i]);
}
}
0173デフォルトの名無しさん
NGNGリソースのIDを計算で与えてることがそもそも間違い。
'SE_1 + k'と書いてるところの引数はリソースのIDを指定するものだが、
リソースのIDはあくまでラベル的に扱い、数値として見てはいけない。
計算後のIDがリソースファイルに存在する保障はないし、リソースファイル
の作り方次第ではIDが連番で割り振られるわけでもないから。
何が何でもIDを計算で渡すというなら明示的にキャストすれば
とりあえずコンパイルは通る。
0175デフォルトの名無しさん
NGNGconst int16 idid[3] = {ID_AAA,ID_BBB,ID_CCC};
とかやってる
>>164でいうと
ISHELL_LoadResDataEx(app->a.m_pIShell, RES_FILE,idid[k], RESTYPE_IMAGE, (void*)-1, &dwSize);
とゆーかんじだ。参考にならなかったらごめんな!
0176160
NGNGありがとうございました。大変参考になりました!
とはいっても試すのは週明けになるのですが(汗
C言語は多少勉強した程度で、Java→BREWの移植をしてるんですが、
なかなか上手く進まなくて大変ですね。
最初の最速の見積もりの半分くらいしか行きやしない(´Д⊂、
0177デフォルトの名無しさん
NGNGbyte *a;
a = MALLOC(1024*10241024*1204*1024);
0178デフォルトの名無しさん
NGNG0179デフォルトの名無しさん
NGNGwark(app, >>177);
}
0180デフォルトの名無しさん
NGNG*>>177=0;
0181デフォルトの名無しさん
NGNG× deth
○ death
0182デフォルトの名無しさん
NGNGX wark
○ work
0184デフォルトの名無しさん
NGNG>>180はガッするべきですか?
0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNGstatic const AECHAR gaxtu[] = {'ガ','ッ','\0'};
0187デフォルトの名無しさん
NGNGBREW機で、扱える画像ファイルの解像度制限ってある?
JAVA機だと、VRAMの都合最大320*320ピクセル超えると
止まる機種があるらしいって話を聞いたんだが…
全部VRAMなんて使ってなさそうだから問題無いような気もするんだが…
KDDI相手に質問したい場合、キャリア通さないといけないんで面倒なのよ(ノД`)
0188デフォルトの名無しさん
NGNGいや知らんけど
0189187
NGNGパーツの画像をひとつにまとめるか、複数ファイルにするかってトコで、
サイズの制限があるなら画像を分割しないとね、って話になっててさ。
ファイルが分割されるとソース変更が必要だし、リソースサイズも増えるから
できればファイルを結合できれば助かるんだが。
質問を変えて。
最大何ピクセルくらいの画像を実機に読み込ませた事有りますか?
一応漏れは480×36のBMPをIDISPLAY_CreateDIBitmap()で生成させて、
動作するまでは確認した事があるんだが…
多分メインメモリに展開してコピペしてるだけだろうからVRAMの制限はなく、
>>188と同じ事思っているんだが、
『思う』ってだけじゃ誰も納得してくれねーし
手元にS5505SAしかねーしOrz
0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNG画像と言ってもBMPとかPNGとかで変わってくるわけで。
さらにIImage/IBitmapのどっちを使うとかそのへんも。
ちなみにIImageのデコードはヒープ使うと明言されてるし、COMVERTBMPもヒープを消費する
のは確認しているのでおそらくヒープが足りてれば制限はないとおもうけど。
漏れはQVGAフルスクリーンサイズのBMP・PNG・JPEGをリソースから読んで描画するとこまではやったことある。
#端末はKDDIのQVGA端末数機種
でかい画像をそのまま描画するっていうとまた話は変わってくるんだろうけどね。
#描画時には制限があるかもしれない
0192デフォルトの名無しさん
NGNGstatic void mytest(MyApplet *ap) {
DBGPRINTF("mytest");
IShell *sh = ap->a.m_pIShell;
}
error: C2275:'IShell' : typedef識別子に、クラス メンバ アクセス演算子(->)を使用しました。
aee.h(294): 'IShell'の宣言を確認してください。
だけど、
IShell *sh = ap->a.m_pIShell;
DBGPRINTF("mytest");
の順に変更するとエラーでない。
なぜでしょうか?
ちなみにincludeしてるのは、AEEModGen.h AEEAppGen.h AEEShell.h AEEFile.h AEENet.h myapp.bid AEEStdLib.h です。
0193デフォルトの名無しさん
NGNGC言語ではローカル変数は最初にしか宣言できないぞー。
0195192
NGNGすっかりC++が使えるものと勘違いしてました。
0196デフォルトの名無しさん
NGNG0198196
NGNGARMコンパイラは上司に触らせてもらってないから何とも。
GCCで十分というウワサ。
0199187
NGNG基本はpngをIImageで開いてる。
IBitmapもIImageも、DIBに展開してメモリに確保している点は共通処理だったと思うから、
どっち使っても同じじゃないかなーと思ってるんだが。
ひとまず画面サイズはokね、サンクス!
それにしてもpngの展開遅いね…
開きっぱなしで使うもんだから、メモリの管理面倒でつよ
0200デフォルトの名無しさん
NGNGのコメントだと
//表
でエラーになるのがムカツク
/*表*/
ならOKだったような気がする・・・
>>199
png遅い?
おいらはとくに困ってないけど、まあ作るものによって違うんかなあ
0201デフォルトの名無しさん
NGNGすごいデカイとはいえ制限がある機種がある。
png展開が遅いのがダメってなら自力で圧縮するしか無いかな。
//表[改行]が行末\結合でダメなら、幸いにしてmakefile経由なんだから
他のコンパイラとかでプリプロセスだけ通したら?
//コメントのスタイルはC99から標準だっけか。
かといってARMコンパイラはC99でもなんでもないけど。
gcc使うとコードがでかくなるって話を以前ココで聞いたけど、
--ffunction-sections とか --gc-sections とか使ってもダメなの?
そもそも使えるのかな
0202デフォルトの名無しさん
NGNG>--ffunction-sections とか --gc-sections とか使ってもダメなの?
>そもそも使えるのかな
減らんです。
有効なら検証提出もGCCで行くんだが。
0203デフォルトの名無しさん
NGNGJPEG を使っていると png は一瞬に感じてしまふ。
しかし、S の端末は JPEG 展開にメモリ消費しすぎだな。
0204デフォルトの名無しさん
NGNGところで、STLが使いたいんでSTLportをBREWに移植しようと思ってるんだけど、ソース改変の前にmakefile書くのがマンドクサ。
ttp://www.stlport.org/
0205デフォルトの名無しさん
NGNG後で後悔しないように気を付けれ
0206204
NGNGSTLが使いたいのに。むしろSTL使わなければとりあえず既存のコードが問題なく動く。
----------------------------------------
C:\PROGRA~1\BREWAD~1\common\bin\BREWelf2mod.exe my_app.elf my_app.mod
Unknown section name ".gcc_except_table]:"
NMAKE : fatal error U1077: 'C:\PROGRA~1\BREWAD~1\common\bin\BREWelf2mod.exe' : リターン コード '0x1'
Stop.
ツールは次のコードを返しました: 0
----------------------------------------
0207204
NGNGttp://brewforums.qualcomm.com/showthread.php?t=6362
0208デフォルトの名無しさん
NGNGSDK ACCESS ERROR言われる。゜(゚´Д`゚)゜。
Release NoteやらUpdateは落とせるのに何故…
0209デフォルトの名無しさん
NGNGブラウザの設定じゃないの? 同じような質問が過去レスにたくさんあったよ
0211デフォルトの名無しさん
NGNG0212ロロ
NGNGだけどテンプレートまわりで制限があるよ。
0213デフォルトの名無しさん
NGNGまとめページ見逃してました orz
過去レスのリンクからオフィシャルフォーラムで記事を見つけ、無事DLできました。
ありがとうございました
0214デフォルトの名無しさん
NGNGお疲れさまです
0215デフォルトの名無しさん
NGNGソフトキーを描画するなって書いてあったんだけど、
自分で画像用意してイベントはAVK_SOFT1とかでやれって事?
折角用意されてるのに、おかしくないか?
0216デフォルトの名無しさん
NGNG0217デフォルトの名無しさん
NGNG制限に縛られずに適当に作った方が楽でないかい?
0218デフォルトの名無しさん
NGNG3Dモデルって何のファイル使えばいいの?
拡張子教えてくれろ・・・。
0219デフォルトの名無しさん
NGNG0220218
NGNG下記のプラグインとかはいれる必要ないんですかね?
ttps://www.mascotcapsule.com/toolkit/kddi/tool.html
・・・モデル描画はAPIとかありましたっけ?
もしかして・・・、座標データを使って3Dモデル描画しましょうw
って感じですか?
0221デフォルトの名無しさん
NGNGグローバル変数のかわりに使おうかとしてるんだけど、
これってサスペンドから復帰したときに初期化されちゃうよね?
藻前らサスペンド時にdbに書き込んだり
ファイルに保存したりとかやってるの?
0222204
NGNGEVT_APP_STOPの時に解放してる。
まぁ、解放できそうな物はSUSPEND時に解放してRESUMEで復元してるけど。
0224221
NGNGSUSPENDをhookしてないことに気がついた。
たぶんTRUEかえせばOKなんだろう。
0225デフォルトの名無しさん
NGNGSUSPENDに対してFALSE返すと、強制的にアプリを終了させられてる。
TRUEを返せば、大丈夫。
ただ、全てのタイマーを終了させることと、
一部のオブジェクトに関して解放を行い、
RESUME時にそれらを復帰させないと駄目。
0226デフォルトの名無しさん
NGNGご指摘のとおりですた
0227デフォルトの名無しさん
NGNGC++使うならarmcppでコンパイルすればOK。
C++構文使いたいだけならmakefileのCCを直すだけで良いだろう。
クラスとか普通に使うとすると自動生成makefileを手直ししないといけなく
なってくるけどね。
ただ、エミュ用にコンパイルするときVCのデフォルト設定だと
.cはC++としてみてくれないから.cppとかに変えるかプロジェクト設定弄ら
ないとならんけど。
0228デフォルトの名無しさん
NGNG>Warning: Q0115W: Deprecated command syntax will not be supported in future versions. Use -output to specify the output file.
>Finished: 0 information, 1 warning and 0 error messages.
今後サポートされそうにない命令使っているってことなの?
みなさん、どうしてるの?
0229デフォルトの名無しさん
NGNGどこだったか忘れたけど、それは無視して良いって書いてあったはず。
0230デフォルトの名無しさん
NGNG英語ばかりで悩んでます。ありがとう。
0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNGごめん。
EZアプリ(BREW)開発ツールガイドver1.5.pdf を確認したら
ARMコンパイル時のWarningで4つくらい例が出てて、
そのWaningだけ「必ずしも無視できるわけではない」って書いてあった。
スマン。
0233デフォルトの名無しさん
NGNG0234デフォルトの名無しさん
NGNG過去スレに答えがモロあったような…
makefileのHEXTOOLのパラメータを書き換えた
0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNGでも、ブルーが一般的になりそうだね。
ここじゃブリューで定着しちゃったけど。
0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNG0239デフォルトの名無しさん
NGNG飲み物つながりでJavaへの対決姿勢を示したんでは。
見てみたら「醸造する」の他に「(お茶を)入れる」って意味もあるのな。 > brew
0240デフォルトの名無しさん
NGNGまったくだ。本当にそのとおりだ。頼むからみんな読んでくれ。
あとFAQも。
pdfだしその文書そのものも、もっっっのすごい読みづらいのはわかる。
けど、知らないとすごい困ることが多いんだ。
お薦めするというより必須。いやもうホントに…
0241デフォルトの名無しさん
NGNGどこにあるの?
0242デフォルトの名無しさん
NGNGここにあるやつかな
0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNG全然従ってないので唖然としたことある。
0245デフォルトの名無しさん
NGNG>pdfだしその文書そのものも、もっっっのすごい読みづらいのはわかる。
になるんだけどね。
300ページ近いくせにしおりもリンクもないもんだから(一部あるけど)、
えっちらおっちらスクロールして探さないといけない
やる気あるのか?KDDI
0246デフォルトの名無しさん
NGNG…と言いたいが確かにだるいな
だが検証を通すのに必要なことがあちこちに書かれてあるので
チームリーダーか全体仕様を考えたりするエロい人に一度は読ませるべき
〜〜はしてはいけませんとか使ってはいけませんとかこうしなさいとか書かれてんだもんな…_| ̄|○オカゲデ キョウモ テツヤデス
0247デフォルトの名無しさん
NGNG機種一覧表(性能、フォントサイズ、使用可能サウンドフォーマット、etc.)とか無いのかなぁ。
まったく、ふしだらな。
0248204
NGNG結局のところ、libstdc++.a ライブラリか、ヘッダファイルの中のコードで malloc() free() を使ってるのが良くないみたいだ。
っつー事はヘッダ書き換えて(operator new & delete)ダメだったらライブラリ自体再コンパイルだな。
すげーマンドクサいが、stlportを移植するよりはよっぽど楽そうだ。
あー、早くBREWでSTL使いたい。
0249デフォルトの名無しさん
NGNG画面の下に自分で文字書いてたりしてます?絵とか。
0250デフォルトの名無しさん
NGNG自分で四角描いて文字を描画してるだけ。
0251デフォルトの名無しさん
NGNG俺もそーしてる。その方が自由に描けるし。
っつーか、BREWで用意されてるコントロール系は何かと使いづらいね。
がんばって似たようなの作ろうかな。
0252デフォルトの名無しさん
NGNG自分で画像作ってる。けどデキがいまいち・・・。
本物のソフトキーと同じ画像ってどっかにないもんかね?
>>251
激しくキボン。
0253デフォルトの名無しさん
NGNG構想段階でもう半年〜一年ぐらいはっきりと仕様を固めていれば
今のように"とても"作りにくく移植性の低いAPIにはならなかったはず
それともQ社の技術力が低いのか
どちらにせよ全体的な仕様統合と十分なサポートがなされないなら
該当諸氏はQ社に対する評価を改めるべきである
と書かれてた
0254デフォルトの名無しさん
NGNG癖が無いのはうれしいけどね。
C系統だからプリプロセッサ使えるし。
しかし、何でオブジェクト指向なのにCでやろうと思ったのかが激しく疑問だが。
最初からC++にすればあんな使いにくいAPIにはならなかっただろうに。
0255デフォルトの名無しさん
NGNGその後一時的に処理がやたらと重くなるって不具合ない?
実機で再現しないんで放置してよいものかどうか…
>>252
詳しくも何も、好き勝手自由に作るだけじゃね?
使いやすいと思えるのは結局作った本人だけな罠w
0256デフォルトの名無しさん
NGNG俺も欲しいよ。
KDDI用意しろやああああああ
機種ごとの資料みて自分でまとめるのは面倒なんじゃあああああ
0257デフォルトの名無しさん
NGNGそうそう、面倒だよな〜
しかも端末仕様書にIMenuControlインタフェース云々のくだりがあるもんだから、
勝手に使えるもんだと解釈されて、その前提で会議進んでるしw
てか標準フォントサイズのバラバラ加減もどーにかして欲しいもんだがナー
0258249
NGNGもう一つ質問なのですが、終了キー以外にも終了ボタンが必要とか
検証項目にあるのですが。。
ISHELL_CloseApplet()をいつでも呼べるようにすることですよね?
ソフトキーにこれと、音楽on/offを当てたら終わりですよねぇ。
ISHELL_CloseApplet()は必ず必要?
0259デフォルトの名無しさん
NGNG俺はトップメニューに「終了」項目つけて、それでCloseAppletするようにしてる。
全部の画面から終了できるようにする必要はないんじゃないかな?
まぁまだ検証出してないからわからんが・・・。
0260259
NGNGCloseAppletで終了できるようにしろっていうのは、
確か終話ボタンで終了すると、他のサスペンドしてる
アプリも終了しちゃうからだったと思う。
そういう意味ならどっか1箇所でCloseApplet呼び出せるようにすればいいかと思われ。
0261デフォルトの名無しさん
NGNGどこでも終了できるようにしなくてもOKだよ。
うちも259と同じようにトップとかに終了をつけてるだけだし。
0262デフォルトの名無しさん
NGNGJavaでもPPP.exeなんかを使えば、プリプロセッサもどきは可能。
探せば、他にもありそうだけど(#define 関数が使えるとか)。
0264デフォルトの名無しさん
NGNGhttp://www.au.kddi.com/ezfactory/tec/spec/4_5.html
0265デフォルトの名無しさん
NGNGまあそうなんだが(Cコンパイラでプリプロセッサだけかけるって手もあるしね)コンパイラ
自体が機能を持ってないから他人/他社と連携するときに色々面倒だ。
スレ違いなんでこの辺にしておくが、C++派の漏れとしては、まあとりあえずSymbianかbrewに
がんばってほしいところ。
0266デフォルトの名無しさん
NGNG0267デフォルトの名無しさん
NGNG質問が御座います。
モード選択でモードA・Bの二つを
上下キーで選択する処理を行いたいのですが、
「A1402S」のジョグダイアルにて
キーが取得出来ない様なのです。
(端末が手元に無い為、動作確認出来ません;;
ジョグダイアルの上下キー取得は
AVK_UP・AVK_DOWNで問題無かったでしょうか?
また、タイマー速度が速すぎると
キーを取りこぼしたりはするのでしょうか?
参考にタイマー速度を幾つに設定しているか等
教えていただけると幸いです。
因みに、現在のタイマー速度は80_秒に設定しています。
何卒、よろしくお願い致します。
0268デフォルトの名無しさん
NGNGAVK_UPとDOWNでおk。
ジョグダイアルって一瞬でPRESSとRELEASEのイベントが来るからそのせいじゃないのかな?
0269デフォルトの名無しさん
NGNGラボ行って試せ。がんばれ
BREW ディベロッパー ラボ 無料
http://www.brewjapan.com/lab/index.html
0270デフォルトの名無しさん
NGNGここの住人が結集してフレームワーク作るってことか?
0271デフォルトの名無しさん
NGNGタイマーって何ぞや?
普通にキーイベントを取得するだけなら、タイマーとか必要ない筈だが。
アプリのHandleEventで、eCode==EVT_KEY、wParam==AVK_UPとかを検出すれば出るはず。
そこにブレークポイントかDBGPRINTF置いて、処理がそこに行ってないようであれば、
キーイベント検出の前に何かのコントロールのハンドルイベントでTRUEを返してる可能性有り。
ちなみに俺はW21Sなんだが、ジョグダイヤルでもちゃんと検出できてるぞぃ。
0272デフォルトの名無しさん
NGNGタイマーって何ぞや?
普通にキーイベントを取得するだけなら、タイマーとか必要ない筈だが。
アプリのHandleEventで、eCode==EVT_KEY、wParam==AVK_UPとかを検出すれば出るはず。
そこにブレークポイントかDBGPRINTF置いて、処理がそこに行ってないようであれば、
キーイベント検出の前に何かのコントロールのハンドルイベントでTRUEを返してる可能性有り。
ちなみに俺はW21Sなんだが、ジョグダイヤルでもちゃんと検出できてるぞぃ。
0273デフォルトの名無しさん
NGNG俺の方は70msでちゃんとキーイベントが来てたからタイマーの間隔は大丈夫だと思う。
>>271
タイマーコールバックを短い間隔で回すとキーイベントが来ないことがあるってなかったっけ?
0275267
NGNG>AVK_UPとDOWNでおk。
それだけ分かっただけで助かります。
ありがとうございました。
原因は別の所に…;
>>269
>ラボ行って試せ。がんばれ
それが一番なんですが、何せここは北海道…
もうすぐ雪が降りますわ…_| ̄|○
>>271-272
>タイマーって何ぞや?
製作中のアプリがゲームなので、
ゲームループ回すのにタイマーを使用してるんですよ。
んで、ループの頭で押しっぱなしやらを判定してます。
>ハンドルイベントでTRUEを返してる可能性有り。
他機種の上下キーによる動作は大丈夫なんで、
問題は無いかと…。
アドバイスからすると取得は問題なさそうなので、
違う箇所を検証してみます。
また何かあれば宜しくお願い致します。
0276デフォルトの名無しさん
NGNGあー、たぶんキーを押したとかのフラグ処理が悪い。
RELEASEのときに押したっていう情報は残らないで
そのキーが押されていない状態になるっていう処理になってないか?
0277デフォルトの名無しさん
NGNGBrewでゲームを開発しているのですが
「A5503SA」にてIWebで通信後、ゲームのスピードが重くなる
現象がでます。
他の機種(A5501T等)では、ゲームスピードが変わることはないので
リリースのミスなどはないと思うのですが
同じような現象で対応策などありましたら情報を宜しくお願いします。
0278デフォルトの名無しさん
NGNG端末仕様書を見れ
どのキーがどのイベントに対応してるか載ってますよ
あと時間を窮する質問は掲示板ではしない法がよいかと思われ
0279デフォルトの名無しさん
NGNGBREWはキー押しっぱなしだとEVT_KEYイベントが断続的に発生するから
キー押されたらフラグ上げる
→タイマーイベントでフラグをチェック+処理
→フラグをクリア
→タイマーセット
でいいと思うが。
わざわざRELEASE拾う必要なくね?
0280267
NGNG>RELEASEのときに押したっていう情報は残らないで
>そのキーが押されていない状態になるっていう処理になってないか?
あー、ビンゴです…;
要は
EVT_KEY_PRESS 押したキーフラグ取得
EVT_KEY_RELEASE 放したキーフラグ開放
だと、
ゲームループ内で押しっぱなし等の確認処理を行う前に
フラグが消えている _| ̄|○|||
ってことでOKですか?
0281デフォルトの名無しさん
NGNGタイマーにかからないタイミングでキー連打したら、
全く動かないゲーム作ってるって事かw
0282デフォルトの名無しさん
NGNGそゆことだな。
0283デフォルトの名無しさん
NGNG欲しいなそれ。
むしろ作りかけの物をとりあえず公開して、
ああしようこうしような風に仕上げていっても良いかも試練。
へっぽこなモンだったら漏れも公開できますが。w
0284デフォルトの名無しさん
NGNG0285デフォルトの名無しさん
NGNG皆でやっちゃいますか?
0286デフォルトの名無しさん
NGNGSTLPortの移植も…
0287デフォルトの名無しさん
NGNG0288デフォルトの名無しさん
NGNG0289デフォルトの名無しさん
NGNGSTLPortのライブラリをリンクすると結構でかくなりそうな気がするんですが
0290デフォルトの名無しさん
NGNGmod,sig,bar等とアプリが作成するファイル
全部含めて200KB(QVGA対応機は300KB)。
0291デフォルトの名無しさん
NGNGストレージも、シェアも・・・
関係するファイルサイズ全て含めて200,300KBですよね。
0292デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNGサービスガイドに載ってる注意書きから抜粋。参考までに。
※ BREW2.1 対応機種では、50ms 程度の短いタイマ間隔でコールバックを繰り返すとキープレスイベ
ントが破棄される場合があります。
タイマ間隔を長くするなどのアプリ側でのチューニングが必要となりますのでご注意ください。
0294デフォルトの名無しさん
NGNGうっかり古いソースを上書きしてもうた
0295デフォルトの名無しさん
NGNG0296デフォルトの名無しさん
NGNGっというか、仕事でやってるならバックアップぐらい
とっとけよ
0297デフォルトの名無しさん
NGNG30フレーム/秒は不可能というわけか。
0298デフォルトの名無しさん
NGNGちなみにそう言うときはファイル名は backup-yyyymmdd.zip みたいにしてある程度世代管理してもファイル名がかぶらないようにすると良い。
0299デフォルトの名無しさん
NGNG可能だと思う。処理しきれない速度でイベントが到達すると、
many callbacks pending とか何かでイベントが破棄されるだけ。
だから、一回の処理が10〜30ms程度で完了するのであれば、30fpsは実現可能。
>>293の言ってるキープレスが破棄されるってのは、イベント処理待ちが多すぎて、
せっかく届いたキーイベントが無視されるってわけ。
だからタイマー間隔が長くても、一回の処理が遅すぎると結局キーイベントを取りこぼす可能性大。
0300デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNG「秒間30フレーム」は可能かもしれないけど、
タイマー使うメッセージループて時点で「1/30秒で回ってくるメインループ」は
不可能な気がするんだが。処理が追いつく前提でも。
0302デフォルトの名無しさん
NGNGエンドキー=終話キーで、多分あってると思う。
>>301
確かに。出来たとしても、なんちゃって30fpsだな。w
0303デフォルトの名無しさん
NGNGSmallフォントを使用する方法はあるのでしょうか?
enumで定義されてる
AEE_FONT_〜
らには、それらしきものはないので、無理かと思いましたが、
どこかでエクストラスモールフォントを使用する方法を
見かけたような気がして……。
0304デフォルトの名無しさん
NGNGFAQだったはず
0305デフォルトの名無しさん
NGNG開発支援サイトのFAQと端末仕様のpdfを参照すれ
どれかのフォントと排他なんで使いづらいかもよ
0306デフォルトの名無しさん
NGNG0307デフォルトの名無しさん
NGNGありがとうございます!助かりました。
既存フォントと差し替える形で使うのですね。
>>306
すみません、目視&検索で探しては見たのですが、
読み落としてしまったみたいです_| ̄|...○
0308デフォルトの名無しさん
NGNG検索や目視でひっかからないことがおおい。
「どこかにそんなこと書いてあったなぁ」というのだけが頼り。
0309デフォルトの名無しさん
NGNGマルチタスクの環境(BREWもカーネルがアプリの実行をスケジュールしてるから
これにあたるよね)でなんちゃってじゃないFPS管理なんてできないでしょ。
なんちゃってでも、処理速度が追いついてれば概ねその通りに動くんだから普通は30fpsといえると思うが。
#まあ実際現状の端末では30fpsでまともな処理は難しいと思うが
ちなみにBREWのコールバックって種類が多すぎ&統一性があまり無いから困るね。
さらにタイマーとか優先度が高いコールバックがあると、imageのデコード終了とかのコールバックは後回しになっちゃったりするし。
いっそのことVxWorksでも入れてくれると良かったんだが。
0310デフォルトの名無しさん
NGNGみなさまどういう実装してます?
これ後から気づいて。。
いま
char *a() {
return (char *)MALLOC(128);
}
のような関数あるんですが。。どうしよう。。
0311デフォルトの名無しさん
NGNGhttp://www.itmedia.co.jp/mobile/articles/0411/16/news043.html
世界初、日立ソフトがクアルコムのBREWR3.1対応
携帯電話向けGUI開発支援ツールを販売
〜携帯電話端末への組込み型BREWアプリケーション開発の生産性を飛躍的に向上〜
http://www.hitachi-sk.co.jp/News/News287.html
キタ━━━━(゚∀゚)━━━━!!!!
0312デフォルトの名無しさん
NGNGhttp://hitachisoft.jp/anywarp/
0314デフォルトの名無しさん
NGNGぬるぽだったら終了させればいいんじゃねーの?
0315デフォルトの名無しさん
NGNG> 価格は年間使用権契約で、1ライセンスあたり100万円弱を想定している。
> キャリアや端末メーカーから、アプリケーション開発やコンサルティングを
> 受託し、初年度5億円の売上げを目指す。
えーと...。
0316デフォルトの名無しさん
NGNGガッ
0317デフォルトの名無しさん
NGNG普通に動けばいいってもんじゃない?
0318デフォルトの名無しさん
NGNG0319315=316
NGNG0320310
NGNGメッセージ出してうんぬんかんぬん。。。だとかなり直さないといけないので
どうしたものかと思ったのですが〜
やはり地道に書くしかないみたいですねー
0321315=316
NGNG今度もガッ
よく分かりませんがエラー発生時にメッセージ出さずにいきなり終了はNGですよ。
メッセージ出してなんかボタン押されたら糸冬了ってシーケンスにしとかないと。
>>317
そりゃもう。
0322デフォルトの名無しさん
NGNGエラー検出して異常終了(再開)できる出口用意しといた方がいいと思う。
つかそれが普通だと思う。
ぬるぽ検出したら、上の出口につなげるだけ。
MALLOC以外にも、動的にメモリ確保する箇所は山ほどできるぞ。
つーかpngなりjpeg使う時点でヒープ使うし
0323310
NGNGとりあえず終了用のclassを改造してみます。
ありがとうございまっした
0324デフォルトの名無しさん
NGNG(´-`).。oO(終了メッセージ出すとこでぬるぽしたらどうするんだろう)
0325デフォルトの名無しさん
NGNG終了用ダイアログ(IDialogでは断じてない)は最初に用意しておく、が正解。
最初にそれすら確保できないようなケースは知らん。
0326310
NGNGa = MALLOC(1);
b = MALLOC(2);
c = MALLOC(3);
例えばこんなコードでcでエラーが起きた場合、
aとbもFREEしないといけないんですよね。。。
めんどーひ
0327デフォルトの名無しさん
NGNG固定っぽいけど、それは機種依存になるのかな?
今後、それは変わらないのでしょうか?
だれか教えてください ペコリ
0328327
NGNG可変長フォントなんてのがあり得るのか、知りたいのです。
0329デフォルトの名無しさん
NGNGまた、LARGEは何ドット、NORMALは何ドット、という規定値もない。
具体的なドット数は機種によってバラバラなので端末仕様書で確認する。
0331デフォルトの名無しさん
NGNG0332デフォルトの名無しさん
NGNG>エンドキー=終話キーで、多分あってると思う。
そうですよねthx。
でも検証のPDFのどっかのページに終話キーと
エンドキーが同じページに書いてあるんでつよ
検証の方法も検証してくださいこのバグヤロー
0333デフォルトの名無しさん
NGNGMALLOCを生で使うつもりなのか?
やめておくべきじゃないかと。
0334デフォルトの名無しさん
NGNGゴムつけないとダメ?
0335デフォルトの名無しさん
NGNG使わないか?
0336デフォルトの名無しさん
NGNGええ。何か(変な中断とか)あった時、(1つ1つ解放する)セキニンとるのは鬱陶しいしー
0337310
NGNG0338デフォルトの名無しさん
NGNGtypedef struct _MyData {
char* hogedata;
char* foodata;
...
} MyDatal;
アロケートした領域は↑みたいな奴(開始時は0で初期化)に覚えておいて、
ヤバイときにまとめて開放する関数を用意しておくようにするだけ。
実行途中で細かくアロケートが必要な場合は、
最初にまとめてMALLOCした中から自力で切り出すのも大アリ。
(実行途中で「メモリが足りません」なんてかっこ悪杉)
0339デフォルトの名無しさん
NGNG0340デフォルトの名無しさん
NGNG大半が使えないキーコード一覧見ると、「AVK_END」と「AVK_POWER」と別にあるよ。
エミュじゃ終話キー押したら即アプリ終了して、キーイベント発生しなかったけど。
端末仕様書には、この点何も書いていない。
つまるところ、「使うな」と言っているように思えるんだが…
使う必要あるの・・?
0341310
NGNG0342デフォルトの名無しさん
NGNGプログラミングガイドのわかりにくい場所に書いてなかった?
EVT_KEYのイベントをきっちりかけばいいはず
0343デフォルトの名無しさん
NGNGwhile(flg)
{
a = MALLOC(1);
FREE(a);
}
0344デフォルトの名無しさん
NGNG∩___∩ |
| ノ\ ヽ |
/ ●゛ ● | |
| ∪ ( _●_) ミ j
彡、 |∪| | J
/ ∩ノ ⊃ ヽ
( \ / _ノ | |
.\ “ /__| |
\ /___ /
0345デフォルトの名無しさん
NGNG割り当てられたAVK_XXXの値を意識する必要はない。
終話キーを押した場合、アプリにはEVT_APP_STOPイベントとして通知されるので
そこからアプリの終了処理を呼んでおしまい。
従ってEVT_KEYイベントで「終話キーが押された場合は…」といった処理は書かない(書けない)。
蛇足だが終話キーはキーリピートも発生しない。
>>344
パクッと行け!パクッと!
0346344
NGNG\ ∩─ー、
\/ ● 、_ `ヽ
/ \( ● ● |つ
| X_入__ノ ミ a = MALLOC(1); でコンパイルエラー ・・・
、 (_/ ノ
\___ノ゙
/ 丶' ⌒ヽ:::
/ ヽ / /:::
/ /へ ヘ/ /:::
/ \ ヾミ /|:::
(__/| \___ノ/:::
0347デフォルトの名無しさん
NGNG\ ∩─ー、 ====
\/ ● 、_ `ヽ ======
/ \( ● ● |つ
| X_入__ノ ミ それと無限ルークマ――
、 (_/ ノ /⌒l
/\___ノ゙_/ / =====
〈 __ノ ====
\ \_ \
\___) \ ====== (´⌒
\ ___ \__ (´⌒;;(´⌒;;
\___)___)(´;;⌒ (´⌒;; ズザザザ
0348デフォルトの名無しさん
NGNG訂正ありがと。カンチガイしてた。
つーかまたBREWやりたいんだけど、しばらくできそうにないや
0349デフォルトの名無しさん
NGNGOpenGL ESは3.0からですよね?
2.1だとI3Dを使うと思うんですが、どこにもstruct _I3Dの実体が見つからないのですが。
0350デフォルトの名無しさん
NGNGいつしかExcelの資料見た覚えがあるんだが…手持ちに無いOrz
どうもA5505SAでIDISPLAY_MeasureText()が正常な値を返して来ないっぽいんだが。。。
0351350
NGNGどうも全角でも半角の幅が帰ってきてるっぽいんで、
半角のサイズ×2で誤魔化した。
他の機種は大丈夫だったかな… 何か情報あったらお願いします。
0352デフォルトの名無しさん
NGNGI3Dをサポートする端末は国内に無い
なお、I3Dは"AEEINTERFACE(I3D)"というマクロで定義されている
OpenGL ESは別にBREWのバージョンとは関係なく端末でライブラリを実装すれば
2.1でも動く
しかしいずれにせよエイチアイのMascot CapsuleがBREW上に実装されている以上
これらのライブラリを直接呼ぶ必要性は普通は無い
0353デフォルトの名無しさん
NGNGつまり、現状で3Dを使ったアプリを作る場合は
Mascot Capsuleを使うしかなようですね。
ありがとうございました。
0354デフォルトの名無しさん
NGNGA5505SAでIDISPLAY_MeasureText使いまくりのアプリを
作ったけれど、そんなバグはなかったし、検証も通ったよ。
他機種でも同一バイナリで問題なく動いているしなあ。
0355デフォルトの名無しさん
NGNG俺もA5505SAでIDISPLAY_MeasureText使ってたけど検証は通ったよ。
自分で実機では見てないけど変なとこあったら言われてるだろうし。
違うところに原因があるんじゃないかなぁ・・・。
0356デフォルトの名無しさん
NGNGついでだけどA5505SAの機種依存でIDISPLAY_MeasureTextのはなかった。
0357デフォルトの名無しさん
NGNG0358350
NGNGint fontW, fontH;
AECHAR str[] = {'※', '\0'}; //※…全角一文字
fontH = IDISPLAY_GetFontMetrics(a->m_pIDisplay, AEE_FONT_NORMAL, NULL, NULL);
fontW = IDISPLAY_MeasureText(a->m_pIDisplay, AEE_FONT_NORMAL, str);
DBGPRINTF("フォントサイズ:H=%d,W=%d", fontH, fontW);
これだけなんだが、出力結果はH=18、W=9だった・・・
エミュ、A5506T(だったはず)では正常な値が帰ってくるのを確認済み。
なので機種依存かと思ったんだが・・・
プログラミングガイドの何処か見落としたヨカーン
0359350
NGNGstrの定義からfontH求めるまで20行ほど省略してるが、この間変数には一切触れてない。
'※' を全角スペースや、他の全角文字も幾つか調べてみたが軒並みアウト。
ついでにIDISPLAY_MeasureTextExも試してみたが、結果は同じく9ピクセルが帰ってきた。
で、半角文字を入れても9ピクセルが帰ってきたんで、それを2倍して対応しますた。
ここで取ったフォントサイズを元にメッセージボックスやら何やら作ってたんで致命的だったのよTT
0360デフォルトの名無しさん
NGNGチカラ抜けたよ… ダメに決まってんだろー
0361350
NGNG0362デフォルトの名無しさん
NGNGこの辺を見るのもいいかと。
http://www.itmedia.co.jp/mobile/0311/14/n_bapp.html
0363350
NGNG先の初期化方法だと、全角文字はバイト列逆に入力されちゃうのか。
いやむしろAECHARが逆に扱ってるというべきか…
デバッグ出力でも確認できたんで納得した。
S5506Tもエミュもタマタマ動いていただけっぽいな。
ご迷惑おかけしますた。
0365357=360=362
NGNG0366デフォルトの名無しさん
NGNG0367デフォルトの名無しさん
NGNGEUNSUPPORTEDが帰ってきます。
これを設定できなくても一応実機エミュともに正常っぽく音がなっているので
ほったらかしてるんだけど、まずいですか?
しかしSDKドキュメントのIMEDIA_SetMediaData()と
IMEDIA_SetAudioDevice()の説明って何で同じなんだ・・・
0368デフォルトの名無しさん
NGNG設定しなくていいんじゃね?
KDDIの事前検証チェックシートには
AEE_SOUND_DEVICE_CURRENTか指定しない状態にしろって
書いてあるっぽい。
0369デフォルトの名無しさん
NGNGありがとうございますー。心置きなく無設定にすることにします。
0370デフォルトの名無しさん
NGNG0371デフォルトの名無しさん
NGNGつーかエンディアンがどうこう言う前に、AECHARの中身の文字コードは端末依存だぞと。
ちゃんとSTREXPAND使って変換しないと危険だと思うが。
0372350
NGNG心配かけて申し訳ない。
>>358のソースは文字サイズ取るためだけに使ってるんで、ああいう初期化をしただけ。
なので他の場所ではSTREXPAND()使ってるから問題なし。
今はISHELL_LoadResString()で遊んでます。
0373デフォルトの名無しさん
NGNGいやそれでも問題だと思うが。
SJISで全角コードを設定してもそれが半角文字になってしまう可能性は否定しきれないだろう。
まあ固定ピッチフォントである保証もないので、突き詰めると色々問題ありな分けだが。
特定の端末でうまく動けば良いということなら止めはしないが、個人的にそういうのは余り好きじゃないな。
#そういう考え方で作られたプログラムを別プラットフォームにコンバージョンするという仕事を何度もやらされたんで
0374350
NGNG多分>>372のアンカーミスだよな・・・
対処は351に書いたが、全角のsjisコード書いたなんて言った覚えは無いぞ。
固定ピッチでなくなったケースなんぞ知らん。
てかそういう仕様なんで、こちらとしてはどうしようもない。
別プラットフォームも最初から想定していないから大丈夫だと思う。
そう思いたい ○| ̄|_
0375デフォルトの名無しさん
NGNG0376デフォルトの名無しさん
NGNG0377デフォルトの名無しさん
NGNGごめ、アンカーミスってたね^^;
>AECHAR str[] = {'※', '\0'};
って普通にWindowsで書いてコンパイルしたらSJISコードが入ると思うが。
で、エンディアンの修正とかやってもコードは変わらないと思う。
普通にchar配列として初期化してSTREXPANDしたほうがいいと思うよ。
>固定ピッチでなくなったケースなんぞ知らん。
現状は存在しないと思うが、将来にわたってそうだという保証は無い。
まあ、おまいさんが今動けばよいというのは良いのだが、想定以上に長いことソースが使われることは良くあること。
で、現状ではOKって考えで作られたソースを後から直す羽目になる人のことも考えといたほうが良いぞというのが漏れのアドバイス。
#結局自分で治す羽目になることだってあるわけだし
つまるところ、サブルーチン一つ作って、常に描画文字列の幅を測定してから適切な位置に描画するようにすれば良いだけだし。
そういうのがスマートなコーディングだと漏れ的には思うが。
まああくまで私見なので、気に入らなければ無視してつかーさい。
0378350
NGNGAECHAR str[] = {' ', '\0'}; //←半角スペース
こうした。
'※'を表示したいんじゃなくて、全角文字の幅が欲しかっただけなので、
半角で得た幅に2を掛けておしまい。
…とはちゃんと書いてなかったか、説明不足スマソ。
他の箇所は先にも書いたとおりSTREXPAND使ってる。
で、何故この幅が必要かというと、
画面サイズと文字サイズを基準にテキストボックスを作ってるから。
テキストボックスの画像はバラバラのパーツなので、これを基準には出来ない。
画面サイズのみ基準に計算すると半角文字が1文字はみ出る可能性があるので、
それを予防する為の全角文字サイズ確保ってトコなんですわ。
固定ピッチでなくなると、この仕様そのものが使えなくなる。
と言うか半角1文字のズレを許容範囲とするなら、このままでもほぼ問題ない。
画像サイズ基準にして画像差し替えだけで対応できるのがベターなのかもしれないが、
漏れの力ではこれ以上の仕様変更は無理○| ̄|_
関係ないが
>無視してつかーさい
何便?
0379デフォルトの名無しさん
NGNG諸々わかってて「でも今回のこの仕様ならこれでOK」って感じで例外的なコードを書くのは
構わないんじゃないか?固定ピッチかどうかなんて画面デザインにもはねるんだから、
現状の端末を仮定して当然だと思う。
ただ、>>358 のコードはそういう判断の結果出てきたものでは全くないし(現に正常動作しない)、
これがたまたま動いてしまう環境もあるあたり性質が悪いかも・・・
>>378
依然としてエンディアンに依存するコード・・・でも普通は動くだろうけど。
AECHARの半角のコードに自然じゃないエンディアン使う端末ってあまり想像できないし。
一行 STREXPAND 書くだけでLEでもBEでもShift_JISでもeuc-krでもgb231でも動くのに・・
コードサイズがキツキツとか?極小の中の人かな。
0380350
NGNG諸悪の根源と思っていない
&1バイト文字でエンディアンに依存にするケースが想定できない
&無駄と思えるコードは最小限に抑えたい(趣味)
というのが変更したくない理由。
何かトラブルメーカーみたいなんで、素直にSTREXPANDに変更しときます。
まだちゃんと納得してないけど…
ご迷惑おかけしますた。
0381デフォルトの名無しさん
NGNG結局半角x2にしたんならそれほど問題はないと思う。
#とはいえ特に問題なければSTREXPANDしといたほうがベターだとは思うが
この部分が分からなかったので「全角コードでのAECHAR初期化は危ない」と言いたかっただけだから。
固定ピッチ依存についてもそういった理由があるのならまあ現状仕方ないかと思う。
>>379
>諸々わかってて…
程度の問題だろうね。
上でも書いたように、半角ASCIIでAECHAR初期化とか固定ピッチ依存とはいえクリティカルでない
のなら漏れもそれで良いと思うよ。
いまやってる仕事で端末性能に依存したゲームのコンバージョンやらされてて、動きが早すぎるとか言われ、
「じゃあ理想FPS教えて」と言っただけで逆ギレされたりしていたんで、端末依存に過敏に反応しちゃったかも。
>一行 STREXPAND 書くだけで…
同感。
ちなみに漏れはC++使ってるんで、文字列クラス作って自動変換されるようにしてる。
0382デフォルトの名無しさん
NGNG一体いくらかかって、どういった壁があるんでしょうか?
0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNGケーブル2000円
ARMコンパイラ15万円
KDDIに企画申請プライスレス
0385デフォルトの名無しさん
NGNG検証3回目からは20万円(税別)
0386デフォルトの名無しさん
NGNG検証2回までは無料、3回目でブラックリスト?
0387デフォルトの名無しさん
NGNG0388デフォルトの名無しさん
NGNGGCCでもおけぃ。
ただしモジュールサイズでかめ気味になるかも。
0389デフォルトの名無しさん
NGNG>>387でした
0390デフォルトの名無しさん
NGNGありがとうございました。GCCで行きます。
0391デフォルトの名無しさん
NGNGたとえ発売時期が遅れたとしても、可能な限り完璧にしておこう。
0392デフォルトの名無しさん
NGNG0393デフォルトの名無しさん
NGNG0394デフォルトの名無しさん
NGNGエラーというのが発生してリセットされます。
これってどういう時に起きるエラーなんでしょうか?( ´・ω・`)
0395デフォルトの名無しさん
NGNGメモリ壊してる(確保していないアドレスに書き込んでる)ってことじゃないかと。
#メッセージは詳しく覚えてないけど
0396デフォルトの名無しさん
NGNG− mifはあるけどdllがない
− mifとdllを置くフォルダ構成が正しくない
− mifとdllでファイル名が違う
0397デフォルトの名無しさん
NGNGありがとうございました。
>>396
確かに何かを壊しているんじゃないかという雰囲気はしてました( ノω・`)
>>396
そういう場合も発生するエラーなのですか・・・。
今回の場合、アプリにある機能を増やすまでは発生せず、
追加した関数(配列を頻繁に使用している)で発生してるっぽいので、
どうも配列外にはみ出して読み書きしている可能性が多そうです。
0398396
NGNGいや、「エミュレータで起動中に」とあったのでメニューからアプリを選んで
起動したとたんに起こるエラーを挙げてみただけ。
>>397を見るとどうやらアプリ「実行中」のエラーのようだから>>396のことは無関係だ。
0399デフォルトの名無しさん
NGNG>追加した関数(配列を頻繁に使用している)で発生してるっぽいので、
ちなみに、実機ではスタックがかなり小さいのである程度で買いサイズの配列を
スタックに採っているとリセットかかる。
MALOC等でヒープに確保しないとダメ。
ただ、エミュではそんなこともない(普通にWindowsのスタックサイズ制限になる)
ので原因はそこではないと思うが。
原因であろう関数がほぼ特定できているなら(そしてエミュで問題が発生するのなら)
普通にステップ実行すればどこでおかしくなっているかは分かると思うが。
0400デフォルトの名無しさん
NGNG重ね重ねありがとうございます。
心当たりの関数は、ヒープに確保してあるデータテーブルから
ループで順々にデータの読み書きをしていくものです。
何かの変数が、ある範囲のとき、どこかのテーブル参照で
ループオーバーかデータ取得異常をおこしてる予感が
ひしひししています。
虫の生息域はきっとその関数内なので、地道に虫探しに行ってきます。
テーブル多いよ大きいよ ○| ̄|_
0401デフォルトの名無しさん
NGNGスレッドの生成方法がよくわからない。
どうやって生成するのか知ってる人教えてください。
0402デフォルトの名無しさん
NGNG2.1じゃサポートしてないんじゃなかったっけ?
フォーラムに載ってた気がする。一度確認することを
勧める
0404デフォルトの名無しさん
NGNGhage:
goto hage;
0405デフォルトの名無しさん
NGNGJPEG ファイルを IImage として読込
-> IImage のサイズを調べる
-> 同じサイズの IBitmap(1) を作成
-> IDisplay のレンダリング先を上記 IBitmap(1) に設定
-> IImage_Draw() を使用して IBitmap(1) に描画
-> 目的のサイズの IBitmap(2) を作成
-> IDisplay のレンダリング先を上記 IBitmap(2) に設定
-> IGraphics_StrechBlt() を利用して、上記 IBitmap(2) に描画
-> IDisplay_DetachDestination() とか IBitmap_Release() とかとか
こういうかったるいことをやらなくちゃどーにもならないのだろうか。
0406405
NGNG0407デフォルトの名無しさん
NGNGIGRAPHICS_StretchBlt()に指定できるビットマップソースはIBitmapやIDIBではなく
WindowsBitmapなのでこの目的には使えません。
# IDISPLAY_BitBlt()はIBitmapやIDIBをとりますが。
なのでITransformを使うしかありません。
ちなみにIGRAPHICS_StretchBlt()はバグありなのでその意味でも使えません。
http://brewforums.qualcomm.com/ja/showthread.php?s=&threadid=237
0408デフォルトの名無しさん
NGNG0409デフォルトの名無しさん
NGNG警告の意味がわかりません。
↓の内容なんですがどなたかわかりますか?
アプレット起動したときに表示されます。
WARNING: App Callback Pending(数字)
0410デフォルトの名無しさん
NGNGヒープ残量チェックって関数あります?
0411デフォルトの名無しさん
NGNGIHEAP_GetMemStats
0412デフォルトの名無しさん
NGNGこのJavaアプリは処理ループごとに差分描画で画面を描いている。
BREWでサスペンド→リジュームが起こったとき、差分描画の方法では
サスペンド発生時の画面全体の描画内容が復元できない。
サスペンド発生時に画面内容を、画面と同サイズのビットマップに描画、
リジューム時にそれを画面に描画し直せば元通り…と思って試したら
サスペンドに入るときの砂時計マークまで描画されててダメ。
(サスペンドが発生すると、まず端末側が砂時計を描画して、それから
アプリにサスペンドが通知される模様)
サスペンド時の画面を復帰させるのに、皆さんはどうやってますか?
1.差分描画しないで常に画面全体を描画している。
2.オフスクリーン(画面サイズのビットマップ)を用意してそこへ
描画(差分描画)、それ全体を画面(デバイスビットマップ)へ転送。
…これだと文字を書くのにどうするか?
3.差分描画を基本とするが、リジューム時はシーンごとに個別対応で
画面全体を描画し、その後また差分描画を続行する。
4.その他。
0413デフォルトの名無しさん
NGNGヘルプを読むと、GETFSFREE()、GETRAMFREE() も使えるのかも?
BREW 2.1 以降だし、使ったことないけど。
>>412
1、問題外。
2、IDISPLAY_SetDestination() を使用すれば文字も描画できるのでは?
3、シーン毎っちゅーのが分からんが、漏れならこっちでやるなあ。
4、砂時計が描画される部分だけ描画時毎に保存して...(w
0414412
NGNG>2、IDISPLAY_SetDestination() を使用すれば文字も描画できるのでは?
それはそうなのだが、デバイスビットマップを入れ替えるとクリッピングや透過色の指定が
クリアされるので、それらを使っていると面倒なことになる。
また、タイミング悪く、入れ替えてる間に砂時計が描かれてしまうこともあり得る。<考え過ぎか?
何とかIDISPLAY_SetDestination()を使わない方法を考えているがうまくいかなくて…
>3、シーン毎っちゅーのが分からんが
ステージ開始したとき、クリアしたとき、ゲームオーバーになったとき、など、
描画内容が大きく変わる区切りを指す。説明不足スマン。
これは確かな方法だと思うが、上記シーンごとに画面復元の処理を入れていくことになり、
作業量が増えるのでちょっと躊躇ってる。<ヨワッ でもやはりこの方法なのかな。
>4、砂時計が描画される部分だけ描画時毎に保存して
砂時計が描かれてからEVT_APP_SUSPENDが通知されるので、そのときには
砂時計が描かれた状態を保存してしまっていて結局ダメで…
413さんthx. 他の方のアドバイスもいただきたいです。
0415デフォルトの名無しさん
NGNG漏れは2の方法で復帰させてる。てか1と2の複合か。
(ゲームじゃないが、画面全体が頻繁にスクロールが発生するアプリでスクロール分を差分描画)
1.IDISPLAY_SetDestination()でオフスクリーンを指定
2.クリッピング、描画など
3.IDISPLAY_SetDestination()でディスプレイを指定
4.オフスクリーンをディスプレイに描画
5.IDISPLAY_UpdateEx()で画面更新
の繰り返しで。
砂時計はディスプレイに描画されるので、オフスクリーンの方は大丈夫。
結局毎回画面全体を更新している訳だけど、DDBの上書きだけなら結構な速度が出るよ。
S5505SAで約20フレーム確認。それ以上は試す必要なかったんで計ってない。スマソ
0416413
NGNG4. は、412 氏が上手くできなかった SUSPEND 時保存の改善案。
(1) アプリ側の描画時に砂時計がでるはずの部分だけ保存
(2) SUSPEND 時で全画面保存
(3) RESUME 時に (2) で保存したものを描画
(4) 同じく RESUME で (1) で保存したものを (3) に上書き
問題は、各機種毎に砂時計の出る位置やサイズが違う気がする
ってことかなあ?…速度的には悪くないと思うけど。
0417412
NGNG>>413の2番をふまえて>>415の方向で考えてみます。
変に考えが凝り固まっててオレの頭がサスペンド中ってオチなのか…
0418デフォルトの名無しさん
NGNGasmで書き直してる人とか多い?
0419デフォルトの名無しさん
NGNG↓
ttp://next.rikunabi.com/tech/docs/ct_s03100.jsp?p=lw1061&f=impress&__m=1
0420デフォルトの名無しさん
NGNG何をチェックしたらいいんでしょうか?
EVT_APP_RESUMEやEVT_APP_STARTではないみたいだし・・・。
0421デフォルトの名無しさん
NGNG0422デフォルトの名無しさん
NGNGシ
てか、それしかサウンド使ったことない・・・。
0423デフォルトの名無しさん
NGNG0424デフォルトの名無しさん
NGNG日本の端末じゃMIDI+QCP×4とか出来ないようだし…。
どうやってますよ?オマイラ
0425デフォルトの名無しさん
NGNG0426デフォルトの名無しさん
NGNGBREW2.0端末で200kb
2.1で300kbじゃなかったか?
0427デフォルトの名無しさん
NGNG実機でいきなりMemory Accessで落ちるんですけど
原因って何でしょう?
処理を全部コメントにしてreturnしていても
場所によってエラーになるんですが。。
0428デフォルトの名無しさん
NGNG奇数番地をまたいでのwardアクセスとかじゃないか?
0429デフォルトの名無しさん
NGNG0430デフォルトの名無しさん
NGNGありがちなのが、ヒープ足りなくなってる状態でMALLOCとかが失敗しているのに
エラーチェックしないで書き込んでるとか、ポインタ操作をミスってるとか。
あと、実機用はmakefileで、すべての依存関係が記述できているとは限らないか
らクリーンしてみると挙動が変わったりすることもある。
ちなみに実機でしか再現しないリセット系エラーを追及するには、ログをファイ
ルに吐くような手を使わないとダメです。
#DBGPRINTFなんかはバッファされるのであてにならない
0431デフォルトの名無しさん
NGNGを生成しても戻り値がSUCCESSとならないんですが、どんな原因が考えられます
か?コンパイルはできます。ちなみに
IShell_CreateInstance(pMe->m_applet.m_pIShell, AEECLSID_NET, (void**) &app->pINetMgr)
という感じにしてます。
0432デフォルトの名無しさん
NGNGとりあえずMIFは?
0433427
NGNG初歩的質問でもうしわけないのですが
奇数番地をまたいでのwardアクセスってなんでしょう。。。
>>430
ヒープは残っててMALLOCの戻り値もチェックしてます。
クリーンしてみたのですが変わらず。。
0434デフォルトの名無しさん
NGNGエミュレーター上でVC++のデバッガーを使いたいと思い
ttp://www.s-cradle.com/developer/technicalqas/tqbr/index.html#q0049
に書かれている方法を試したのですが
'(パス)\BREW_Emulator.exe'にはデバッグ情報がありません。続行する場合は[OK]を押してください。
というメッセージボックスが表示されてしまい、続いて
1つ以上のブレークポイントが設定できませんでした。これらのブレークポイントは無効です。実行プログラムはプログラムの始めで停止します。
というメッセージボックスが表示され、デバッグできません。
プロジェクト(P) -> 設定(S) -> リンク - カテゴリ - 一般 のデバッグ情報を生成する(G) にはチェックが入っています。
どうしたらステップ実行等が可能になりますか?
環境はVisual C++ 6.0 BREW SDK 2.1.1jです。
宜しくお願いします。
0435デフォルトの名無しさん
NGNGプロジェクト→設定→デバッグでデバッグセクション実行可能ファイルに
エミュ.exeを入れればおk
あと質問なのですが
みなさんリソースファイルに埋め込んだ音声ファイルは
どのようにして再生してますか?
0436デフォルトの名無しさん
NGNGwardはwordの書き間違いでそ。
アライメントの問題。バイト(8bit)アクセスならどんな
アドレスでもアクセスできるけど、ハーフワード(16bit)は
2の倍数、ワード(32bit)は4の倍数のアドレスでしかアクセス
できない。
ARMはこれを間違えると例外が発生する。x86はアライメント
気にしないでも処理は一応動く。
# ちなみに、ARMでも例外発生しないものもある
0437427
NGNGメモリまわりは全く知識が無いのでチンプンカンプンです。。
いま途中まで動いてる部分はまぐれっぽいですね。
大変そうだ
0438デフォルトの名無しさん
NGNGアライメントと決まったわけじゃないしな。
単純にメモリ壊しているだけかもしれん
アライメント問題はこんな感じ
----
uint16 buf1[10];
uint8 *p1 = (uint8 *)buf1; *p1 = 0;
p1にアクセスするのはOK
uint16 *p2 = buf1; *p2 = 0;
p2にアクセスするのはOK
----
uint8 buf2[10];
uint8 *1 = buf2; *p1 = 0;
p1にアクセスするのはOK
uint16 *p2 = (uint16 *)buf2; *p2 = 0;
p2にアクセスするのはNG★
例え動いたとしても、偶然buf2が2の倍数のアドレスに
配置されてたってだけ
コレをやりたい場合は、アドレス調べてうまくいくよう
自分の処理を調整するか、_packed、PACKEDとかでコン
パイラに教えてあげる必要がある
0439デフォルトの名無しさん
NGNGMIF ファイルに権限がないとか良くありがちな罠。
0440デフォルトの名無しさん
NGNG0441デフォルトの名無しさん
NGNGhttps://secsvr.net/brewjapan.com/tech/form.html
ここの「BREW Technical Tips」に載ってる
【リソースファイルにサウンドデータを格納するには】の
サンプルを参考にさせてもらってる。
0442デフォルトの名無しさん
NGNG情報が足りてない質問に憶測で答えていても解決は遠いと思う。
「エミュレータで動いて実機でMemory Accessエラー、原因は何?」とか
「処理を全部コメントにしてreturnしていても場所によってエラーになる」とか
ソースを出さずに言われても意味不明。
エミュレータで期待通りの動作をして実機で動かないなら、ビルド環境の問題
かもしれないし。(←と、当てずっぽうになってしまうわけだ、情報が足りないと)
427はせめてその疑ってる付近のソースを(可能な範囲で)晒してみたり、
ARMかgccか、makefileはBREW Addinsの自動生成のか、自前で書いたものか、
とかの情報を出してみてはどうか。
0443427
NGNGなんと問題はフラグの初期化し忘れでした。情けない。
int型をとってTRUEかFALSEかで使ってた部分で落ちてました。
メモリについての知識もほとんどないので
難しいコードも組んでないし、メモリ周りのエラー起きないですよね。
皆様たいへん勉強になりました。
ありがとうございました。
0444デフォルトの名無しさん
NGNGちなみに今は、512バイト単位で送ってる。
au網のパケット長は128バイトだった気がしたが、ヘッダを除いた際の適正サイズがわからん。
buf = new byteBuffer(512);
socket->Write( buf.GetBuffer(), (short)buf.GetSize() );
0445444
NGNG普通に128バイトで送ったら2kbpsじゃん。
送信サイズでっかくして再挑戦してみま。
0446デフォルトの名無しさん
NGNG難しいコードが>>438で挙げてある程度のコードを指すのだとしたら、油断しすぎか経験
少なすぎ。Cである以上メモリ処理はついてまわるし(特に携帯みたいにヒープの少ない
環境だとね)、知識がほとんど無いとか言ってる場合じゃないかと。
>>434
「デバッグ情報がありません〜」のメッセージは出る。「次回から表示しない」のチェックを
入れてメッセージボックス自体を殺してしまってOKなはず(これはEmulator.exeのシンボル
ファイルが無い、という警告なので出て当たり前)。
あとはビルドがリリースモードになってないか確認。
0447デフォルトの名無しさん
NGNG一度ファイル名つけて保存→ISHELL_LoadImage() しかないかな?
今まで同一フォルダにプロジェクトと実行ファイルまとめてたんでメンドクサイ(ノД`)
0448デフォルトの名無しさん
NGNGIMemAStream 使えばいいんじゃないか?
0449デフォルトの名無しさん
NGNGお、使えそう! サンクス!!
0450デフォルトの名無しさん
NGNGできなかったっけ?
ISOURCEUTIL(間違ってるかも)とかで
0451447=449
NGNGダウンロード完了するまで待ってISourceからbyte配列にデータ格納するクラス作っちゃったんで、
IMemAStreamの方が都合よさそうです。
調査不足を痛感・・・頑張らんとなぁ
0452435
NGNG遅くなりましたがありがとうございましたです。
0453デフォルトの名無しさん
NGNG0454デフォルトの名無しさん
NGNG0455デフォルトの名無しさん
NGNG0456デフォルトの名無しさん
NGNG0457デフォルトの名無しさん
NGNG0458デフォルトの名無しさん
NGNGそれは幻覚の一種だ。
治し方は知らんが。
0459デフォルトの名無しさん
NGNGstaticな配列に初期時に格納できるばよいのですが、
BREWでは当然無理なことで、何かよいアイデアはないでしょうか?
0460デフォルトの名無しさん
NGNG同名のファイルを上書きできないから、まず消さないといけないでしょ?
失敗したらどうすればいいんだ?
if (IFILEMGR_Remove(pMe->fileMgr, "test.txt") != SUCCESS) {}
0461デフォルトの名無しさん
NGNGん? constな定数表なら普通にスタティック/グローバルに持てるよ。
変数は無理ぽだけど。
0462デフォルトの名無しさん
NGNGあ?確かに「global/static変数」と書いていました。
どうもありがとう。
0463デフォルトの名無しさん
NGNG>同名ファイルを上書きできない
いやできるんじゃないの?
IFile *pf = IFILEMGR_OpenFile(pMe->m_pIFileMgr, "hoge.bin", _OFM_READWRITE);
IFILE_Write(pf, data, sizeof(data));
OpenFileの時点でファイルポインタが先頭だからそこから書き込み。
200Byteのファイルに100Byteだけ書き込んで末尾を切り捨てたければ
IFILE_Truncate(pf, 100); // 100バイト以降を切り捨て
とかやってやればいいんでないの?
実際には、存在しないファイルを_OFM_READWRITEフラグで開こうとするとエラー返してくるから、そこから
_OFM_CREATEで作成試行してそれでも駄目ならファイルシステムエラーとして扱う、みたいな処理が必要
になるけど。
0464デフォルトの名無しさん
NGNGしばらくがどのくらいかしらないけどSDKのインストールは楽になったよ。
あいかわらずダウンロードはできないけど入力するのはメールアドレスのみ。
そんくらいかなぁ・・・
0466デフォルトの名無しさん
NGNGやっぱ無理?ハックしてる人いない?いっしょにハックしてくれる人でもいいけど
0467デフォルトの名無しさん
NGNG0468デフォルトの名無しさん
NGNGファイルをOpenしたままだとRemoveできないね。
まあこれはアプリの側で知ってるはずだからきちんと管理しる。
>>463
困るのはRenameで名前がかぶる時かな? そんなことするかどうかは別にして。
0469デフォルトの名無しさん
NGNGエミュレータで実行すると無視されるようなので、
ひょっとすると使用できないのかもと思ったんだけど。
0470デフォルトの名無しさん
NGNG0471デフォルトの名無しさん
NGNGサービスガイド巻末に利用可能タグ一覧載ってるぞ。
0472BREW男
NGNG0473BREW男
NGNG0474BREW男
NGNG質問ばかりですみませんが、よろしくです。
0475デフォルトの名無しさん
NGNG0476デフォルトの名無しさん
NGNGほんとだ。<p>扱いだと。結局、使えないということか。
でも、たいへん役にたつ情報でした。サンクス。
0477デフォルトの名無しさん
NGNGまずリファレンスとかドキュメントをよく読め。
で、記憶の範囲だがメールフォルダにアクセスする手段は(KDDI拡張にも)無かったと思う。
通話発信はTAPIで可能だが、KDDIでは禁止していたようにも思う。
ってことで、以上をヒントにドキュメントで確認してくれ。
0478デフォルトの名無しさん
NGNGなんか犯罪の臭いがする…
0479デフォルトの名無しさん
NGNG0480sage
NGNG・MSPとbrew-supportとCINのアカウントってそれぞれ申請しないといけないの?
MSPはあるんだけど他の2つはどうすればもらえるんだろう
・「端末試験モード設定兼解除申込書」ってのが欲しいんだけど、どこで手に入りますか?
駄目元でググって見たけどやっぱり駄目だった
0481デフォルトの名無しさん
NGNGIMenuCtlで普通のメニュー(テキストアイテムが縦に並ぶやつ)を表示してる
んですが、タイトル表示しろといわれて表示したらセンタリングできない;;
なんかセンタリングする方法ってないですかね?
0482デフォルトの名無しさん
NGNGメニューコントロールなんぞ使わずに自力で作れば?
って思うんだが…
みんなIMenuCtrlとかITextCtrl使ってるモンなの?
漏れは全く使ってない。
テキスト入力が必要なところは全部HTMLだからってのもあるけど。
0483デフォルトの名無しさん
NGNGたしかに俺も、あんなの使うなら自作した方が全然マシだと思う。w
0484デフォルトの名無しさん
NGNG「端末試験モード設定兼解除申込書」…ウチはKDDIの営業からもらったべ
0486デフォルトの名無しさん
NGNG主に海外向けなのもあって、標準的UIを極力使えというお達しなんだよね。
メニューとかの見栄えって端末によって結構違うから自前で作ると他のアプリとの
整合がどうのこうのと・・・
#外人は日本人の基準からは考えられないほどの○○が多いらしい
まあタイトル部分だけ自分で書いても良いんだが。
とりあえず現状は(トライアル版的位置づけだし)左詰で我慢してもらおう。
0487デフォルトの名無しさん
NGNGカコイイ文字で見ると「イイ!」っていうケースもあるしね。Series60 の UI とか。
0488デフォルトの名無しさん
NGNG0489デフォルトの名無しさん
NGNGBarでした
0490デフォルトの名無しさん
NGNG漏れも、入力コントロールを使わねばならん場面があるんですが、
ITextCtlだと背景色とか変えられないから、フォーカスがどこに
あるのか見にくいので、画像はっつけてその上にフレームなしの
ITextCtlおいてみたりしたんですが、どうもイマイチ・・・
エミュだとスモールフォント使えないから、見栄えの確認ができ
ないのも辛いね。
0491デフォルトの名無しさん
NGNG買う予算下りなかった。
なのでARM用にgccのクロスコンパイラ構築したいのですがみなさんなんか
ナイスなノウハウ持ってませんか?たぶんARMでも3種類チップ使い分けられて
いるので、1個環境作って終わりーとかならないと踏んでいます。
0492名無しさん
NGNGCで絵を一枚表示する程度の簡単なプログラムなら動いたのだが。
実際に必要なのはC++(javaからの移植だから)で、こっちはどうやってもだめ
だった。
プログラムの起動もしない。
使ったのはこれ
http://sourceforge.net/projects/gnude/
0493デフォルトの名無しさん
NGNG公式見れ。
・・・と書こうと思ったが、なんか公式フォーラムトップしかアクセスできないな。
結論から言うと、GNUDEで(C++も)できる。
一部ヘッダファイルの修正とmakefile自前生成が必要なだけ。
makefileのサンプルもヘッダファイルの修正についてもフォーラムにあるので復旧したら見てくれ。
ただ、GCCでやるとmodサイズがarmよりかなりでかくなる=ヒープもその分消費するので注意。
速度はほとんど同じかGCCのほうが早いくらい。
0494デフォルトの名無しさん
NGNGhttp://brewforums.qualcomm.com/ja/showthread.php?s=&threadid=97
がmakefile等の上がっている記事。
http://brewforums.qualcomm.com/ja/showthread.php?s=&threadid=75
がヘッダファイルの修正方法。
この辺はテンプレに入れといたほうが良いかもね〜
0496デフォルトの名無しさん
NGNG俺のところは、gcc(gnude)でテストして、gnudeで出荷しとるよ。
0497デフォルトの名無しさん
NGNGうちとこは商用レベルのものをGNUDEで動かしております。
勿論実機動作確認済み。
しかし.modのサイズが増えるのはいかんともしがたい…早くARMコンパイラください o rz
0499496
NGNG0500497
NGNGで、>>494にあがってたフォーラム2件見てみたのだが、あそこにあがってるmakefileではC++のコンパイルはとおるだろうが実機じゃ動かないと思われ。
コンパイラフラグとして
-fno-exceptions -fno-unwind-tables -fno-rtti -ffunction-sections
の4つ追加が必要(よって例外とか実行時型判別は使えなくなる)。-ffunction-sectionsは無くても動いたかも。
さらに、ソースコード中どこかに
extern "C" void __cxa_pure_virtual(void){}
の関数、リンカフラグに
--cref
追加。
クラスに対してnew/delete使うならクラスのnew/deleteオーバーロードじゃなく、グローバルスコープでnew/delete/new[]/delete[]をオーバーロードしてやればOK。
うちはこれに気づかず、クラスのnew/deleteオーバーロードしてんのにARMコンパイラ使用時や実機でエラー吐かれるて嵌ったorz
あと、元々GNUDEでのBREWバイナリコンパイルは英BREWフォーラムのtyndal氏の記事が元(だと思う)。
http://brewforums.qualcomm.com/showthread.php?s=bb18a6bbfdca41e8baab0de92c686daa&threadid=1601
ここと、記事に載ってるリンク先を見れば必要な情報は揃うはず(うちはそれでC++環境構築できた)。
0501名無しさん
NGNG動かしてみる、感謝。
0502名無しさん
NGNG>>500
ありがとう。
0503デフォルトの名無しさん
NGNG0504デフォルトの名無しさん
NGNGフォーラムのmakefileのままで実機(au端末)でも動いたよ。C++ね。
まあ、ワーニングは沢山出るけど。
もともとARMで成功していたソースにPACKEDなんかの修正入れただけだけど。
コード的には、virtualは使用、例外実行時型判定は非使用。
ちなみに、その辺の情報持ってるなら公式にもRESしといてあげれば〜
ここだけだと過去ログ見れない人もかなり多いだろうし。
0505デフォルトの名無しさん
NGNG0506デフォルトの名無しさん
NGNG「Award」→「アウォード」も
♪せぶん でいず わー、たたかーうーよー
0507デフォルトの名無しさん
NGNGノシ
でも会話してると、相手は「ワーニング」、漏れ一人「ウォーニング」orz
0508デフォルトの名無しさん
NGNG正月休み?
0509デフォルトの名無しさん
NGNG0510デフォルトの名無しさん
NGNG容量足りなくなりませんか?
ゲーム作ってるけど、C++では、容量的に難しい・・・
0511デフォルトの名無しさん
NGNG例外処理機構とRTTIを切ってないのか?
それ以外ならCとたいして違わんはず。
0512デフォルトの名無しさん
NGNGま、ウォーニングでもワーニングでもないがな。IPAで書くと…
0513デフォルトの名無しさん
NGNG0514デフォルトの名無しさん
NGNG発音はウァーニング、筆記はワーニング
こういうのって普段プログラムの話しない人は知らないくて仕方ないよね
0516デフォルトの名無しさん
NGNG0517デフォルトの名無しさん
NGNGAEEApplet_Newでインスタンス作成したときにIAppletのa.m_pIShellに
明らかに不正な「1」という数字が代入されて例外で落ちる現象で悩んでます。
(NULLでないのが始末悪い)
似たような現象で悩んだことのある人いませんでしょうか?
0518Q
NGNGAEEAppGen.hへのパスが正しいかどうか、使用しているAEEAppGen.cと
一致しているかどうかを確認してください。
2.0以前と2.1以降ではAEEAppGen・AEEModGenのソースが異なり、
バージョン間で互換性がありません。
2.0のヘッダは2.0のソースと、2.1のヘッダは2.1のソースと一緒に使ってください。
2.1のAEEAppletの定義
struct _AEEApplet
{
DECLARE_VTBL(IApplet)
AEECLSID clsID;
uint32 m_nRefs;// Applet reference counter
IShell * m_pIShell; // pointer to IShell
/*以下略*/
};
2.0での定義
struct _AEEApplet
{
DECLARE_VTBL(IApplet)
AEEModObj * pNext;
AEECLSID clsID;
uint32 m_nRefs;// Applet reference counter
IShell * m_pIShell; // pointer to IShell
/* 以下略 */
};
0519517
NGNGありがとうございます。まさにそれでした。
要するにポインタがずれてリファレンスカウンタの値かなんかに化けてたわけですね。
AEEAppGen.cが2.0相当のものがコンパイルされていたようです。
BREW Switcherのテストしたときにしくじったままになってたのではないかと思います。
お騒がせいたしました。
0520デフォルトの名無しさん
NGNGマルチスレッドなしで、ユーザーが操作するキャラクター以外を
動き回すことって可能なんでしょうか?
ゲーム初心者なのでよくわかってませんが、
あれはシングルスレッドでも十分なのでしょうか?
0521デフォルトの名無しさん
NGNGすまないがその質問はBREW自体とはあんまり関係ないんで、
↓で教えてくれそうなスレを探すことをお勧めする。
ゲ製作技術
http://pc5.2ch.net/gamedev/
0522デフォルトの名無しさん
NGNG0523デフォルトの名無しさん
NGNG0524デフォルトの名無しさん
NGNGアプリからWebページを開きたいのですが、
IWebを使わないとだめでしょうか?
Win32のShellExcuteみたいなのがあれば
教えていただきたいです。
0525デフォルトの名無しさん
NGNG0526デフォルトの名無しさん
NGNG0527デフォルトの名無しさん
NGNGとりあえずBREWでAUの携帯向けに出すためにはKDDIの企画採用審査が必要で、
詳しくは↓のページを参考にするといいかもしれないです。
ttp://www.au.kddi.com/ezfactory/tec/spec/brew.html
0528524じゃないが便乗
NGNGプログラミングガイドとほぼおんなじソースで
ISHELL_BrouseURL() 使ってみたのですが、全く何にもなし。
実機で試してもメッセージひとつ飛んでこないんですが、
何かありがちなミスとかあったりしますか?
関数は通ってるようなのですがエラーも何も出ず、
何事も無かったように動き続けます・・・
サスペンドメッセージも飛んでこないでどうしたものかと・・・
0529デフォルトの名無しさん
NGNGKDDIの日本向けパッチに含まれてるサンプルにあったと思うが。
それともKDDI仕様でやってもだめだってことなのかな?だったら分からんが・・・
ちなみに漏れは主に海外端末のお仕事なので結局これは使えなかった。
から詳しくはしらない。
#結局IWebでアプリ内にブラウザ機能仕込みました 細かいこと考えなきゃかなり楽に実装はできる
0530524
NGNGとても、いいものを教えてもらいました(゜∀゜)アヒャ
リファレンス見ると、まさにShellExcuteですね。
でも、ブラウザ以外使わないから、必要ないけど。
ところで、エミュの設定いじって試すこと出来ませんか?
実機では確認取れたのですが。。。。
0531デフォルトの名無しさん
NGNGそれは消費税込みでつか?
0532デフォルトの名無しさん
NGNG0533デフォルトの名無しさん
NGNGURLには
192.168.0.1/test.jpg
という感じで5KBの画像を取り込もうとしてますが、
ISOURCE_Read()を使っても1300byteまでしか読み込めません。
原因わかりますでしょうか?
0534デフォルトの名無しさん
NGNGISOURCE_Exhausted() がTRUE返すまでコールバック続けるべし。
0535デフォルトの名無しさん
NGNGBREW初心者なんですが、三角関数を使いたいときって
どうしたらよいのでしょうか?時間がないのでとりあえずは
スクリプトで対応表(0°〜359°)を出力して、
ソースに埋め込もうと思ってますが。
0536デフォルトの名無しさん
NGNG0537デフォルトの名無しさん
NGNG0538デフォルトの名無しさん
NGNGBREWでは一般的に標準Cライブラリが使えないんですが、
C++では使えるんでしょうか?
>>537
そうですよね。したいのは描画位置の計算なんで、
ルックアップテーブルにしといたほうがどっちみち
速いんですが。
どうもありがとござんした。
0539デフォルトの名無しさん
NGNG三角関数を作ったの?
0540537
NGNGワールド座標を画面中央に固定すれば、多少精度が低くても携帯の画面じゃわからないしね。
0541535
NGNG浮動小数点について。ドキュメントを見る限り、
「doubleの変数自体を扱うことはできるが、
(ヘルパーを使わないと)演算はできない」
という解釈でよいんでしょうか。
0542537
NGNGどぞー
http://brewforums.qualcomm.com/ja/showthread.php?s=10866a5abc0b6168f002c015e2caf3bc&threadid=271
漏れは全部整数で計算してるんで、その辺よく知らない。
それと、まだ検証通したわけじゃないんでNGかもしれないが、
__int64 なる64bit変数があるんで、最悪これ使ってる。
実機で動作も確認してるんだが、ダメだったら地獄だろうなw
0543535
NGNG情報thxです
_| ̄|○
座標なんで、はじめから整数だけ使って
計算のときは100倍してとかして乗り切るしかないっすね。
0544デフォルトの名無しさん
NGNGがーん、int64 って使えたんだ。
int32+int32 でクラス作っちゃったよ…。
0545デフォルトの名無しさん
NGNGSPRINTFの%dとかは32bitまでしか表現してくれなかったから、
その辺は自分で作った。
尚、当方VC++6.0で確認してます。
gccはわからん
0546デフォルトの名無しさん
NGNG0547デフォルトの名無しさん
NGNG0548デフォルトの名無しさん
NGNG自前で実装汁
『C言語による最新アルゴリズム事典』とかに載ってる
http://www.vector.co.jp/soft/data/prog/se002453.html
ソースは古いので適当にあわせる&BREW用に直す
速度求めるなら固定少数、テーブル化しちゃえ
0549デフォルトの名無しさん
NGNGそそ。
math系は全部自前になる
0550デフォルトの名無しさん
NGNG速度求めるなら全部整数化してシフト演算だろ
遅いハードで少数使おうとするのがそもそも間違い。
可能ならば乗除算も控えてシフト演算で代用するのがベター。
BREWのCPU仕様わからんからコレが正解かどうかはわからんけど。
それとURLのソース見てみたけど、これ16bitCPU用だよね・・?
0551デフォルトの名無しさん
NGNGそらぶん回しの部分はね。
0552デフォルトの名無しさん
NGNGARM7コアなら積和演算くらいは遅くない(レイテンシ1〜2cycle)と思う。
定数倍なんかは近代的なコンパイラならシフト+加算に展開されるし。
ARMだと除算命令無いから、定数以外での除算はできるだけ避けるが吉。
グッと遅くなる。
0553デフォルトの名無しさん
NGNGmidi でBGM鳴らして、それに音声をかぶせて
同時再生させる事は brew で可能ですか?
qcp ファイル被せてみてるんですが、qcp を
再生すると midi が止まってしまいます。
同じチャンネルで音声再生させようとしてる
せいでしょうか・・・すいませんがアドバイス
お願いします。ちなみにエミュレータ環境です。
0554デフォルトの名無しさん
NGNG0555デフォルトの名無しさん
NGNGどぞ〜
http://brewforums.qualcomm.com/ja/showthread.php?s=5f621eec84ccb1af6af939dd22f38519&threadid=224
0556デフォルトの名無しさん
NGNG0557デフォルトの名無しさん
NGNG>>553
エミュはともかく実機での同時再生についてなら、各端末仕様書に表が載ってるから
それを参考にすることをオススメ。
0558デフォルトの名無しさん
NGNG0559デフォルトの名無しさん
NGNG>>555、557 両氏 ありがとうございます。
brew初めて一週間経ってないんで指針すらわからず
困ってました。助かりました。
0560デフォルトの名無しさん
NGNGykuboさんは確かに仕事とはいえ耐えに耐えてるって感じだな。
0561デフォルトの名無しさん
NGNG4つを組み合わせて1つの画像を作りたいのですが、可能でしょうか?
ITransformインタフェースを使えば
Bitmap画像を回転できるということはわかったのですが・・・。
1.回転させたPNG画像を4つ用意する。
2.Bitmap画像を用意して回転させる。
3.他の方法を探す。
のどれが正解なんでしょうか?
1や2は画像ファイルのサイズが大きくなるので、できれば避けたいです。
0562デフォルトの名無しさん
NGNGDIB取ってきて自分で回転させるなり、ITransformやるなりすれば
良いんでねーの?
http://brewforums.qualcomm.com/ja/showthread.php?s=&threadid=175
0563デフォルトの名無しさん
NGNG2.PNG画像と同サイズのBMPをIBITMAP_CreateCompatibleBitmapで作成
(引数のpIBitmapはディスプレイのBMPポインタで)
3.2で作成したBMPに対してPNG画像を書き込み
4.倍サイズのBMPをIBITMAP_CreateCompatibleBitmapで作成
5.3のBMPをITransform使って書き込み
これでできるよ。
0564561
NGNGおぉう!ありがとうございます!!!
0565デフォルトの名無しさん
NGNGau製のWIN用USBケーブルを使用してやった方いますか?
今やってみたら接続できなかったので。
0566デフォルトの名無しさん
NGNGファイル保存操作をする際は確認メッセージを表示する事になっていたと思います。
ここで「以後確認しない」を選択したとして、その情報をファイルに保存する場合。
次回起動時、ファイルを開かないと確認画面を表示すべきかどうか確認できない、
しかしファイルを開く前に確認画面を出さないといけないのでは?
というところで詰まってしまいました。
根本的にやり方が間違っているような気がするのですが、
どなたか処方箋お願いします。
0567デフォルトの名無しさん
NGNGデータフォルダにコピーするとき(IFileCp)は必要だったような気がするけど、
普通にファイルを保存する(IFile)のに確認画面は必須じゃないんじゃなかったっけ?
「EZアプリ(BREW)サービスガイドver.2.1.pdf」の
「9.5.6.ストレージエリア内ファイル操作時」を見てみるといいかも。
0568デフォルトの名無しさん
NGNGストレージエリアに弄るときは確認は必須ではないよ。
でも、Sharedを弄る場合は必須になってる。
0569デフォルトの名無しさん
NGNG物凄くマジメな人なのか?
IFILE_Write()を行わなければ「保存操作」じゃないんだから、_OFM_READWRITEでOpenして
設定を読むことは確認ダイアログ抜きにできるのでは...。
いったん _OFM_READ で開いて設定読み込んで閉じてまた開く、でもいいけどさ。
ロックディレクトリ(orファイル)みたいな発想で、空ファイルを作って、そのファイルがあれば
「確認しない」なければ「確認する」みたいな処理でもいいけど、クラスタサイズが大きい
端末もあるからこれは避けたい。
応用版で設定ファイル名そのものを使い分ける手もあるけど、バグ出しそうだからやりたくないな。
0570566
NGNG勘違いしてデータフォルダ内ファイル操作の項目を見て必須だと思い込んでました。
通信設定等の保存にしか使わないので、確認画面無しで行きます。
いやー、助かったー
0571デフォルトの名無しさん
NGNGパフォーマンスでねぇし。そんなことで明日も明後日も会社で仕事だよ。
0572デフォルトの名無しさん
NGNG0573デフォルトの名無しさん
NGNG0574デフォルトの名無しさん
NGNG>>6
0575デフォルトの名無しさん
NGNGコールバック関数って読み込みが完了した時点で呼ばれないの?
0576デフォルトの名無しさん
NGNGのリンク先見る限りだと、AudioPhrase使えなそうなんですけど、
日本のBREW端末でBGM+音声ってできないんでしょうか?
0577デフォルトの名無しさん
NGNG>>557
0578デフォルトの名無しさん
NGNGCallbackの意味わかってんの?
0579デフォルトの名無しさん
NGNGどうも。あの表以上のことはできないんですよね。
JAVAゲー完全移植は無理か・・・。
0580デフォルトの名無しさん
NGNGどうせみんな音消してやってるから問題ない
0581デフォルトの名無しさん
NGNGhttp://www.itmedia.co.jp/mobile/0304/15/n_infop.html
0582デフォルトの名無しさん
NGNG0583デフォルトの名無しさん
NGNG0584デフォルトの名無しさん
NGNG0585デフォルトの名無しさん
NGNGプログラマーも苦労してんだからYO
0586デフォルトの名無しさん
NGNG0587デフォルトの名無しさん
NGNG|
|
|
|
/V\ ◎ ←>>575
/◎;;;,;,,,,ヽ
_ ム::::(;;゚Д゚)::| ジー
ヽツ.(ノ::::::::::.:::::.:..|)
ヾソ:::::::::::::::::.:ノ
` ー U'"U'
0588デフォルトの名無しさん
NGNG0589デフォルトの名無しさん
NGNG0590デフォルトの名無しさん
NGNG|
|
|
|
/V\ ◎ ←>>581
/◎;;;,;,,,,ヽ
_ ム::::(;;゚Д゚)::| ジー
ヽツ.(ノ::::::::::.:::::.:..|)
ヾソ:::::::::::::::::.:ノ
` ー U'"U'
0591デフォルトの名無しさん
NGNG0592デフォルトの名無しさん
NGNG0593デフォルトの名無しさん
NGNG「ドラゴンボール」「モトローラ」でググってみた。
ドラゴンボール【DragonBall】 初代Palmに搭載されていたモトローラのMPU。
だそうだ。
0594デフォルトの名無しさん
05/01/17 02:53:43EVT_APP_SUSPENDは実装しているんですけど、
ここにイベントが入ってこないんです。
INFOBOADとかは、電源キーが押されると、勝手にメニューが開いて
ここで「中断」を押すとアプリにEVT_APP_SUSPENDは入ってくるんで、
どう考えても、アプリ側で処理するべき事では無いような気がします・・・
でも、なぜQVGAの機種達はメニューを開かないのかが、分かりません。
どなたかご存知の方がいればお教え頂けないでしょうか?
0595デフォルトの名無しさん
05/01/17 03:36:44それと電話かけてみるとか。
ただ例外があるようで、何をやってもサスペンドが発生しない
タイミングがあるのはこちらも確認してます。
EZナビウォークとかはサスペンド無視してるようにも見えるし、
深く考えない方がいいのかも…
0596デフォルトの名無しさん
05/01/17 08:59:16回答ありがとうございます。
2.1のQVGA機で、サスペンドさせても中断メニューが
表示されないのは何が原因でしょうか?
2.0は普通にいきます。
0597デフォルトの名無しさん
05/01/17 12:19:07わからないと答えようが無い気がするが・・・
でも、手元にあるBREW2.1のW21KとA5501Tだと電源押せばちゃんと
「アプリを終了します、よろしいですか?」とかいうメッセージが
出るんだけど、中断メニューってこれのことじゃないのか??
BREW2.0でINFOBARだと、メニューが表示された後で「中断」とか押すまで
EVT_APP_SUSPENDが来なかったような覚えがあるけど。
よくわからんが、EVT_APP_SUSPENDでFALSEでも返してるんじゃねーの?
俺は詳しく調べる気は無いから頑張って解決してくれ('A`)ノシ
0598デフォルトの名無しさん
05/01/17 16:04:15その幅以上のテキスト突っ込んだ時の戻り値って機種依存あるっぽいね。
って既出?
0599デフォルトの名無しさん
05/01/17 21:34:17機種名くらい書きなさい
もしかして外人?
0600デフォルトの名無しさん
05/01/17 23:21:25機種依存ってかフォントサイズ違うんだからあたりまえじゃね?
0601598
05/01/17 23:40:27AECHAR str[] = "01234567890123456789"; (STREXPANDで変換したって事で…)
w = IDISPLAY_MeasureTextEx(a->m_pIDisplay, AEE_FONT_NORMAL, str, -1, 100, &len);
で得たwとlenの値
A5504T : w = 440(22*20), len = 10
A5307ST : w = 280(14*20), len = 20
エミュ : w = 95(19*5), len = 5(マシンのフォントサイズに依存)
こんな感じになりますた。
多分SAはエミュと同じ動きしてるっぽい。
0602598
05/01/17 23:45:01誤:A5504T : w = 440(22*20), len = 10
正:A5504T : w = 440(22*20), len = 4
もう何がなんだか・・・
0603デフォルトの名無しさん
05/01/18 03:11:270604600
05/01/18 04:33:38その3つの比較を見るとエミュレータが示すような結果を実機でも期待したいもんだな
自分もIDISPLAY_MeasureTextEx()を多用しているが戻り値wは使っていない
0605デフォルトの名無しさん
05/01/18 04:42:390606デフォルトの名無しさん
05/01/18 17:35:57動かしっぱなしで放置しておくと、突然処理速度が
ガタ落ちになってしまいます。何か(エミュ上で
有効な)キーを押してやると元の処理速度に戻りま
すが、また一定時間経つと処理速度が落ちる・・・
これってエミュだけの問題でしょうか?それとも
実機で発生する(と思われる)省電力モードのエミュ
レーション機能でしょうか?後者だった場合、この
モードに移行させないようにすることはできますか?
実機で動かせる環境にないので、お手数ですがご教授
ください。
あ、あと、エミュで dll が 200kB 近くあるんですが
実機用にコンパイルすると小さくなるのかな?
0607デフォルトの名無しさん
05/01/18 17:47:05処理落ちは EVT_APP_NO_SLEEP で FALSE を返していることが原因だと思うので、
ここで TRUE を返してやれば処理落ちしなくなる。
ただし、KDDIのチェックの時には EVT_APP_NO_SLEEP で
FALSE を返さないといけないってチェックがあるので注意が必要。
実機の時はARMコンパイラで作成したmodファイルで、
エミュのdllとは別物なので基本的には問題無し。
0608デフォルトの名無しさん
05/01/19 10:20:35なるほど。EVT_APP_NO_SLEEP ですね。
ありがとうございます。やってみます。
mod サイズについてもわかりました。
具体的には何割くらい小さくなるんだ
ろう・・・実機用にコンパイルできれば
一発なんだけど、そのための試作プログ
ラム中なもので(^^;)
0609デフォルトの名無しさん
05/01/19 14:56:070610デフォルトの名無しさん
05/01/19 15:07:05そんなこと無いはず。
>>1のQUALCOMM BREWホームで落とせる。
0611デフォルトの名無しさん
05/01/19 18:48:43modはdllの1/10ぐらいになるという話をきいたけど、
あまりあてにならない。
0612デフォルトの名無しさん
05/01/19 20:38:54ykuboさんご愁傷様。
0613デフォルトの名無しさん
05/01/19 22:21:28実機でタイムアウトしないものなんだろうか?
エミュだとやたら怒られるんだけど
0614Callback
05/01/20 00:54:120615デフォルトの名無しさん
05/01/20 01:01:400616デフォルトの名無しさん
05/01/20 10:06:480617デフォルトの名無しさん
05/01/20 11:10:23っというか、なんであんなに日本フォーラムに
機械翻訳したような日本語の質問が多いんだろ?
海外に投げまくってるのかね?CP
0618デフォルトの名無しさん
05/01/20 16:30:22解放について教えてください。
1)IBITMAP_Release()を呼ぶ
2)SYSFREE()で解放する
3)両方
のどれになるんでしょ?
ドキュメントによればSYSFREE()を呼べ、ってなってるけれど・・・
0619デフォルトの名無しさん
05/01/21 01:10:020620デフォルトの名無しさん
05/01/21 01:22:25SDKについてるAPIドキュメントを見ましたが、役に立ちません。
0621デフォルトの名無しさん
05/01/21 04:27:08なぜかTipsにある
https://secsvr.net/brewjapan.com/tech/form.html
0622デフォルトの名無しさん
05/01/21 07:07:34CONVERTBMPはIBitmap*なんか返さないが…。
SYSFREEで開放しなければならない「何かのメモリブロック」が返ってくるだけだよ。
その正体が何かについては一切分からない。
0623618
05/01/21 12:53:44エミュレータでは、SYSFREE()での解放でうまく行ってる。
実機に持っていったときにまた調べてみます。
>>622
AEEDisp.h の IDISPLAY_BitBlt() の解説を読んでみて。
BREW 1.2以降では、IBitmapインタフェースのポインタが返るそうな。
(型は void* だけど)
0624デフォルトの名無しさん
05/01/21 13:24:27多分1,2どっちでも問題ない。両方やったらNG。
WSTRDUP() とかも解放関数がFREEOBJ()と指定されてるけど、
FREE()で解放しても問題ないっぽい。
(そのまま検証に出したわけじゃないから詳しくは知らん)
てかBMP使ってるの・・?
PNGやJPEGでも>>563の1〜3でDDB作れると思うんだが。
0625618
05/01/21 14:42:48ありがd
BMPを使ってるのには特に深い理由はなくて、いま開発の初期なんでいろいろ
試してみてるとこなんです。gzip圧縮すればファイルサイズ自体はあまり変わら
ないので。
>>563の方法も試してみます。
PNG/JPEG展開とCONVERTBMP()のオーバーヘッドがどのぐらい違うのかで、
どっちを使うか決めますわ。
0626デフォルトの名無しさん
05/01/21 15:47:5032x2を作らないとだめ?
0627デフォルトの名無しさん
05/01/21 16:38:000628デフォルトの名無しさん
05/01/21 16:44:05電源ボタン押しても中断メニュー無いんだけど、
これってどうやってるの?
0629デフォルトの名無しさん
05/01/21 17:09:09読み飛ばしてました。Thx
あとARM7のint幅は16ビットですか・・・?
0630デフォルトの名無しさん
05/01/21 17:13:55どっちかは自分で考えてくれ
0631デフォルトの名無しさん
05/01/21 17:34:56つーか、携帯標準で付いてるアプリはまともに検証すらして無い気がする
03SAについてたラジオのアプリも起動時のメモリチェックしてない感じだったし。
0632デフォルトの名無しさん
05/01/21 18:17:11brewSDKのエミュレータでカメラは使用できるのでしょうか?
たとえば、PC上にUSBカメラを接続してその画像を
エミュレーター上で写すことはできるのでしょうか?
よろしくお願いします。
0633デフォルトの名無しさん
05/01/21 18:25:10出来ない。
でも、エミュ上でならなんでも使えるからDirectShowで
真似事みたいなのは作れる。っというか作った
>>629
モードによって違うと思うが、普通(ARMモード)は32bitです。
0634デフォルトの名無しさん
05/01/21 18:25:45無理ぽです。
あと、ICameraはBREWプログラマの敵です。
早急に実機でテストできる環境を整備すべきです。
0635デフォルトの名無しさん
05/01/21 18:26:31必要なワーキングメモリも違う事に注意。
618の方が少なくて済むよ。画像サイズによりけりだけど。
0637デフォルトの名無しさん
05/01/21 21:20:37カメラを使う上で要注意の端末があれば教えてください。
(有名なバグがある、組み方にちょっと工夫が必要となる、など)
特にBREW2.1、QVGA対応端末で。
0638デフォルトの名無しさん
05/01/21 22:44:43コールバックされる順番が機種によって全然違う。気がする。
0639デフォルトの名無しさん
05/01/22 00:28:36とりあえず、○ニーは注意してやった方が良いかも
>>638
俺はパラメータ別にあるGetParamの呼べるタイミングの
違いかなぁ
0641デフォルトの名無しさん
05/01/22 01:21:050642デフォルトの名無しさん
05/01/22 03:30:41自社開発。
0643デフォルトの名無しさん
05/01/22 10:10:06容量とか処理速度とか問題にならない?
BREWアプリを外注したらif文だらけのコードがあがってきたんだが、
これって普通?
0644デフォルトの名無しさん
05/01/22 10:43:32マルチUzee
0645デフォルトの名無しさん
05/01/22 11:41:08自分らで解らないこといっぱい聞いてるなぁ。
いっぱい書き込みあるなぁ。もうだめじゃん
0646デフォルトの名無しさん
05/01/22 14:16:12俺がやりたかったことは見事 >>5 のFAQで儚く散った…
自分の携帯にすら入れられないとは…ちぇっ.
0647デフォルトの名無しさん
05/01/22 15:23:00仮想関数呼び出しのメカニズムから勉強し直せ。
0648デフォルトの名無しさん
05/01/22 15:26:04BREWはさ、HDDレコーダとかカーナビとかのような、ちょっと電子部品が多めの
家電製品の一部であって、KもQも携帯マニアの楽しみなんて考えてないからな。
元々エンドユーザがプログラムするもんじゃないんだよ。
アプリの自作も、発表の手段も、持ち歩くことも、手段は他にいくらでも有んだから、
必ずしも全キャリアの端末が自作アプリ置き場である必要はないだろ。そこを敢えて
ハッキングする!(←語源の方のハックね)というひとなら尊敬もされようが、自分の
活動環境があらかじめ用意されていないから失望した、なんてのは創造性がねえよ。
BREW導入開始当初なら兎も角、今更、こんな板にまで出張して愚痴たれられても…
0649デフォルトの名無しさん
05/01/22 15:33:43ウィルスまがいのアプリが出来上がりってのは笑えないね。
もうちょい考えて環境整えろと。
0650646
05/01/22 17:50:00情報見付けた時に「おぉっ!」っと思ったんで、ちとがっかりしただけでして…。
大人しく今まで通りJavaいじってます。所詮趣味でプログラム書いてるだけなんで…。
C++の方が好きなんですけどね…。
0651デフォルトの名無しさん
05/01/22 17:52:01>>643はiアプリから移植したからそうなってるんじゃないのか?
0652デフォルトの名無しさん
05/01/22 18:30:450653デフォルトの名無しさん
05/01/22 19:33:59ヘルパー関数使えやヴァカ
0654デフォルトの名無しさん
05/01/23 02:31:57648だけど、言い過ぎだった。
「新製品なのになんで動かないんだよ」「非対応は怠慢」から始まって
「自由に作らせろ」「Java VM乗せればいいじゃん」「無料にしろよボケ」まで
数々の有り難いご意見を、毎日毎日毎日毎日毎日頂戴しているせいか
過剰反応してやってしまった。今は反省している。
色んなしがらみが有って「うちはキャリアでも端末メーカーでもないよう」
程度の弁解すらなかなか言えんのよ。
0655デフォルトの名無しさん
05/01/23 15:27:42>>625
PNGからの展開よりもCONVERTBMPの動作のほうが10倍以上速いよ。
#メモリ上のデータから画面に描画するまでで
端末にもよるがARM9端末なら大抵は。
JPEGは問題外。
速度は端末によってかなりバラバラ、さらにデコード待ちのコールバックがTIMERコールバックより優先度が低いらしく発生しない。
>>643
過去にも検証があった気がするがそんなに遅くは無い。
もちろん不要なところまでvirtual入れないようにはしといたほうが良いだろうが。
>>631
検証って行ってもKDDIの基準はQUALCOMMの基準より大分厳しいからな。
標準アプリはKDDIの基準ではNGでもQUALCOMM基準ではOKって可能性も多分にある。
てか、KDDIの基準は厳しすぎ。
0656デフォルトの名無しさん
05/01/24 02:03:510657デフォルトの名無しさん
05/01/24 16:41:10手持ちの実機のDeviceBitmapもQueryInterfaceするまでもなく中身はIDIBだったし。
0658デフォルトの名無しさん
05/01/24 16:44:25ファイルならISHELL_LoadBitmapがお手軽。
gzipかましてるなら、展開時間と展開前バッファとIDIBのコストを考慮。
DDBでいいならIDIBいらないけど、ヒープ余裕なのかな?
0659デフォルトの名無しさん
05/01/24 17:06:54大量のif文(switch-caseに置き換えられないんだろうか?)を書くのと、virtualを使って書くのと。
果たしてどっちがコードサイズ小さくなるんだろうね?
うちは問題になるほど差は無いと思うし、最適化でジャンプテーブル化される余地のあるswitch-caseならともかく
大量のif-else書いて毎回分岐するくらいならvirtualで実装した方が速い気がする。
参考:Efficient C++
0660デフォルトの名無しさん
05/01/24 20:45:54エミュだと ISHELL_CreateInstance() でのポインタの中身が0なんですけど。。。
0661デフォルトの名無しさん
05/01/24 20:49:21http://brewforums.qualcomm.com/ja/showthread.php?s=&threadid=92
0663デフォルトの名無しさん
05/01/24 21:20:22(テキストの続きに画像がきて、またテキストが続く)、その画面をスクロール
したりとかは可能でしょうか?
なんとなく無理そうだと感じてはいますが。
また、APIリファレンスを見ると、IStaticインタフェースでもIImageインタフェース
から読み込んでる画像が表示できるらしいのですが、やり方がよくわかりません。
BREW SDK 3.1を使用しています。
0664デフォルトの名無しさん
05/01/24 22:28:49> (テキストの続きに画像がきて、またテキストが続く)、その画面をスクロール
> したりとかは可能でしょうか?
IStatic単体では無理です。
> なんとなく無理そうだと感じてはいますが。
> また、APIリファレンスを見ると、IStaticインタフェースでもIImageインタフェース
> から読み込んでる画像が表示できるらしいのですが、やり方がよくわかりません。
いや、そんなことは出来ないはずです。
> BREW SDK 3.1を使用しています。
3.1で作ってもまだ対応する端末が無いですよ...。
やりたいことに一番近いのはIHTMLViewerでしょうね。
ゲーム以外でならそこそこ使いでのあるインタフェースです。
(というよりIControl/IDialogは総じて役に立ちません)
0665デフォルトの名無しさん
05/01/25 00:56:462D描画について詳しく書かれた文献はないですか?自分でWindow作ったり
メニュー作ったりするので必要なのです。
DreixtX4以来振りなので何もかも忘れてしまってます。助けてください。
0666デフォルトの名無しさん
05/01/25 01:41:51何を質問したいのか整理して
0667デフォルトの名無しさん
05/01/25 01:47:33全て自前で用意するのが
間違いがなくていいだろうな。
0668デフォルトの名無しさん
05/01/25 02:09:560669デフォルトの名無しさん
05/01/25 09:33:39ありがとうございました。やはり、無理なのですね。
>いや、そんなことは出来ないはずです。
APIリファレンス(SDK 3.0.1 日本語版) IStaticインタフェースの項の
--
3. BREWのリソースファイル、またはコード内に記述されたテキスト文字列
から、タイトル用テキストとテキストメッセージ文字列を取得します。テキ
ストメッセージの代わりにビットマップを使用する場合は、ビットマップを
読み込み、IIMAGE_SetParm()関数を使用してアニメーションのプロパティ
(フレーム数やアニメーションの速度など)を設定します。
--
ここの記述の意図は何なのでしょうか?
英語のフォーラムに似たようなことをやろうとしている方の投稿があった
のですが、フォローがついてなかったです。
>3.1で作ってもまだ対応する端末が無いですよ...。
3.1搭載の端末の開発を行っているものですから。
IHTMLViewerの方を調べてみます。
それでは、ありがとうございました。
0670664
05/01/25 11:09:18すみません、調べてみたら出来るみたいです...ただ使い道と使い勝手は「?」ですが。
文字かイメージかの二者択一なので、混ぜてスクローリングはやっぱり無理です。
ここではさすがに回答できないので公式へポストしていただければゴニョゴニョ...。
0671デフォルトの名無しさん
05/01/26 02:35:490672デフォルトの名無しさん
05/01/26 12:00:09それを考えるとビクビクして、寝られません。
0673デフォルトの名無しさん
05/01/26 12:30:11たしか優良コンテンツプロバイダの場合は2回落ちると優良コンテンツプロバイダからを降ろされちゃうんだっけ?
0674デフォルトの名無しさん
05/01/26 12:39:292回目までは無料。
3回目からは有料になる。
この検証不合格のカウントも機種単位じゃなくて、アプリ単位で数えるとか聞いたような覚えがある。
つまりはW21Kで1回不合格出すと、別機種でのチェックでは2回目からのカウントになるとか・・・
聞いた話だから信憑性は微妙だがな。
0675デフォルトの名無しさん
05/01/26 21:00:41一発で優良が外れて、復帰には三連続合格が必要だったとおもた。
0676デフォルトの名無しさん
05/01/26 21:56:560677デフォルトの名無しさん
05/01/26 21:58:02BREWってPCMの多重再生って出来ますか?
0678デフォルトの名無しさん
05/01/26 22:18:18端末によるけど、日本の機種はダメだったような気がする
0679598
05/01/26 22:37:41A5306ST : w = 96(12*8), len = 8 正常。
A1304T : w = 280(14*20), len = 7 w不正。
もう自前で関数用意するの飽きたよ(´д`)
0681デフォルトの名無しさん
05/01/27 10:26:2220万
詳しくはKDDIに聞いてくれ('A`)
0682デフォルトの名無しさん
05/01/27 16:36:14ここで聞いた症状だと、ブラウザじゃなくてBREWのIHTMLVIEWのバグですよ。
アプリカタログ内で詳細とか表示してるのは、OpenWaveのブラウザじゃなくて
BREWのIHTMLVIEWだから(Qualcomm製)。
0683682
05/01/27 16:38:27http://hobby7.2ch.net/test/read.cgi/phs/1106706121/ へのレスでした。
0684デフォルトの名無しさん
05/01/27 17:39:22一瞬アイコンが砂時計に変わるけどすぐ消える。
なんだろ、謎だ。ez2urlto: 使うかー。
あー、機種判定して動作わけるのマンドクセ。
0685デフォルトの名無しさん
05/01/27 17:49:07ま た T か
0686デフォルトの名無しさん
05/01/27 21:58:10ITransform で TRANSFORM_FLIP_X を指定したら
絵の上下が逆になった。
0687デフォルトの名無しさん
05/01/27 22:03:300688デフォルトの名無しさん
05/01/27 22:59:380689デフォルトの名無しさん
05/01/27 23:05:33X軸でフリップするからそれで正しいのではw
0690デフォルトの名無しさん
05/01/28 13:06:07http://www.athill.com/INFO/NEWS/main_041222.html
さぁ語れ
0691デフォルトの名無しさん
05/01/28 13:29:08言われてみたらそうかもな〜
でも、いままで触ったことのある環境では、FLIP_Xでは左右反転だったんで
面食らったw
0692デフォルトの名無しさん
05/01/28 13:30:59ちょっと経営側とプログラマーを勘違いしてるのかも・・・
しかし、情報系に興味持ってくれている子どもが多いってのは良い事だ
たとえ最終的に文型職に進んだとしてもきっと役に立つだろうし
0693デフォルトの名無しさん
05/01/28 15:47:14どう考えても標本になる人数少なすぎるだろ
0694デフォルトの名無しさん
05/01/28 16:56:531位…プログラマー
20位…ゲームプログラマー
項目を分けた基準が何なのかってことと、順位差の原因が気になるかな?
人気(順位)よりも具体的にどういうイメージを持っているのかに興味があるな。
10代男子が思い浮かべるプログラマー像、システムエンジニア像、クリエイター像、
他、「コンピューター関係」は具体的に何を思い浮かべるのか。
0695デフォルトの名無しさん
05/01/28 22:31:52試しているのですがstatusというインターフェイスがなくてエラーが出てしまいます。
これは何なのでしょうか?誰か教えていただけませんか?ちなみにp104です。
0696デフォルトの名無しさん
05/01/28 22:40:19ここらに記載されているサンプルは自前のクラスを使うので(つまりStatusはBREW標準のクラスではないので)、このソースだけコンパイルしようとしても通らないはず。
本(6ページ)に記載されてるURLからサンプルを丸ごと落とせば解るんじゃないか?
0697デフォルトの名無しさん
05/01/29 04:08:32あの本はかなり前のページから内容引きずってるんで、
一部分だけソースコピってもマトモに動かないよ。
各章の頭から必要な関数やらを引っ張り出して、足りない部分補足しないと動かない。
で、それが出来るなら最初から見ない方が早いと思うw
0698デフォルトの名無しさん
05/01/29 05:41:05に最新版のアプリをダウンロードして、そのまま処理を続行する)すること
は可能でしょうか?
iアプリにはそういう機能があるらしく、BREWアプリでもできると助かるので
すが。あるとしたらIShellインタフェースとかかと思い、APIリファレンスを
みてみましたが、見つかりませんでした。
自分自身のバージョンを取得する関数はあるので、なんらかの仕組みはあるの
かなぁと思っているのですが...。
0699デフォルトの名無しさん
05/01/29 07:56:03ねーよw 何ふきこまれたんだ
iアプリでやれるのは
1.ダウンロード済みのアプリを、ユーザーが再度ダウンロードしようとした場合、
日付を判定してそれが新しいものだったら上書きでダウンロード(バージョンアップ)する。
2.動作中のアプリから別の(ダウンロード済みの)アプリを呼び出して、自分自身は終了する。
で、どの道、BREWでもアプリのダウンロードを指示するAPIはないし、
実行中のアプリを書き換えることができるはずもない。
0700デフォルトの名無しさん
05/01/30 16:46:21新機種対応する時に、文字サイズが違う時は、
A.あらかじめ、色んなフォントサイズに合わせるようプログラミング
B.文字サイズがちがう機種ごとに新バイナリで対応
のどちらが一般的でしょうか?
私、携帯のアプリ開発に初めて回されまして、
A.を提案したのですが、携帯はB.だよとメンバーに総叩きにあいましたw
0701デフォルトの名無しさん
05/01/30 18:33:19一般的にどちらってのは特にないんじゃないか。ケース・バイ・ケースで。
レイアウトやデザイン主体ならBかもしれないし、テキスト主体ならAかもしれないし。
というよりその問題はフォントサイズだけ見て決まることじゃないと思う。
0702デフォルトの名無しさん
05/01/30 19:18:580703デフォルトの名無しさん
05/01/30 19:33:25どうもです。
iアプリでは、動作中のアプリから新しいアプリをダウンロードして、
古いほうは終了、新しい方を起動(引数?わたしで継続実行)みたい
なことができると(そういう仕様のアプリを作る予定)聞いたのです
が、BREWアプリでは難しいのでしょうか? iアプリの方はそういう
仕掛けがあるのかなぁと思ったのですが。
>2.動作中のアプリから別の(ダウンロード済みの)アプリを呼び出して、自分自身は終了する。
(ダウンロード済みの)アプリというのが、この場合新しいバージョンのアプリをダウンロードするアプリ
(標準でそういうのがあるのかな)になるのと思ったのですが。
今ちょっと調べてみたのですが(すみません)、iアプリ更新機能連携起動に相当する仕組み
がBREWアプリで(簡単に)できそうかな? というのが知りたいです。
0704デフォルトの名無しさん
05/01/30 20:26:58下請的にはBは考えられませんね。メッセージ等は自動調整。メニュー等は画像で持つのがいいな。
0705デフォルトの名無しさん
05/01/30 21:21:34>>703
iアプリではアプリ実行中に新しいバージョンをダウンロードさせて再起動することができる。
失礼した。再起動後に途中から開始する(ように見せかける)のは作り込み次第で。
BREWアプリでは、サービスガイドやプログラミングガイドを見る限り同様の仕組みはない。
料金体系のことがあるしアプリマネージャーからの操作以外にバージョンアップさせる方法
はないような気が。EZアプリカタログを通す以外のダウンロード方法もないし。
いまいち役に立たない解答でスマン。フォローできる人いたらよろしく頼む。
0706デフォルトの名無しさん
05/01/31 10:49:56もし自前でDLしようとしても、認証関係で落とされるんじゃないか?
0707デフォルトの名無しさん
05/01/31 11:45:04アプリから自動でバージョンアップさせたいと考えています。
ですが、仕組みそのものがなさそうですし、認証とかはいるとなると難しいそう
ですね。
せめて、アプリのバージョンアップを誘導できればいいと思うのですが、アプリ
からEZアプリカタログに最新版があるかどうか調べる手段はあるのでしょうか?
(やはり、これも認証とかが絡んでしまう?)
0708デフォルトの名無しさん
05/01/31 12:27:25アプリカタログはあれはあれで一つのBREWアプリなので。
最新版の有無とかの確認が必要なら、自前でサーバ用意しておいてやるのが良いんじゃなかろうか。
まあ通信の必要が無いアプリだとそのためだけに通信させるのは馬鹿げてる気がするけどね。
0709707
05/01/31 13:32:25自分で作って対象アプリ書き換える必要があるが、
KDDIの資料を(少しでも)読んでいるなら、
他のアプリのフォルダにアクセスするのは無理だとわかるだろう。
自分でローダーを作って、実行ファイルを自前でメモリに展開して実行すれば
もちろん実行できるが、KDDIの認証で落とされる。
最新版か確認するだけなら自分とこでVer確認する鯖作れば?
0710709
05/01/31 13:33:310711デフォルトの名無しさん
05/01/31 13:53:33同意。
docomoの方がフォント関連は楽だよナァ
というかT端末文字デカ杉(;´Д⊂)
もし端末開発の中の人見てたらアプリ制作現場からのお願いです。
各社端末仕様は出来るだけ統一してください。
ホントお願いします。
0712デフォルトの名無しさん
05/01/31 14:01:04Tのフォントがでかかったり03SAのsmallがDocomoのtinyサイズだったりするしな。
だが、携帯端末開発者スレは俺も見てるけど中の人も大変らしいぞ
もういや 携帯電話開発 お前ら元気ですか Phase8
ttp://pc5.2ch.net/test/read.cgi/prog/1106234370/
0713デフォルトの名無しさん
05/01/31 15:29:43して更新したい方向です。(わかりづらくてすいません)
最新バージョンは、サーバ経由で取得できそうですの
で、アプリカタログに誘導できれば、最低ラインには
到達できそうです。
WAPブラウザからは、アプリカタログまでは誘導できる
ようですが、IHtmlViewer等でできるといいですけど。
(最悪、手動で更新してくださいとメッセージがだせれ
ばよいですが)
ちなみに、初回ダウンロード時には、生成されてない
ファイルなどは、更新時に引き継げるのでしょうか?
Start with Brew というドキュメントには、MIFやフォルダ
名は、数字の名前に置き換わるみたいな記述があり
ますが。(同じフォルダにダウンロードされる?)
0714デフォルトの名無しさん
05/01/31 15:52:03どうでもいいがそんなもんぁKDDIに聞け
こんなとこでうだうだやるより早かろ
書けない情報もあるだろうしな
0715デフォルトの名無しさん
05/01/31 22:42:560716デフォルトの名無しさん
05/01/31 22:58:290717デフォルトの名無しさん
05/02/01 11:53:47KDDIのリファレンスには無いAPIとかってどこまで使用していいの?
こういうのも全部聞かないといけないのかね。
0718デフォルトの名無しさん
05/02/01 14:44:59KDDIのCP資料にだいたい書かれてる
ところでBREW用のOpenGLを詳しく解説したサイトない?
なんかもう英語しかなくて逝きそうなんだが
0719デフォルトの名無しさん
05/02/01 14:59:54仕事でやってる奴がほとんどってのが問題なんだろうけど。
0720デフォルトの名無しさん
05/02/01 15:58:03いや、CP資料に書かれてないAPIなんだけどね。
(うちの)実機でも動く。
ちなみにBREW3.0でアプリ側からアップロード指示できるようになるぞ。
よかったね>>713
0721デフォルトの名無しさん
05/02/01 16:00:05あなたが↓のページの作者でないならば役に立つかも。
http://brewforums.qualcomm.com/ja/showthread.php?s=&threadid=201
0722デフォルトの名無しさん
05/02/01 16:49:26レベル低い職場だと大変だね。
0723デフォルトの名無しさん
05/02/01 16:55:16(ノД`)かわいそー
0724デフォルトの名無しさん
05/02/01 17:01:56ez2系の方がパラメータ渡すのが楽だし、端末仕様でOKならそっち優先すべきじゃないかな。
>>700
技術レベルが低い職場だと大変だね。
Tだけ分けるって手もあるけど、コードサイズ大して変わらない気がする。
0725デフォルトの名無しさん
05/02/01 18:09:52検証端末はW21Sが2つ。どちらも製造ロット2004年8月。
で次の動作を行います。
・あるゲームアプリを起動しサスペンドにする。
・(名前を言っていいものか分らんので)あるツールアプリを一発起動させAlermを選択し、ゲームアプリに戻る。
・Alermでツールアプリが起動されるまで放置。
・ツールアプリが起動されたら終了させ、ゲームアプリに戻る。
この動作を繰り返し行うと
1つ目のW21Sではゲームアプリの処理速度が落ちます…orz。
もう1つのW21Sでは何回やっても処理速度が落ちません。
当然、どちらも同一バイナリです。
後、処理速度の落ちた端末をしばらく放置しておくと
なぜか元の処理速度に戻ります。
誰かご教授お願いします(´人`)
0726デフォルトの名無しさん
05/02/01 18:18:48現在私はHTMLVIEWERを用いてプログラムやっています。
その後、ファイル処理のプログラム(sample.txtファイル作成しデータを書き込む関数を追加しました)
を追加したのですが、
アプリケーションエラー「Priv Violation」sample.txt
と出てプログラムがとまってしまうんです。
どういうことでしょうか?教えてください。
0727デフォルトの名無しさん
05/02/01 18:26:10見なかった振りしとけ。
>>726
ソース出せ。
ココには張るなよ。
0728デフォルトの名無しさん
05/02/01 18:38:44ttp://dblog.dreamgate.gr.jp/user/e008/e008/
0729684
05/02/01 18:47:25あー、EVT_APP_SUSPEND で true 返してないだけだった罠。
恥ずかしくて結果報告も出来なかったよ。w
>>725
Alerm って使用禁止じゃなかったっけか。
>>726
9割方MIFファイルが原因だと思う。
0730725
05/02/01 18:53:56(`・ω・´)ヾらぢゃーです 隊ちょー
そのまま、検証へぶちこみます
>>729
いえいえ、ゲームアプリ自体では当然使用してないですよ〜
(正確には待受アプリで使っちゃ駄目なんじゃなかったっけかな?)
0731デフォルトの名無しさん
05/02/02 00:15:25>>729
お返事助かります。
そのソースですが、
かなり面倒な説明で申し訳ないのですが。そしてお手数ですが・・・
↓これをベースにして。
http://www.k-jbs.co.jp/jbscgi/dlcounter.cgi?url=http://k-jbs.dnsalias.net/coworkers/fukumitu/brewsample/CalcJoule.zip&name=brewsample
↓これのファイル書き込みのところだけ組み込んでみました
http://www.s-cradle.com/developer/technicalnotes/tnzn/0001/filesystem.zip
ベースとしているプログラムは、
HTMLVIEWERを使い数字を入力して何かの速度を計算する、
というものになっています。
私が試したのは、計算結果をtxtに書き込むという処理です。
0732デフォルトの名無しさん
05/02/02 00:21:10http://k-jbs.dnsalias.net/coworkers/fukumitu/brewsample/
このページの本サンプルプログラムソース
のリンクで落としました。
0733デフォルトの名無しさん
05/02/02 01:22:00確認したいんだけど「特権レベル(Privilege Level)」という単語を知ってる?
0734デフォルトの名無しさん
05/02/02 01:40:45ソフィのサンプル貼られてもねぇ・・・
とりあえずサービスガイド一通り目を通せ。
そんなんじゃ今後ずっと躓くぞ?
0735725
05/02/02 12:21:52上司にぬっコロされそうになった(ノД`)あいーん
だって原因わかんないんだもん
別機種から対応するか…
(T_T )...トボトボ
0736デフォルトの名無しさん
05/02/02 13:17:22どうしても駄目ならKDDIに聞け。
KDDIの方から端末メーカーに原因を聞きに行ってくれたりするぞ。
結果、糞仕様が明らかになる可能性も高いんだが('A`)
0737デフォルトの名無しさん
05/02/02 14:00:43どのように権限がかけられているかわかるはずもなく、
1から自分で作りたいと思います。
経験不足でした。
皆様に感謝いたします。
0738デフォルトの名無しさん
05/02/02 14:22:18隅から隅まで穴があくほど見てみれ。
それでも分からなければ二つのサンプルのMIFファイルを見比べてみれ。
0739デフォルトの名無しさん
05/02/02 17:05:25アクセス終了後にIWebをリリースしたりしても回避できないし。
この辺の解決方法知ってる人いませんか?
0740デフォルトの名無しさん
05/02/02 17:43:00( ̄∇ ̄)え!?
通信した後、重くなる端末ってけっこうあるんすか?
おいらが試した端末は
A5306STとW21Sですが重くならなかったですよー。
W21Sは通信中も重くならないっす。
0741デフォルトの名無しさん
05/02/02 17:44:10何かよく聞く話な気がするけど、漏れそういう現象見たこと無いんだけど…
具体的に遅くなる端末教えてもらえませんか?
ちなみにIWebその他全部、通信周りは利用ごとに解放してます。
0742741=598
05/02/02 17:54:27ダウンロード直後に画面全体ポリライン描きまくって描画速度を出してるけど、
特に遅いと感じた事は無い。
蛇足だけど IDISPLAY_MeasureTextEx() の機種依存情報、
いくつか既出だったのね。オハズカシイ(´∩ω∩`)
0743デフォルトの名無しさん
05/02/02 18:02:37アプリを動かした時に重くなったことがある。
そのときは、画像を読み込んだら軽くなった。
原因は不明・・・
0744713
05/02/02 18:04:15>>720
3.0のリリースノートを見てみたのですが、アップロード指定の件、見つからなかった
のですが、もし可能でしたらどちらに記載されていたか教えていただけないでしょうか?
(話の流れだと、3.0のヘッダーファイルになるのでしょうか?)
0745デフォルトの名無しさん
05/02/02 23:59:13フォルダ \BREW SDK v2.1.1 Ja と \BREW Addinsをコピーして、\BREW Addins\vs60の中身をVS6の
\Common\MSDev98\Template にコピーしました。
新規作成ダイアログの途中、MIFファイルの作成で環境変数が未設定だとわかったので
BREWDIR SDKをコピーしたフォルダ
BREWSDK SDKをコピーしたフォルダ
BREWSDK210JA SDKをコピーしたフォルダ
BREWADDINS アドインのフォルダ
を設定しましたが、それでもMIFエディタが立ち上がりません。
またMIFの作成をパスして終了したらAEEAPPGEN.C等のファイルが
..\..\..\..\..\..\..\SRC\AEEAPPGEN.C となっており実在するファイルへリンクが繋がっていません。
ウェブからのインストールと同じ状態にするには他に何を設定すればいいかご存知の方がいたら教えてください。
0746デフォルトの名無しさん
05/02/03 00:09:41がんがってください。俺にいれるのはこれだけでつ。
あとはなにか分かったらここに報告してくれると
他の人が助かるかもしれないのでよろしくおながいします。
つーか遅くなるほうの機体が壊れてるんじゃねーの?
>>745
インストール済みのPCとHDDを取り替えれば?
0747デフォルトの名無しさん
05/02/03 01:14:33怒ってるのかな?
0748デフォルトの名無しさん
05/02/03 13:11:30とりあえず現象が確実に出るのがinfobar。
他にも海外端末(具体的に言うとモトローラV810とか)でも出ているらしいです。
限界速度近くで動かしているのもあり、微妙な速度低下でもFPSが落ちちゃって困ってるんですよね;;
あと、IWebアクセス中、アクセス後はQCELPの再生時にIMediaの状態がPLAYに
なっても実際音が鳴り始めるのが遅れるとか言う現象もあったり。
インジケータを見ていると、通信中のアイコン点滅がアクセス後も10秒くらい
続いているので、内部的に通信してる=チップセットに負荷が掛かるってことな
んだと思うんですが。
0749725
05/02/03 13:36:40ふぁーい(´ω`)ノ
何かわかったら書込みしまっす〜
機種が壊れて…おれもそう思いたいっすけどね〜
CPにあるテスト機3機種で起きるみたいなのよね
おれの持ってる市販のW21Sだけ起きないw
>>748
INFOBARって中身A5306STだって噂を聞いたことあるけど
通信で重くなるって違いがあるってことは
その噂は間違いなのか…φ(._. )フムフム
0750デフォルトの名無しさん
05/02/03 14:06:550751デフォルトの名無しさん
05/02/03 18:24:14TRANSFORM_*を指定するとA5503SAにて、上3分の1ほど描画されません。
他の機種では正常に描画されます。
わかるかたいらっしゃいますか?
0752デフォルトの名無しさん
05/02/03 19:17:13ITRANSFORM_TransformBltSimple()は特に必要とする前処理はない。
そのカキコだけでは何とも言えないが、引数と元にする画像を再度チェックしてみてはどうか。
0753デフォルトの名無しさん
05/02/03 19:43:20表示したいのはIBITMAP_CreateCompatibleBitmapで作った240*240画像です。
(そこにIImageを描画しています)
ITRANSFORM_TransformBltSimple(m_pITransform,0,0,img,0,0,240,240,0,COMPOSITE_KEYCOLOR);
では正常に表示され
ITRANSFORM_TransformBltSimple(m_pITransform,0,0,img,0,0,240,240,TRANSFORM_FLIP_X,COMPOSITE_KEYCOLOR);
などでは上3分の1ほど表示されません。
エミュでもA5501Tなど他の機種でも正常なのです。
今回はアプリでは使わなそうなので良いんですが…わけわかりません。
0754デフォルトの名無しさん
05/02/03 21:00:15IBITMAP_Invalidate()かな
0755デフォルトの名無しさん
05/02/04 11:52:10ありがとうございます。
しかしながら、マニュアルからこの関数の使い方がいまいちわかりません。
1) 240*240のIBitmapを作る
2) 1)で作ったIBitmapにIImageを描画
3) ITRANSFORM_TransformBltSimpleでIBitmapを描画
ですと、2)の後に使用すればいいんでしょうか?
0756デフォルトの名無しさん
05/02/04 12:19:59あえて言うなら 3) の後
2) でも問題はない
(要はIDISPLAY_Update()までにターゲットのDDBのdirty rectを拡げときゃいいんだから)
0757デフォルトの名無しさん
05/02/04 13:05:18ありがとうございます。
今日はできないようなので、来週にでも試してみたいと思います。
0758デフォルトの名無しさん
05/02/04 16:00:310759デフォルトの名無しさん
05/02/04 16:15:39ez2urlto: 使えば出来るんちゃうか?
ezurlto: だと、アプリ終了時にメモリ解放しちゃうから駄目ぽ。
0760デフォルトの名無しさん
05/02/04 16:42:05ググっても出てこないんですけど、KDDI拡張とか?かな。。
0761デフォルトの名無しさん
05/02/04 19:23:42あー、まさにその通り。
ISHELL_BrouseURL() の KDDI仕様です。
0762デフォルトの名無しさん
05/02/04 19:24:130763デフォルトの名無しさん
05/02/07 09:41:060764デフォルトの名無しさん
05/02/07 13:04:45FFはやったか?
0765デフォルトの名無しさん
05/02/07 23:41:15http://hobby7.2ch.net/test/read.cgi/appli/1106984938/
868 名前:非通知さん@アプリ起動中 投稿日:05/02/07 22:05:12 ID:2bpJt0lw
今発見したんだが、どうやらWebのキャッシュがたまってるとアプリの動作が遅くなるみたいだ。
電源切ってキャッシュ消した後にロックマンやったら動作が速くなった。
既出だったらスマン。
869 名前:非通知さん@アプリ起動中 投稿日:05/02/07 22:08:09 ID:6mA9h/9J
>>868
外出というより常識かと思われ。
ただし、W21CAなどのハイエンド機種では大差は無い。
0766デフォルトの名無しさん
05/02/08 14:37:35ありがとうございます。調べてみますー
0767デフォルトの名無しさん
05/02/08 15:59:21http://k-tai.impress.co.jp/static/news/2004/04/01/infobaa.htm
0768デフォルトの名無しさん
05/02/08 16:11:42で、そのインフォヴァー('A`)にはBREWは乗るのか?
0769766
05/02/08 16:51:36何度もすみません。
ISHELL_BrowseURL(app->a.m_pIShell,"http://www.yahoo.co.jp");
こんな感じで使うんですよね?
エミュ、実機共に何も起きなくて悩んでおります。。
これらのドキュメントは、もしやCPしか見られないんですかね?
こまりんこ
0770デフォルトの名無しさん
05/02/08 17:00:25>ISHELL_BrowseURL(app->a.m_pIShell,"http://www.yahoo.co.jp/");
惜しいけど違う。
いずれにせよそんなんじゃ検証通る訳無いんで、CPに資料貰って来い。
0771デフォルトの名無しさん
05/02/08 17:01:06エミュは何も起きない。でも、渡されたURLを確認することは出来た気がする。
というか、BREWの実装としてはシェルにURLを渡したらその先の実装はネイティブに依存。
URLがブラウザで見れるインターネットのサイトかどうかもわからん。
KDDIの端末ではブラウザを起動することも出来るが、
その詳細についてはCPにならないと教えてもらえない。
っていうか、そんなんだから優秀な学生プログラマがBREWに興味持ってくれないんだ。ヽ(`Д´)ノ
0772771
05/02/08 17:20:37あ〜、769をけなしてるんじゃないよ。
qualcommがBREW有料にするからイクナイって言いたい訳。
0773デフォルトの名無しさん
05/02/08 18:45:19ezfactoryで配布しているプログラミングリファレンスにコードまで載ってる
4.1.1 ISHELLの(43)
0774デフォルトの名無しさん
05/02/08 18:49:49スマンカッタ
0775デフォルトの名無しさん
05/02/09 15:30:110776766
05/02/09 16:12:42ブラウザは起動は無事成功いたしました。感謝
で、BREWアプリは終了させてブラウザのみ動いてほしいのですが
こういうのは。。どうなんでしょう。
アプリを終了させると、ブラウザも終わってしまうので。
0777デフォルトの名無しさん
05/02/09 16:23:500778デフォルトの名無しさん
05/02/09 17:31:59>>759
どっちが正解だ?
ブラウザ起動させてアプリ終了て不可能?
0779デフォルトの名無しさん
05/02/09 18:18:33ezurltoだと不可でez2urltoだとOKだな多分。
プログラミングガイド精読しる
0780779
05/02/09 18:24:41漏れは使ってないからワカンネ。
0781777
05/02/09 19:18:26・待ち受けアプリでezurltoを使ってブラウザ起動すると、
呼び出し元のアプリが終了してしまい、無事にアプリに戻れなくなる。
・ez2urltoを使うと、待ち受けアプリからでもアプリを終了させずに
ブラウザ起動できるようになる。
このことから、ezurltoもez2urltoも『アプリからブラウザを呼び出しても、
元のアプリに無事戻ってこられるように』という考えで用意されてると言える。
つまり、待ち受けでも待ち受けでなくても、ezurltoでもez2urltoでも、
「ブラウザを起動してアプリは終了させる」という動作はできない、と。
(わざわざ、そういう操作をできないようにしているのだと)
…と、自分は理解しているんだが。マチガエテル?
0782デフォルトの名無しさん
05/02/09 22:44:31ブラウザ終了時にアプリも終了させるのはダメ?
0783デフォルトの名無しさん
05/02/10 02:10:27だめ。
まあカスタムイベント受信→イベントハンドラ内でISHELL_CloseApplet()で見た目としては閉じられそうだけど。
0784デフォルトの名無しさん
05/02/10 02:51:58ezurlto使ってプログラミングガイド通りの記述をすると、
アプリはサスペンドに入るっぽいんだが。
サスペンドイベント捕まえてISHELL_CloseApplet()呼んでもアプリは終了しなかった。
ez2urltoは試してないんでわからん。
0785デフォルトの名無しさん
05/02/10 09:54:01・・・自分で試してみれって話だな。w
0786766
05/02/10 16:56:09いっしょにブラウザも終わってしまいますねー。
一応それっぽいことはできました。
ブラウザ起動で、サスペンド中は待機。
で、アプリに戻ってきた場合は、終了するclassに入っていく・・ような。
一瞬の間はできてしまいますが。
検証とおるかなー
0787デフォルトの名無しさん
05/02/13 23:43:470788デフォルトの名無しさん
05/02/13 23:59:030789デフォルトの名無しさん
05/02/14 10:44:140790デフォルトの名無しさん
05/02/14 14:12:290791デフォルトの名無しさん
05/02/14 15:04:04今思えば、ちゃんと休み取っとくんだった・・・
0792デフォルトの名無しさん
05/02/14 16:17:180793デフォルトの名無しさん
05/02/15 20:35:18ttp://ac-admin.appget.com/
0794デフォルトの名無しさん
05/02/16 13:13:280795デフォルトの名無しさん
05/02/16 13:36:02どうせ怖くて落とせないだろうし無問題。
0796デフォルトの名無しさん
05/02/16 20:10:01いや、アプリゲットは公式コンテンツへもリンクできるから、公式コンテンツを宣伝できるってことでしょ。
勝手アプリなんて今のBREWでできるわけないし。
0797637
05/02/16 21:51:48端末仕様書に嘘が書いてあったりヘッダファイルにバグがあったり
おまいら本当にCPにアプリ作らせる気があるのかと>K,Q
0798デフォルトの名無しさん
05/02/16 21:57:43禿しく同意w
機種毎にフォントが違うのはどーにかするが、
カメラまわりの機種依存処理はホントひどいな。
0799デフォルトの名無しさん
05/02/16 23:12:58ところで半透明くらい使えるようになった?
0800デフォルトの名無しさん
05/02/16 23:34:200801デフォルトの名無しさん
05/02/17 11:04:13ところで、DBGPRINTFを使ってる人ってリリース時にどうやって削除してる?
ILoggerはマクロで抑制できるけど、DBGPRINTFは無理だよね?
可変長引数を取るマクロってARMコンパイラで使えるの?
0802デフォルトの名無しさん
05/02/17 12:52:35マクロじゃなくて置換で
#ifdef _DEBUG
#define TRACE DBGPRINTF
#else
#define TRACE if(0)DBGPRINTF
#endif
if(0)DBGPRINTFの方は常に偽なので最適化で削除される。
あまり誉められたやり方じゃないが、ARMコンパイラで警告出さずにやる方法はこれしか思いつかん
かった。#else〜#define TRACE〜#endifの空宣言にすると意味の無い文字列やシンボルがあります
とか警告出るのよね。
0803801
05/02/17 13:11:16おーありがとう。
今は
#if defined(DBGPRINTF) && !defined(_DEBUG)
#undef DBGPRINTF
#define DBGPRINTF
#endif
ってやってて、Warningでまくってたわw
#define DBGPRINTF(fmt, ...)
が使えればいいんだけどねぇ。
0804デフォルトの名無しさん
05/02/17 13:44:10BREW環境はよく知らない通りすがりですが
TRACE((fmt, ...));
と書いとけば
#ifdef _DEBUG
#define TRACE(args) DBGPRINTF args
#else
#define TRACE(args)
#endif
でいけるような。
0805802
05/02/17 15:41:35なるほど、()で引数1つに纏めるわけですか。
しかしこれ、DBGPRINTFの第一引数はchar *固定なわけですがARMコンパイラだと
TRACE(("nullpo %d", 100));
を
DBGPRINTF(("nullpo %d", 100));
と展開しようとしてキャストエラー吐かれます(非0なconst intをポインタに変換できない)。
同様の手法でやるなら、IWEB_GetResponseの引数みたいに
#ifdef _DEBUG
#define TRACE(fmt, arg) DBGPRINTF(fmt, arg)
#else
#define TRACE(fmt, arg) /* nop */
#endif
と定義して、呼び出し側で
TRACE("ぬるぽ %sx%d", ("ガッ", 256));
みたいに呼ぶしかないんじゃないでしょうか。
0806デフォルトの名無しさん
05/02/17 16:57:23> DBGPRINTF(("nullpo %d", 100));
TRACE(("nullpo %d", 100));
↓
#define TRACE(args) DBGPRINTF args
↓
DBGPRINTF ("nullpo %d", 100);
を期待したんですがARMのプリプロセッサの仕様かもしれないですね。
引数2つだとfmtだけのTRACEが書けないので、うーん。
一応確認ですがDBGPRINTFの後のargsに()は付けないんですよー。
0807802
05/02/17 17:07:47でうまくいきました(*´д`)ゞ
あーハズカシ…
0808デフォルトの名無しさん
05/02/17 17:42:290809デフォルトの名無しさん
05/02/17 20:38:27#ifdef _DEBUG
#define _DPRT0(fmt)DBGPRINTF("%s(%d):"fmt,_BN(__FILE__),__LINE__);
#define _DPPRT1(fmt,a)DBGPRINTF("%s(%d):"fmt,_BN(__FILE__),__LINE__,a);
#define _DPPRT2(fmt,a,b)DBGPRINTF("%s(%d):"fmt,_BN(__FILE__),__LINE__,a,b);
#define _DPPRT3(fmt,a,b,c)DBGPRINTF("%s(%d):"fmt,_BN(__FILE__),__LINE__,a,b,c);
#else
#define _DPRT0(fmt)
#define _DPRT1(fmt,a)
#define _DPRT2(fmt,a,b)
#define _DPRT3(fmt,a,b,c)
#endif
見たいな感じにしてる。
ファイル名と行番号を自動で同じ行に出したいので、可変引数一括り方式だとうまく行かなくてね。
まあ3つ以上も引数とることなんてまず無いのでこれで用は足りるがほしければ定義増やせば良いだけだし。
ちなみに_BNはbasename的な機能を持たせたマクロね。
0810デフォルトの名無しさん
05/02/17 23:03:32ごめん。ちょっと質問させて。
アルファブレンドを直接書いて、使い物になる速度って出ます?
たいがい広範囲にかぶせますよね?アルファ付きのものって
0811810=(799)
05/02/17 23:09:37自分はこんな感じでやってます。
誰も書かないってことは、もしかして推奨されない方法?
それともトンデモ勘違いやらかしてる?
int debugprint(char* str,...)
{
#ifdef DEBUGLOG
va_list ap;
GP* gp;
gp = (GP*)(GETAPPINSTANCE());
va_start(ap,str);
VSNPRINTF(gp->gvarsDebugbuffer,128,str,ap);
va_end(ap);
DBGPRINTF(gp->gvarsDebugbuffer);
#endif
return(0);
}
0813デフォルトの名無しさん
05/02/18 01:36:310814デフォルトの名無しさん
05/02/18 01:54:180815デフォルトの名無しさん
05/02/18 08:53:330816デフォルトの名無しさん
05/02/18 10:02:24スペック的に不可能かと・・・
0817デフォルトの名無しさん
05/02/18 10:08:01やったことあるよー、ゲーム下請けだけど
iアプリ→BREW→iアプリ
とか微妙な仕様変更付きでやったことがある。
当然iアプリ移植のときにサイズオーバーしたら仕様削減とか
してもらわんと入らないわけだが。
0818デフォルトの名無しさん
05/02/18 14:58:58ちょっとまえぐらいのレスでブラウザ起動について参考にさせていただきました。
で、W21Kなんですけど、起動しないんですよね。W21SとW21SAはできてるんです。
W21Kも、まったくできないわけでなく、電源を入れた直後ならできるという。。
メモリ周りなのか、ブラウザの履歴もおかしいような感じです。
ソースは、リファレンスのほとんどそのままです。
何か注意点あります?
0819デフォルトの名無しさん
05/02/18 16:32:42メモリ周りっぽいなぁ。
EVT_APP_SUSPEND あたりで FALSE 返してるとか。
W21K だと ezurlto だから、ブラウザが起動してる間は
ShimBrowserInfo 構造体のヒープは解放しちゃいけないよん。
W21S と W21SA でうまくいってるのは、たまたま解放された
ヒープの内容が書き換えられてないだけだと思う。
0820デフォルトの名無しさん
05/02/18 19:28:20あーウチと同じ症状だ。
CPからバグレポ着たとき「なんか見たことあるなぁ」と思ったら725さんの書き込みですた。
とりあえずW21Sのレジューム復帰後の処理落ち対処方法わかったけど
KDDIに確認するからってCPから検証止められた。
・・・・というか725さんと同じCPな気がする_| ̄|〇
0821デフォルトの名無しさん
05/02/18 20:13:07端末のフォントサイズやフォントの種類を変更した場合
IHTMLVIEWERで作成した画面のテキストのフォントは追従し
てくれますでしょうか?
こういうのは機種(メーカー)依存?
0822デフォルトの名無しさん
05/02/19 00:37:26ISHELL_CreateDialog(pi->a.m_pIShell, "dialog.bar", 6001, NULL);
の戻り値がSUCCESSとなりません(コンパイル自体はできます)。
リソースIDやファイル名も合ってます。
ダイアログを作成するに留意する点ありませんでしょうか?
0823中の糞
05/02/19 02:08:29EVT_DIALOG_INIT, EVT_DIALOG_START イベントにTRUEを返す。
IDialogは仕様が激しく糞であり、利用はまったく以ってオススメできません。
特にITextCtlを貼った場合、その動作ははっきり言って予測不能です。
0824デフォルトの名無しさん
05/02/20 00:43:35しておりますが、表示に5秒ぐらい時間がかかってしまいます。
BREW出力ウィンドウを見ると、IWEB_GetResponse()を実行した後に
==>AEETAPI_cbCallEvent
と表示され3秒ぐらい後にもう一回
==>AEETAPI_cbCallEvent
と表示されてます。
関数はこんな感じで実行してます。
IWEB_GetResponse(pi->web,
(pi->web, &pi->piWResp, &pi->cb, pi->purl,
WEBOPT_HEADER, "X-Method: GET\r\n",
WEBOPT_METHOD, "GET",
WEBOPT_END));
表示速度を速める方法ありませんでしょうか?
0825デフォルトの名無しさん
05/02/20 04:36:30事前にアクセスしといてメモリに置いとくのがいいのではないかと。
その場その場でネットワークからロードはオーバヘッドが大きすぎる気が。
ただGETでアクセスするだけでもIWebは時間がかかる。
ISocket使ってコネクション確立してhogehogeとやったほうがいいかも。
0826デフォルトの名無しさん
05/02/20 04:37:33実用に耐えるか試したことないので、分からないな。
素直に先読みするのが賢いんではなかろうか。
0827デフォルトの名無しさん
05/02/20 09:13:51しとけばいいんじゃないの?
0828デフォルトの名無しさん
05/02/21 05:20:41そんなわけでこの↓FAQを次スレからは是非加えてホスィ
http://brewforums.qualcomm.com/ja/showthread.php?s=&threadid=71
入力時の注意事項とかエラーの詳細とか、
そのくらい書いといてくれよな…
意図はわからなくもないけど qualcomm のこの姿勢にはめっさ腹立つんですけど。
0829デフォルトの名無しさん
05/02/21 08:14:250830デフォルトの名無しさん
05/02/21 10:25:57>>6
0831デフォルトの名無しさん
05/02/21 12:42:38こんにちは、坊や。
>>829
ピクセル参照してYUVに変換して8x8ブロックに切り出して、
DCTかけてACスキャンしてハフマン圧縮すればいいんじゃないか?
0832デフォルトの名無しさん
05/02/21 14:13:49メモリの開放はしていないんです。
で、ブラウザが起動しないというよりは
接続できません
しばらくたってからリトライしてください
が出るんですよね。
画面には最後に表示したページのキャッシュ。
キャッシュを消して同じことをすると
延々とConnectingしているような感じです。
0833デフォルトの名無しさん
05/02/22 01:36:48簡単な方法ございませんでしょうか?
0834デフォルトの名無しさん
05/02/22 01:58:410835デフォルトの名無しさん
05/02/22 02:07:19とかってどっかにないですかね?
0836デフォルトの名無しさん
05/02/22 02:26:14Buttonクラスのようなものはないから、enabled/disabled、通常状態/押下状態
など各Bitmapを用意して自力で表示を切り替えて。
通常状態/押下状態の表現だけならBitmapで用意しなくても
IDISPLAY_FrameButton()でできる。これも表示の切り替えは自力でやるんだけど。
0837デフォルトの名無しさん
05/02/22 10:26:19Extensionの中でイベントを処理したいときってどうすればいいの?
イベントを受け取りたいExtensionをIAppletから継承すればいいのかね。
0838デフォルトの名無しさん
05/02/22 10:37:47BCIの詳細な情報は非開示です。
>>837
AEE_* のイベントをExtensionが直接受け取ることは出来ません。
(イベントはアプレットのHandleEventに渡されるので)
アプレットからExtensionに渡す処理が必要になります。
(アプレットがIMENUCTL_HandleEvent()を呼び出すのと同じことです)
コールバックなら直接受け取ることも出来ますが...。
0839デフォルトの名無しさん
05/02/22 17:44:30さんくす。
やっぱり
>(アプレットがIMENUCTL_HandleEvent()を呼び出すのと同じことです)
みたいなことしないといけないのか。
0840デフォルトの名無しさん
05/02/22 19:34:21818じゃない別人ですが、質問です。
ShimBrowserInfo構造体の定義が見つからないんで、自分で定義しちゃいました。
とりあえずブラウザ起動したんですが、自分で定義するもんですか?
決められた構造体なのに、なんか気持ち悪いです・・・
0841デフォルトの名無しさん
05/02/22 19:37:56普通に aeekddi.h に書いてあるように見えるのだが。
0842デフォルトの名無しさん
05/02/23 10:32:53BREW Technical Tips更新されてますぞ
0843デフォルトの名無しさん
05/02/23 16:00:06ISpriteインターフェースのタイルマッピング機能を使うと、
画面におさまらないほどのMAPでも管理してくれて、
さらに、スプライトする画像を動かすだけで、表示されてない部分に
移動したときでも、周り(MAP)も描画してくれますか?
それとも、毎回毎回、
画面に表示できるだけのMAPデータをセットしないといけないのでしょうか?
0844デフォルトの名無しさん
05/02/23 16:19:26マニュアルを調べているんですけどなかなか見つからなくって。
0845デフォルトの名無しさん
05/02/23 16:29:22IKDDIPHONESYSTEM_GetSubscriberID()
ではどうだろうか?
0846デフォルトの名無しさん
05/02/23 17:15:03ありがとうございます。
ShimSample内に入っていたので、サンプルいらないから入れてませんでした。
サンプルは必ずインストールせよ、ってことですかね?
やはり、気持ち悪い・・・
0847デフォルトの名無しさん
05/02/23 17:44:20ITAPI_GgetStatusのszMobileIDは?
一応電話番号を基本とするID取れるけど。(KDDIではまんま電話番号)
ただ、一度通信しないとこれが取れない端末とかあるけどね。
InfobarとかInfobarとかInfobarとか・・・
0848デフォルトの名無しさん
05/02/24 09:32:38サブスクライバIDか端末電話番号か、e-mailアドレスのどれかだね。
0849844
05/02/24 12:45:37ありがとうございます。
早速試してみます。
0850デフォルトの名無しさん
05/02/24 15:12:43AEEClsCreateInstanceで作ったIApplet/AEEAppletのポインタを取得できる関数があった気がするのですが名前が思い出せません。
たしかヘッダーで g_pvtXXXX か何かを返していたと記憶していたのですが grep で見つけられませんでした(見つかったのはGET_HELPERのみ)。
どなたか教えてください。
0851850
05/02/24 15:15:48GETAPPINSTANCE()でした。書き込んだ後すぐに見つけました。以後気をつけます。
0852デフォルトの名無しさん
05/02/24 15:56:09GETAPPINSTANCE()の存在知らずにずっとポインタ渡してたよorz
まぁ・・・いっか
0853デフォルトの名無しさん
05/02/24 17:04:210854デフォルトの名無しさん
05/02/24 17:28:04GETAPPINSTANCE()に関しては某機種の某コールバック中で正常に動作しない不具合が...。
なので過信しない方がいいっす。
0855デフォルトの名無しさん
05/02/24 17:51:54どうせなら報告もかねてちゃんと機種を晒してくれw
0856デフォルトの名無しさん
05/02/24 18:03:25いやKDDIのFAQに出とるし。ヒントは2.0端末。
GETAPPINSTANCE()で探せば出るでしょ。
0857デフォルトの名無しさん
05/02/24 18:19:44面倒だよなぁ・・
0858デフォルトの名無しさん
05/02/24 22:30:17逆にその方がわかりやすい構造になる罠w
安易にどっからでもポインタを参照するよりはクラス(Cなら構造体)の
結び付きとか意識した設計になるっしょ。
…一概には言えないかな?
0859デフォルトの名無しさん
05/02/25 02:01:40普段はそれでいいけど・・・
コールバック使うクラスはメンバにAEEAppletのポインタを持つ謎仕様orz
0860デフォルトの名無しさん
05/02/25 20:15:27何も鳴らない・・・。
アプリにはそこまで必要ないってことなのか・・・。
0861デフォルトの名無しさん
05/02/25 21:02:53失敗してるっぽい感じでモデルデータが表示されません。
失敗する原因、いくつかあると思いますが、
もし知っている方がいれば教えてもらえないでしょうか?
0862デフォルトの名無しさん
05/02/25 21:59:28カメラがあさっての方向を向いてるんじゃないの?
もしくは遠すぎるか。
0863862
05/02/25 22:01:41背景を何か描くか、明示的にIBITMAP_Invalidate()を呼ばないと駄目だった
気がする。
0864デフォルトの名無しさん
05/02/25 23:00:090865デフォルトの名無しさん
05/02/25 23:32:190866デフォルトの名無しさん
05/02/25 23:47:23移植して自分の端末だけに入れて楽しむの?
0867デフォルトの名無しさん
05/02/26 19:14:240868デフォルトの名無しさん
05/02/26 22:27:190869デフォルトの名無しさん
05/02/26 22:35:48⊂(´・ω・`)つ-、
/// /_/:::::/ 大変だねぇ
|:::|/⊂ヽノ|:::| /」
/ ̄ ̄旦 ̄ ̄ ̄/|
/______/ | |
| |-----------| |
0870デフォルトの名無しさん
05/02/26 23:07:15検証マダー?
0871デフォルトの名無しさん
05/02/28 00:51:39あはははははははははははfはふぉあうydfさhsdfpふじこp;@
渋滞させてくれたみんな、サン糞!
0872861
05/02/28 11:54:05レスありがとうございます。
IMICRO3D_Render_drawFigureの返値調べたらHI_FALSEになってるみたいです。
で、ちょっと質問なんですがFigureに正常にロードできてるか見る方法ってありますか?
あとdrawFigureをする前にしなきゃいけないこととかあります?
0873デフォルトの名無しさん
05/02/28 14:03:44IMICRO3D_Figure_loadMbacDataの戻り値じゃなくて?
これでHI_TRUEが返ってれば大丈夫だと思うけど。
あとはサンプルのファイル名(とテクスチャ名)だけ差し替えてテストしてみるとか。
drawFigureの前ってカメラの行列設定くらいしか無かったような。場合によっては
setPattern/setTextureとか。
0874861
05/02/28 16:34:45IMICRO3D_Figure_loadMbacDataではHI_TRUE返ってきてます。
Figure構造体の中のいくつかの変数見たんですが、ロード直後とIMICRO3D_Render_drawFigureの直前の数値が一緒でした。
なのでロードの失敗はないと思います。
この状況でIMICRO3D_Render_drawFigureを失敗するっていうのは何が原因なんでしょうか・・・orz
0875デフォルトの名無しさん
05/02/28 16:45:22そんじゃ、やっぱしテクスチャがセットできてないとか、Renderの設定がおかしい
(setVramのあたりとか)じゃない?
0876デフォルトの名無しさん
05/02/28 16:46:22ttp://appget.com/ez/pc/apview_023553.htm
0877861
05/02/28 17:24:31なんとIMICRO3D_Render_initializeしてなかったです・・・。
たったこれだけで丸1日かけてしまっくぁwせdrftgyふじこlp;@:「
0878デフォルトの名無しさん
05/02/28 18:59:37多言語対応でメッセージをすべてリソースから読むのは良いのですが、メッセージの種類が
増えたときとか、5つも6つもすべてのリソースに追加するのってかなり面倒で・・・
フォーマットが分かればCSVとかで用意して自動生成できるんですけどね〜
まあおそらく非公開なんだとは思いますが・・・
0879デフォルトの名無しさん
05/02/28 19:41:08ttp://brewforums.qualcomm.com/ja/showthread.php?s=&threadid=323
に、BARファイルのフォーマットは公開してないって書いてある。
ちなみに俺は適当なキーマクロ使ってリソース追加してる。
0880デフォルトの名無しさん
05/02/28 22:25:36ResourceEditor3.0から、中間フォーマットをXMLで吐くようになり、これから(コマンドラインで)barファイルを生成可能です。
XMLのフォーマットは見ればだいたい分かるものなので、推測して生成することはできると思います。
SDK3.0 インストールして使ってみてください...
0881デフォルトの名無しさん
05/02/28 22:40:56コマンドラインでのbar生成ってQのサイトに以前から無かったか?
勘違いかな?
0882デフォルトの名無しさん
05/02/28 22:55:210883デフォルトの名無しさん
05/02/28 22:56:07以前
bri (フォーマット未公開、バイナリで解読困難)→bar
現在
bfx(フォーマット未公開だけどXMLベース、何とか解る)→bar
そんな訳で少しは使い易くなったはずです。
0884デフォルトの名無しさん
05/03/01 09:54:10ちょくちょく情報サンクス
0885デフォルトの名無しさん
05/03/01 12:44:46ありがとうございます〜
SDK3.0だとXMLなんですね。
それは知りませんでした。
XMLならかなりやりようがあるので、それで対応したいと思います。
>>879
ありがとうございます。
既存リソースファイル郡に1つだけ項目追加とかには今までWSHのsendkey
で対処してたんですが、中国語とか入ってくるともうだめぽって感じだったんで。
しかし、海外向けだと結構端末の癖があって泣かされますね。
#それでもJAVAよりはましだけど
電波はいらないと動かない端末とかあるし、サーバ連携周りはどうしても現地じゃ
ないとテストできないし。
0886デフォルトの名無しさん
05/03/01 23:05:55理想的にはどれくらい速度の差が出るのでしょうか?
0887デフォルトの名無しさん
05/03/01 23:27:58がコマンドライン版のbar生成ツールかなと思う
現在はもうサイトにも無い様子
0888デフォルトの名無しさん
05/03/02 00:15:530889883
05/03/02 01:12:00BREW SDK 3.0には brewrc.exe が含まれており、こいつが883で書いたXML→barのコンバータです。
(883ではXMLファイルを.bfxと書きましたが .brxの間違いでした)
SDK3.0 の SDK User's Guide のリソースエディタ→BREWリソースファイルのコンパイル→
コマンドを入力してBREWリソースファイルをコンパイルする のページを参照してください。
0890デフォルトの名無しさん
05/03/02 07:38:16問題無いもの?
0891デフォルトの名無しさん
05/03/02 11:00:48RESTYPE_BINARY使わなければ大丈夫です...多分
RESTYPE_IMAGE、RESTYPE_STRINGは変わっていないです
0892デフォルトの名無しさん
05/03/02 12:26:02とりあえず、SDK2.1のリソースエディタで作ったbriファイルを、SDK3.0のリソース
エディタで読み込みbrxで保存、brxをテキストエディタで修正してSDK3.0でbarを作っ
てみましたが、BREW2.1端末で普通に読めました。
おそらくIMAGEとSTRINGだけしか使わなければ大丈夫そうです。
0893デフォルトの名無しさん
05/03/03 02:16:00ですが、0xaabbccddのフォーマットのESNが見当たらないです。
四角で囲ったアルファベットの後に、IDっぽいのが2行あるのですが、
これのうちのどちらかがそうなのでしょうか?
あきらかに0xaabbccddのフォーマットではないのですけど。
0894デフォルトの名無しさん
05/03/03 02:28:57TestSig取得のことか? 開発ツールガイドに出てるぞ。
0895デフォルトの名無しさん
05/03/03 09:18:35すみません。載ってました。
はずかしいなぁ。
0896デフォルトの名無しさん
05/03/03 13:16:42IDATECTL_SetProperties( pMe->MyDate, DFMT_YYYY_MM_DD );
としても「3月 3, 2005」という表示になってしまいます。
他のフォーマットを指定しても表示が変わらないのですが、
何か見落としていると思われる点がありましたらご指摘願います。
環境
WinXP Pro SP2
VC++ 6.0
BREW SDK 2.1.1
端末:W21S
0897デフォルトの名無しさん
05/03/03 15:04:240898デフォルトの名無しさん
05/03/03 15:38:09サスペンドしたときに開放するメモリは
MALLOCした部分だけでいいんですか?
たとえば読み込んだbmpなども、一旦手放して
読み込みなおしですか?
0899デフォルトの名無しさん
05/03/03 15:44:24解答:実際何が「必要」で何が「不要」かの判断はプログラマによるところなので
全部必要と思えば解放しなくて良いw
0900デフォルトの名無しさん
05/03/03 15:50:080901デフォルトの名無しさん
05/03/03 16:20:18とか言う。
0902デフォルトの名無しさん
05/03/03 16:23:580903デフォルトの名無しさん
05/03/03 16:29:33・IFILE,IPOSDET,IKDDIPPP,IWEB,ISOCKET,INETMGR,IDNS,IMEDIA,ISOUND
(通信系、サウンド系インタフェース全般)
・IKDDIPPP
・Extension
A以下のインスタンスは、開放してはならない。
・IFileCp,ITextCtl
B以下の処理をしている場合は、必ずその処理を終了(停止)しなければならない。
・サウンド(メロディ、ビープなど)
・アニメーション
・バイブレート
・バックライト
・ISHELL_SetTimer()したコールバック関数(キャンセルはISHELL_CancelTimer())
・ファイル処理中[読み込み/書込み時](オープンされているファイルはクローズする)
Cレジュームイベント中にしなければならない処理
・レジューム要求”EVT_APP_RESUME”に対し、返却値として”必ず”TRUE”を返して下さい。
”FALSE”を返却すると”EVT_APP_STOP”が送出されBREW アプリは終了してしまい、
BREW アプリは再起動されてしまします。
0904デフォルトの名無しさん
05/03/03 17:29:29少なくとも粘って言い張るとか言い訳を用意するとかそういうレベルの話じゃない
0905デフォルトの名無しさん
05/03/03 21:17:44最低限やらなきゃ行けない処理だけ施せばとりあえず検証は通る。
あとはレジューム時に上手くエラー処理しながら復元するぐらいかと。
0906デフォルトの名無しさん
05/03/04 07:26:03short または int といえば 'short int' のことで 2byte
long といえば 'long int' のことで 4byte
だと思ってたのでBREWでは
int16(はshortだから) = int = 2byte
int32(はlongだから) = 4byte
であろうと…
いやー int = long = 4byte だったとは。
4byteでありたい整数は律儀に全部 int32 と書いていたけどこれからは
普通に int でいいな。'int32'って書くの何か気持ち悪かったんだ実は。
…スンマセン
白状すると16bitCPU時代に身に付いたint=2byteの先入観がありました orz
0907デフォルトの名無しさん
05/03/04 15:22:37何でうちでチェックしたMAXヒープと向こうがチェックしたMAXヒープ違うんだ_| ̄|〇
しかも某チェックツールで確保したメモリも勝手に解放しちゃうし・・・
某3Dくのいちゲーでも勝手に解放してたからBREW(というか某チェックツール?)の仕様なんじゃないかと・・・
しょうがない、もう一個の振る振るツールでチェックするか(;´Д⊂)
0908デフォルトの名無しさん
05/03/04 15:58:58そういう時はS某を使うといいらしい。
0909デフォルトの名無しさん
05/03/04 18:48:26それを作るために必要なBREW AEEの仕様みたいな資料は手に入らないでしょうか?
ご存知の方いらっしゃいましたら、よろしくお願いします。
0910デフォルトの名無しさん
05/03/04 19:01:37事前検証手順書、メモリ不足の備考欄。
退避起動でツールKが終了してしまう場合はツールSを使えと。
ツールSの振る舞いはサービスガイドP76に。
検証のメモリチェックはいくつかやればコツ覚えるから。がんばれ。
0911デフォルトの名無しさん
05/03/04 20:24:49ありがとうございました。
やっぱりそれですよね。
ガイドとかサイトのFAQ読んでたんで知ってはいたんですが・・・
説明したらCPも納得したようなので問題解決です。
初回はすんなり検証通ったのに機種移植の段階でこんなに苦労するとは(;´Д⊂)
担当者がかわ(ごにょごにょ
0912デフォルトの名無しさん
05/03/04 20:41:080913デフォルトの名無しさん
05/03/05 01:29:082.別の処理Aを行う
3.処理Aの途中で1.でセットしたタイマーが作動する
4.3.で作動したコールバックが終了後、処理Aの途中から再開する
タイマーを使えば普通にこういうことができると思ってたんですが、
処理Aの途中ではタイマーが作動しません。
イベントループに入って初めてタイマーが作動するようなんですが
こういうものなんでしょうか。
もし1.〜4.のようなことができる方法ご存知でしたらお願いします。
0914デフォルトの名無しさん
05/03/05 01:32:160915デフォルトの名無しさん
05/03/05 02:30:33幾ら何でも古すぎるぞ。
0916デフォルトの名無しさん
05/03/05 04:41:43int32のtypedefがlongじゃなくてintだったら勘違いもなかったと思う。って言い訳だなw
0917デフォルトの名無しさん
05/03/07 06:32:58次回起動時にそのファイルを読み込んでIBitmapオブジェクトを得る、
という処理を考えています。やり方についてアドバイス願います。
読み込み時にISHELL_LoadBitmap()を使おうとする場合、IFILE_Write()の引数とする
「バッファとその長さ」と、保存しようとしているIBitmapの結び付けが思いつきません。
IBitmapを、ISHELL_LoadBitmap()で読み込める形のファイルで出力する場合、
どんなやり方になるでしょうか。
---
ISHELL_LoadBitmap()で読み込めるフォーマットってWindowsのBMP形式ですよね。
ということはIBitmapオブジェクトからWindowsのBMP形式を作り出して、それを保存
するということになりそうですが、手っ取り早くやるにはどうすれば…
(実は上手い方法なんてなくて、皆さん自力で変換処理を組んでいるのでしょうか)
また、読み込みでISHELL_LoadBitmap()にこだわらないなら、他にどのような
やり方が考えられるでしょうか(どのインターフェイスが利用できるでしょうか)。
0918デフォルトの名無しさん
05/03/07 10:29:47IBITMAP_QueryInterface()でIDIBを生成
IDIBからBMPファイルに保存する
って方法を取ってます
ヘッダを自分で生成したりしなくちゃいけないからめんどかったけど。。
0919デフォルトの名無しさん
05/03/07 10:56:52割り込みじゃないからね。
Windowsのタイマーイベントだって基本的には同じでしょ。
それに、BREWは短い周期でフレームワークに処理を戻さないとウォッチドック
タイマに引っかかるからそれほど問題ないと思うし。
#もともとそんな高精度のタイマを期待しちゃいかんし
>>918
LoadBitmapとか使うのが前提じゃなければヘッダはなくてもいいんでない?
まあファイル読込処理は非同期で面倒だからヘッダ作ったほうが楽そうでは歩けど。
0920デフォルトの名無しさん
05/03/07 11:09:26BREWの中だけでつかうのならヘッダはなくてもよかったのかな?
PC上で確認するためにはデータ部分だけじゃだめだったから
ヘッダ付与したりしてました・・・
0921デフォルトの名無しさん
05/03/07 19:17:12正方行列じゃないから逆行列使えないし。
どうすりゃいいんだろ?
0922デフォルトの名無しさん
05/03/08 01:46:14ポイントスプライト使えばいいじゃない
0923921
05/03/08 11:16:34ポイントスプライトってなんかまずいことないのん?重くなるとか。
DirectXとかだと汎用性があんまりないというかビルボードの方がいいとか言われてるっぽいんだが。
0924デフォルトの名無しさん
05/03/08 12:23:01特に重いってことはないなぁ。
・自由変形ができない
・制御点がスプライトパターンの中心に固定
が不便じゃなきゃ、素直にポイントスプライトにしとくのが楽じゃないかなぁ。
頂点座標も計算しなくていいし、視点変換行列もワールドでいいし。
0925デフォルトの名無しさん
05/03/08 15:31:47かならず一瞬動作が遅くなるのですが、これはプログラムの書き方が
悪いからなのでしょうか?
勉強の一環でBREWでゲームをつくっているのですが、同時再生をする
ことはできたのですが、効果音を鳴らすたびに一瞬動作が重くなるの
はつらいので・・・
0926デフォルトの名無しさん
05/03/08 15:42:21エミュレータ環境だとウチの所も曲のループの時とか処理落ちするね。
実機だったら、まず機種を言ってくれると助かる。
0927デフォルトの名無しさん
05/03/08 15:50:11あ、やっぱりエミュレータだと処理落ちするみたいですね。
学生なので実機テストを行うことができませんので機種をいうことは
できないのですが、実機だとそのへんも普通に動くのでしょうか?
0928デフォルトの名無しさん
05/03/08 18:23:10アプリ選択時に表示される画像サイズは80x40くらい?
いろいろ書かれてあって、どれが正しいのやらわからん。
BREW2.1以上だと、どのくらいですか?
0929デフォルトの名無しさん
05/03/08 18:31:52端末仕様書のアイコンサイズ参照のこと
0930デフォルトの名無しさん
05/03/08 19:09:59余談だがアイコンサイズの限界に挑戦すると結構面白いぞ。
37ピクセルでOK、38ピクセルでNGとか訳わからん機種が結構ある。
Infobarは100ピクセルでも表示できる。
そーいうトコロだけ力入れんでも良いんだぞと。
0932デフォルトの名無しさん
05/03/09 09:11:460933デフォルトの名無しさん
05/03/09 10:29:16とりあえず、ウチの所の実機では問題出てない。
>>928
BREW2.1になって今のところアイコンサイズは1種類で
対応できてるような気がする。
BREW2.0の時は2種類用意してたけど。
0934デフォルトの名無しさん
05/03/09 13:31:13うーん、俺もデバッグできないな。
書いてあるとおりやってるんだが・・・
自分はVS .NET 2003。
「(パス)\BREW_Emulator.exe'にはデバッグ情報がありません。
続行する場合は[OK]を押してください」
のダイアログは俺も出た。
ソースはウィザードで作ったHelloBREW。
デバッガ起動すると、ブレークポイントがクエスチョンマークになる。
で、そこで止まってくれない。
0935934
05/03/09 13:32:120936934
05/03/09 14:33:03あとmifを置くパスもサンプルと違った。解決。
チラシの裏日記でした(・∀・)
0937917
05/03/09 17:06:16ISHELL_LoadBitmap()は使わず、独自フォーマットのファイル読み書きで対処しました。
PCとのやり取りは不要なのでBMヘッダはなくても問題ありません。
基本的にはIBitmapから生成したIDIBをシリアライズして出力です。
0938927
05/03/10 09:12:54そうですか、やっぱり実機テストができないとだめですね。
就職した先で必要となったらまたBREWを勉強しようと思います。
ありがとうございました。
0939デフォルトの名無しさん
05/03/10 15:19:28A5502Kだと実機でも問題でましたよ;;
0940デフォルトの名無しさん
05/03/10 17:07:00メモリ1M端末は相手にしn(ry
嘘です、ごめんなさい。
そういえばガイド読むとBREWフォルダ3M以上ならアプリサイズ600kまでオケー
3M以下なら300kだと思ったんだがタ○ムクラ○シスとか○言朱とかA5503SA(2M端末)で
300k超えてるんだけど・・・ええの?
ウチも最近アプリサイズが厳しいんだけど、300kの壁越えられるなら超えたい
0941デフォルトの名無しさん
05/03/10 20:32:10大人の事情。本音と建前。
手っ取り早く300KBの壁を越えるための手段としてはgzip圧縮(IUnzipAStream)か。
リード&展開でローディング時間が増大、辞書のために瞬間的に40KBほどメモリ食うのが難点だけど。
.barファイルからだとgzip圧縮済みデータと展開後データで2重にメモリ使ってしまうのも嫌なところ。
逆にいえば.barからではなくファイルから直接読み込めば解決するけど、KDDIとしてはアプリ中で使う
データはできるだけ.barに置いて欲しいらしい。しかし絶対.barに収めなきゃいけないってわけでもないの
で交渉次第。
既にgzipまで組み込んでるならスマソ。
0942デフォルトの名無しさん
05/03/11 01:17:41IUnzipAStream使ってみればわかるけど、展開は速いよ。
0943デフォルトの名無しさん
05/03/11 06:04:31ってのが携帯ゲー製作のお手軽さ・楽しさじゃないかな?
少なくとも、うちみたいな弱小CPには、この制限はありがたいよ。
0944デフォルトの名無しさん
05/03/11 08:45:450945940
05/03/11 13:21:49gzipですか。
たまに使いますが基本的に画像は絞りに絞ったPNG、数値データやテキスト系のデータはバイナリなのでほとんど圧縮されないので効果はイマイチなんですよね。
ファイルヘッダーの分だけ軽くなったりするけど劇的には減らないし・・・
>>943さん
ゲームの種類によるんですよね。
パズルなんか300kもあれば十分なんですけどウチのジャンル的に
SRPGとかシミュレーション、ADVとかでリソースがデカイので苦戦中なんですよ。
0946デフォルトの名無しさん
05/03/11 14:27:13BMP+gzipが一番バランスがいいと思った。微妙にサイズは増えるが。
0947デフォルトの名無しさん
05/03/11 17:35:34コールバックちゃんとしてる?
0948デフォルトの名無しさん
05/03/11 23:21:11どんなアプリ作ってんの?
ゲームでは問題ないけど。
0949デフォルトの名無しさん
05/03/12 00:02:03起動に10秒待つのを問題があると考えるかどうか、だな。
0950デフォルトの名無しさん
05/03/12 01:35:09なにそれ・・・
起動時にゆうに数十枚の画像開いて閉じてやってるが、
1秒もかかる機種見た事無いんだが。
pngの展開が遅いのも、gzipの展開が早いのも認めるが、
10倍以上も差がつくとは言えないと思う。
それ以前にやり方に問題があるに5000ガバス
0951デフォルトの名無しさん
05/03/12 02:06:25いや、もちろん自分が作るものは、1秒かからず起動するように作るよ。
でも、作り方がまずくて10秒かかってるアプリを見ることもあるわけで。
0952デフォルトの名無しさん
05/03/12 03:07:14俺はBMPでもPNGでも変わらないんだけど・・・
PNGの容量でもでかいのか?
0953デフォルトの名無しさん
05/03/12 04:53:15その10秒の内訳が、PNG の展開処理であるのは確定なのか?
ソースを見れる立場ならば指摘してあげないのか?
0954デフォルトの名無しさん
05/03/12 11:18:070955デフォルトの名無しさん
05/03/12 13:34:100956デフォルトの名無しさん
05/03/13 21:08:03urlto・ezurlto・ez2urltoがあるのは分かったのだが、どれを使えば分からない
それとブラウザが起動したらSUSPENDが呼ばれるらしいんだが、呼ばれてないみたいだし…
実機で試せる環境じゃないからエミュで動かしてるんだけど、エミュだと詳しく分からないから教えてほしい…
0957デフォルトの名無しさん
05/03/14 00:11:03>>684-
0958デフォルトの名無しさん
05/03/14 00:46:09フルスクリーンサイズのPNGをARM7端末で展開しても1秒間に10枚くらいはいけるけどね。
これで10秒って言うと100枚以上デコードさせてるってことかね?
ヒープが足りなくなる悪寒。
0959デフォルトの名無しさん
05/03/14 09:57:570960デフォルトの名無しさん
05/03/14 12:57:07読み込み中でも同期とるようにするとか
せめて"なぅろーでぃんぐ"ぐらいは出してるんだろな
0961デフォルトの名無しさん
05/03/14 13:41:52アプリ起動時のInitAppData()で、barからjpegファイルをロードするようにしているのですが、
jpegをロードするときはコールバック関数を使って、コールバック関数が呼ばれたら描画すると
なってますよね(SONY端末以外はそんなことしなくても描画できますけど)。
複数jpegを起動時に一気読みしたいのですが、コールバック関数内で次のjpegをISHELL_LoadResImage()
とIIMAGE_Notify()をする(を画像分コールバック関数用意して繰り返す)のではだめなのでしょうか。
実機で動かすと、リセット掛かるんですが・・・
よい方法がありましたら、教えてください。
0962961
05/03/14 13:46:10InitAppData()以外の場所(ある画面の描画時)に、コールバックで描画するのはでできました。
InitAppdata()内では、1画像だけコールバックで受け取るようにしてもリセットがかかりました。
よろしくお願いします・・・
0963デフォルトの名無しさん
05/03/14 14:21:39InitAppData()内でjpeg以外にbarから何か読み込み行ってるのとぶつかってるのかな・・?
0964デフォルトの名無しさん
05/03/14 17:56:18多分スケルトンモデルで自動生成されるやつのことを言ってるのだろうけど。
で、それはCreateInstance()から呼ばれてるだろ。
この関数ってつまりコンストラクタだから、その中ではコールバックが必要な処理や
通信処理などはやらないもんだ。
起動時のタイミングでjpegが必要なら、(InitAppdata()を呼び出してる)CreateInstance()
を抜けた後で読み込むようにするのが正解じゃないかな。
0965961
05/03/14 18:20:24ありがとうございます。
barからの読み込みは、jpegロード以外に文字列を読み込んでいます。
でも、文字列ロード後にjpegをロードするようにしているので、ぶつかるということは
ないかと思いますが、あっていますか?
964さん>
たしかに!InitAppData()である必要は無いわけで・・・スマソ。
おっしゃるとおり、AEEClsCreateInstance()から呼ばれてます。
アドバイスのとおり、AEEClsCreateInstance()をAEE_SUCCESSで抜けたあとに処理を
いれてみます。
場所としては、EVT_APP_STARTが適当ですかね。
ありがとうございました、結果はまたご報告します。
0966963
05/03/14 19:16:12漏れの勘違いかもしれないが、機種によりぶつかる場合があるらしい。
状況が違うが、ファイルの読み込みとリソースの読み込みでぶつかった事ある。
AEE_SUCCESSに処理全部移して再現しないなら違うかな。
0967デフォルトの名無しさん
05/03/14 23:37:41それはネットワーク関係だけだっけ?
0968デフォルトの名無しさん
05/03/15 01:01:43今までJavaやってきてメモリなんて気にした事ないからなぁ…
MALLOCしたのは使わなくなったらFREE。イメージとかはRelease。
IWebはサスペンドの時にReleaseするとリジュム後に何故か使えなくなるorz
ISHELL_CreateInstanceもどうすればいいのか分からんirz
誰かメモリ関係初心者に愛の鞭を…
0969デフォルトの名無しさん
05/03/15 01:32:420970デフォルトの名無しさん
05/03/15 05:58:35EVT_APP_SUSPENDでIWebをリリースした後、EVT_APP_RESUMEイベントで
ちゃんと、ISHELL_CreateInstance でIWebのインスタンスを作成している?
しかし、ヒープを理解していないのは BREWでは致命的。
0971デフォルトの名無しさん
05/03/15 10:00:330972デフォルトの名無しさん
05/03/15 13:31:05>しかし、ヒープを理解していないのは BREWでは致命的
BREWどころかC系全般で致命的かと。
昔、JAVA上がりの香具師が作ったC++アプリを引き継いだらdeleteまったくして
なくて大変な目にあったよ…
0973デフォルトの名無しさん
05/03/15 13:32:52最近はJavaしか出来ないとかってPGが多いのか?
っていうか、ソケットのコールバック、
インタフェース解放した後も呼ばれるんですが orz
解放→NULL代入→コールバック呼ばれる→NULLポインタにアクセス→リセット orz
これってNULLで一度初期化するより、適当なデバッグ用関数に飛ぶようにしたほうがいいんじゃないだろうか?
0974デフォルトの名無しさん
05/03/15 13:47:040975デフォルトの名無しさん
05/03/15 15:04:38nullpoはチェックしてるけど、インスタンスをMALLOCで確保したりすると
解放した領域を他のとこで使われてnullpoじゃ無くなったりするじゃん?
こーいう場合はどうしようもないでしょ。
0976デフォルトの名無しさん
05/03/15 15:31:21ISOCKET_Cancel 呼んでもダメって事?
0977デフォルトの名無しさん
05/03/15 16:42:27うーん、ちょっとありえないですね。
ちなみに、ISocketのインスタンスを解放した時点で、ISocketに関する Connect、Readable、Writeableの
コールバックは解放されるはずです。(ISOCKET_Cancel()をコールする必要はないです。)
ただし、INetMgrレベルのコールバックはこの時点では解放されないので、INETMGR_OnEvent()の
SO_CLOSING/SO_CLOSED イベントは、旧ISocketポインタと共に通知されます。
(ここで通知されるISocketポインタの指す先は有効とは限らない、と3.1.2のAPIリファレンス
PFNNETMGREVENT のページに書いてあります)
0978デフォルトの名無しさん
05/03/15 17:31:44エミュでは問題なく動いた(解放した後はコールバックが呼ばれない)
W21SAでは呼ばれる。
0979デフォルトの名無しさん
05/03/15 18:18:58うーん、やっぱり「有り得ない」ですね。
どのコールバックが来ていますか?
IIMAGE_SetStream()とか、ISOURCEUTIL_SourceFromSocket()とかでリファレンスカウントが増えてたりしませんか?
0980デフォルトの名無しさん
05/03/15 19:38:33Writeableだけ来るよ。
Refカウント増えてるんだったらエミュの時点で問題が出るはず。
0981デフォルトの名無しさん
05/03/15 20:24:14いや、IImageのパフォーマンスとか実機とエミュで違うので、IImageの解放とISocketの解放の
順番が変わったりしているかと思いまして。
とりあえず、ISOCKET_Cancel( , NULL, NULL) を明示的に呼んで、あとリファレンスカウントが
本当に0になっているかどうかも戻り値で確認して、それでも直らないようであれば
BREWヘルプデスクに質問してください。
0982デフォルトの名無しさん
05/03/15 22:33:14みなさん画像の開放してますか?
ヒープ内の画像を全部開放してみたところ
着信時にて端末がおちるのですが・・・
0983デフォルトの名無しさん
05/03/15 22:42:51画像を解放するかどうかはこのスレで同じ話出てるから読んでみて。
>着信時にて端末がおちるのですが・・・
画像を解放すること自体とは無関係。プログラムのどこか別の点に問題がある。
0984956
05/03/16 00:34:24フォーラムを見てみたらエミュではurlto、実機ではez2urltoを使うといいみたいだな。
でも別の場所で問題っぽい事が起きて困っている。
ブラウザが起動する際にはSUSPENDが送られて、ブラウザを終了したらRESUMEされると思うんだが
エミュでISHELL_BrowseURLを呼ぶとSUSPENDされて一度RESUMEに戻ってからSUSPENDされてブラウザが
起動してるみたいなんだ…
ブラウザを起動させたらアプリを終了させたかったんだけど、過去ログを見ると無理っぽいから
ブラウザから帰ってきてRESUMEされたらアプリを終了する形にしたいんだが
上記の動きをして望みの結果が得られない…
原因や対処方法が分かる人は教えて欲しい…
0985デフォルトの名無しさん
05/03/16 01:44:180986デフォルトの名無しさん
05/03/16 22:00:56ゲーム中の状態とか、真面目に書いたらえらいことになるんだが・・・
ステート何百あると思ってるんだよ!!>KDDI
0987デフォルトの名無しさん
05/03/16 23:03:04↓ ↓
クリア→エンディング→終了処理
↓
タイトルへ戻る
0988デフォルトの名無しさん
05/03/17 00:06:020989デフォルトの名無しさん
05/03/17 00:40:22マジでシューティングとかカードゲームとかRPGとか、まともに書いてると気が狂います。
987さんの遷移にエラー画面とサウンド処理を入れたレベルで何とかなりますよ。
0990デフォルトの名無しさん
05/03/17 00:51:20デバッガーを泣かせることができるらしいという噂。
0991デフォルトの名無しさん
05/03/17 01:14:03これの表示の意味ってどっかに載ってます?
色々探したけど見つからなくて・・・
ご存知の方いましたらよろしくです〜
0992デフォルトの名無しさん
05/03/17 01:29:06載ってません。
0993デフォルトの名無しさん
05/03/17 08:12:23テンプレ自体は>>1-6(2除外)で変更ないかな
0994デフォルトの名無しさん
05/03/17 12:01:11BREW(Binary Runtime Environment for Wireless) 4
http://pc5.2ch.net/test/read.cgi/tech/1111028365/
ギコナビ使って立てられねぇ_| ̄|○
0995デフォルトの名無しさん
05/03/17 12:05:29他いくつかコピっときました。
ミスってたらスマソ
0996ume
05/03/17 12:59:290997梅
05/03/17 13:02:300998産め
05/03/17 13:02:580999膿め
05/03/17 13:03:191000デフォルトの名無しさん
05/03/17 13:03:4010011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。