BaseConstructL();//在此行处出现问题,运行到这的时候模拟器自动关闭USER23
BaseConstructL();//在此行处出现问题,运行到这的时候模拟器自动关闭USER23
void CPlayGameAppUi::ConstructL(void) {
// Load the application resources defined in the PlayGame.rss, e.g.
// application menus, dialogs etc.
BaseConstructL();//在此行处出现问题,运行到这的时候模拟器自动关闭USER23
iAppContainer = new (ELeave) CPlayGameContainer;
iAppContainer->SetMopParent( this );
iAppContainer->ConstructL( ClientRect() );
AddToStackL( iAppContainer );
//iPlayerName = NULL;
}
我觉得是在资源文件中出现问题,
.rss中部分代码
RESOURCE DIALOG r_simpledlg_player_name_dialog {
flags = EEikDialogFlagNoDrag | EEikDialogFlagCbaButtons | EEikDialogFlagWait;
buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
items =
{
DLG_LINE
{
id = EConfirmationNoteDlgCIdPlayerName;
type = EEikCtLabel;
control = LABEL
{
};
},
DLG_LINE
{
id = EConfirmationNoteDlgCIdPlayerNameEditor;
type = EEikCtEdwin;
control = EDWIN
{
maxlength = 12 ;
};
}
};
}
是不是maxlength所设的长度有问题,但是TBuf16<16> str;这个的长度大于12阿,怎么还会出现问题呢?
void CPlayGameAppUi::HandleCommandL(TInt aCommand) {
switch (aCommand)
{
case ESimpleDlgNewGame:
{
TBuf16<16> str;
if (CSimpleDlgPlayerNameDialog::RunDlgLD(str))
{
StartNewGameL();
}
break;
}
case EAknSoftkeyBack:
case EEikCmdExit:
{
Exit();
break;
}
default:
break;
}
}
究竟是什么原因引起的错误阿??