SIM カードに保存されている連絡先の数をカウントするコードは次のとおりです。コンパイルすると、RBasicGsmPhone を使用するための lib を含める必要があることを示すエラーが表示されます。私はたくさんグーグルで調べたところ、gsmbas.lib が必要であることがわかりましたが、mmp ファイルの提案にはそのような lib ファイルはありません。何をすべきか??誰か助けてください
TInt SimCntCount = 0;
/*this code is just to get the TSY name*/
CCommsDatabase* db = CCommsDatabase::NewL(EDatabaseTypeUnspecified);
CleanupStack::PushL(db);
CCommsDbTableView* table = db->OpenTableLC(TPtrC(MODEM));
table->GotoFirstRecord();
table->ReadTextL(TPtrC(MODEM_TSY_NAME),iTsyName);
// Cleanup - CommsDB no longer needed
CleanupStack::PopAndDestroy(2); // table,db
// Connect to the ETel server
RTelServer aTelServer;
User::LeaveIfError(aTelServer.Connect());
CleanupClosePushL(aTelServer);
User::LeaveIfError(aTelServer.LoadPhoneModule(iTsyName));
TInt numberOfPhones;
User::LeaveIfError(aTelServer.EnumeratePhones(numberOfPhones));
SimCntCount = 0;
for (TInt i=numberOfPhones; i>0; i--) {
// Get the phone name
RTelServer::TPhoneInfo phoneInfo;
User::LeaveIfError(aTelServer.GetPhoneInfo(i-1,phoneInfo));
// Open the phone by name
RBasicGsmPhone phone;
User::LeaveIfError(phone.Open(aTelServer,phoneInfo.iName));
TInt phoneBookCount;
phone.EnumeratePhoneBooks(phoneBookCount);
RBasicGsmPhone::TPhoneBookInfo aPbInfo;
for(TInt j=0;j<phoneBookCount;j++){
phone.GetPhoneBookInfo(j,aPbInfo);
SimCntCount += aPbInfo.iUsed;
}
phone.Close();
}
CleanupStack::PopAndDestroy(1);