Discussion Board

Page 3 of 4 FirstFirst 1234 LastLast
Results 31 to 45 of 46
  1. #31
    Registered User Djerom's Avatar
    Join Date
    Apr 2010
    Posts
    37
    Спасибо. Я так понял, под этот класс нужно диалог в ресурсах создавать?

  2. #32
    Nokia Developer Moderator A.A.M.'s Avatar
    Join Date
    Jan 2008
    Location
    Moscow, Russia
    Posts
    3,308
    Да. И выглядеть это описание будет примерно вот таким образом:
    Code:
    RESOURCE DIALOG r_ip_query_dlg
    {
    	flags = EGeneralQueryFlags;
    	buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
    		items =
    		{
    		DLG_LINE
    			{
    			type = EAknExtCtQuery;
    			id = EGeneralQuery;
    			control = AVKON_DATA_QUERY
    				{
    				layout = EIpLayout;
    				control = IP_FIELD_EDITOR
    					{
    						min_field_values=IP_FIELD
    						{
    						first_field=0;
    						second_field=0;
    						third_field=0;
    						fourth_field=0;
    						};
    						max_field_values=IP_FIELD
    						{
    						first_field=255;
    						second_field=255;
    						third_field=255;
    						fourth_field=255;
    						};
    					};
    				} ;
    			}
    		};
    }

  3. #33
    Registered User Djerom's Avatar
    Join Date
    Apr 2010
    Posts
    37
    Спасибо. Поясните ещё, пожалуйста, как сделать следующее. С помощью TCommDbConnPref я могу выбрать точку доступа, но мне нужно её запомнить (сохранить в файл), чтобы при следующем запуске программы уже не выбирать, а сразу соединяться, использую эту точку. Я не понимаю, как это можно сделать. Что сохранять в файл? И как можно получить название точки доступа?

  4. #34
    Nokia Developer Moderator A.A.M.'s Avatar
    Join Date
    Jan 2008
    Location
    Moscow, Russia
    Posts
    3,308
    Пример чтения списка точек доступа (включая название) вы можете найти в нашей вики - Reading internet access points from the device. Сохраняйте ID точки доступа, это обычное числовое значение, а при повторном запуске используйте сохраненное значение.

  5. #35
    Registered User Djerom's Avatar
    Join Date
    Apr 2010
    Posts
    37
    Но у меня в таком коде prefs.IapId() всегда 0 возвращает почему-то.
    Code:
    	RConnection conn;
    	TCommDbConnPref prefs;
    	conn.Open(iSocketServ);
    	prefs.SetDialogPreference(ECommDbDialogPrefPrompt);
    	conn.Start(prefs);
    	TUint32 a;
    	a=prefs.IapId();
    	conn.Stop();
    	return ETrue;

  6. #36
    Nokia Developer Moderator truf's Avatar
    Join Date
    Jun 2007
    Location
    Moscow, Russia
    Posts
    1,355
    IAP можно взять из самого RConnection, после того как он установил соединение:
    Get current IAP of an RConnection

  7. #37
    Registered User Djerom's Avatar
    Join Date
    Apr 2010
    Posts
    37
    Даже не знаю, что делать? Последняя задача осталась в проекте - включать/выключать соединение с Интернетом без запроса. Написал по примеру, так что удивительно, минут 5 работает (это 30 включений/выключений) и вдруг появился диалог выбора точки доступа...

    Code:
        RConnection connection;
        User::LeaveIfError(connection.Open(iSocketServ));
        TCommDbConnPref pref;
        pref.SetIapId(0);
        pref.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
        pref.SetDirection(ECommDbConnectionDirectionOutgoing );
        connection.Start(pref);
    Мне кажется, что такое может происходить в случае, если, даже после закрытия соединения программой, GPRS некоторое время все ещё активен, а я опять пытаюсь отправить данные.
    Last edited by Djerom; 2010-05-26 at 21:15.

  8. #38
    Registered User Djerom's Avatar
    Join Date
    Apr 2010
    Posts
    37
    Можно ли сделать так, чтобы синхронная отправка данных через сокет завершалась также и через определённый промежуток времени, а не зависала на методе Send(), если данные не отсылаются?

    Code:
    	TRequestStatus status;
    	...
    	status=KRequestPending;
    	sock.Send(iBuffer,0,status);
    	User::WaitForRequest(status);

  9. #39
    Nokia Developer Moderator truf's Avatar
    Join Date
    Jun 2007
    Location
    Moscow, Russia
    Posts
    1,355
    Quote Originally Posted by Djerom View Post
    Можно ли сделать так, чтобы синхронная отправка данных через сокет завершалась также и через определённый промежуток времени, а не зависала на методе Send(), если данные не отсылаются?

    Code:
    	TRequestStatus status;
    	...
    	status=KRequestPending;
    	sock.Send(iBuffer,0,status);
    	User::WaitForRequest(status);
    Присвоение KRequestPending не нужно.

    Code:
    TRequestStatus timerstatus;
    RTimer timer;
    timer.CreateLocal();
    timer.After(timerstatus, KRetryInterval);
    
    TRequestStatus status;	
    sock.Send(iBuffer,0,status);
    User::WaitForRequest(status, timerstatus);
    if (timerstatus != KRequestPending)
    {
    // сработал таймер
    } else {
    // завершился Send
    timer.Cancel();
    }

  10. #40
    Registered User Djerom's Avatar
    Join Date
    Apr 2010
    Posts
    37
    Не получилось. Приводит к ошибке "e32user-cbase 46".
    Last edited by Djerom; 2010-05-29 at 15:17.

  11. #41
    Nokia Developer Moderator truf's Avatar
    Join Date
    Jun 2007
    Location
    Moscow, Russia
    Posts
    1,355
    Вы не в состоянии понять что значит эта ошибка? Или вы не можете найти ее описания? Вам ссылки на документы по активным объектам подкинуть?

  12. #42
    Registered User Djerom's Avatar
    Join Date
    Apr 2010
    Posts
    37
    Я не в состоянии понять, как работать с таймером по Вашему примеру, и почему возникает ошибка.

  13. #43
    Nokia Developer Champion Den123's Avatar
    Join Date
    Jul 2007
    Location
    Magnitogorsk, Russia
    Posts
    536
    Quote Originally Posted by Djerom View Post
    Я не в состоянии понять, как работать с таймером по Вашему примеру, и почему возникает ошибка.
    Активные объекты - это наше все Без них в Symbian C++ практически ничего и сделать нельзя. Разбирайтесь.
    http://wiki.forum.nokia.com/index.ph...86%D0%B8%D0%B8

  14. #44
    Registered User Djerom's Avatar
    Join Date
    Apr 2010
    Posts
    37
    Я перед тем, как спрашивать, эту страницу читал. И другое. Это мой первый код с двумя активными объектами. Видимо, они конфликтуют и я не могу понять - почему. Вот часть кода, где гарантировано выполнение Connect() завершается раньше, чем сработает таймер. Т. е., я просто запускаю и закрываю таймер. И это вызывает панику. Если же я создаю два WaitForRequest() - на Connect() и на таймер - все работает. Почему так - я не понимаю.
    Code:
    		TRequestStatus status;
    		TRequestStatus timerstatus;
    		RTimer timer;
    		timer.CreateLocal();
    		timer.After(timerstatus,10000000);
    		RSocket sock;
    		User::LeaveIfError(sock.Open(iSocketServ,KAfInet,KSockStream,KProtocolInetTcp));
    		sock.Connect(iInetAddress,status);
    		User::WaitForRequest(status,timerstatus);
    		timer.Cancel();
    		timer.Close();

  15. #45
    Nokia Developer Moderator truf's Avatar
    Join Date
    Jun 2007
    Location
    Moscow, Russia
    Posts
    1,355
    Вы не умеете работать с активными объектами. Они не конфликтуют. То что у вас получалось работать с одним, связано с тем, что вы работали с ним как с синхронным объектом, превращая его в таковой с помощью User::WaitForRequest(). Попытались работать с двумя и тут же допустили детскую ошибку. И если вы потрудитесь почитать описание этой паники и документы по АО, вы ее увидите.
    Last edited by truf; 2010-05-30 at 12:54.

Page 3 of 4 FirstFirst 1234 LastLast

Similar Threads

  1. Вопрос по СTelephony
    By UGreek in forum Russian Developer Forum - Форум Российских разработчиков
    Replies: 6
    Last Post: 2009-02-26, 16:27
  2. Вопрос по считыванию данных из файла.
    By Clever brain in forum Russian Developer Forum - Форум Российских разработчиков
    Replies: 2
    Last Post: 2009-01-04, 18:59
  3. PC Suite not detect 6600 with Bluetooth connection
    By spinacle in forum Bluetooth Technology
    Replies: 29
    Last Post: 2004-03-14, 23:24
  4. Nokia 6210 Bluetooth Connectivity Pack
    By peter-h-hansen in forum Bluetooth Technology
    Replies: 1
    Last Post: 2002-08-19, 12:52

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved