Использование PostUrlL API браузера - PullRequest
0 голосов
/ 28 июня 2010

Я пытаюсь POST некоторые многоэлементная форма данных на мой сервер, используя элемент управления браузера.

Метод PostUrlL();Паникует KERN-EXEC 3, как только он вызывается.

Вот фрагмент, похожий на тот, который я использую в своем коде.

// These LITerals are copied to pointer vars below
_LIT8(K_txt_Boundary, "0xABeR1122EEFFx0");
_LIT8(K_CT_MultipartFormData,"multipart/form-data");

HBufC *url = HBufC::NewL(URL_SIZE);
HBufC8 *contentType = HBufC::NewL(CONTENT_TYPE_SIZE);
HBufC8 *bufPostData = HBufC::NewL(POST_DATA_SIZE);
HBufC8 *boundary = HBufC::NewL(BOUNDARY_SIZE);

// Check allocation was successful 
// and copy required data to allocated space.

TAny *any = NULL;

TRAPD(error, iBrowser->PostUrlL(
                       *url, 
                       *contentType, 
                       *bufPostData, 
                       boundary, 
                       any)
             );

iBrowser,Дескриптор управления браузером создается следующим образом: Я пропускаю проверку ошибок, но я выполняю TRAP для вызова функции, в которой находится следующий фрагмент:

iBrowserCapabilties = TBrCtlDefs::ECapabilityDisplayScrollBar 
                                | TBrCtlDefs::ECapabilityLoadHttpFw 
                                | TBrCtlDefs::ECapabilityGraphicalHistory 
                                | TBrCtlDefs::ECapabilityGraphicalPage 
                                | TBrCtlDefs::ECapabilityClientResolveEmbeddedURL 
                                | TBrCtlDefs::ECapabilityCursorNavigation
                                | TBrCtlDefs::ECapabilityClientNotifyURL;

iBrowserObserver = CBrowserObserver::NewL(this);

iBrowser = CreateBrowserControlL(   
                iAppView, 
                aRect,
                iBrowserCapabilties,
                TBrCtlDefs::ECommandIdBase, 
                NULL, // Soft keys
                iBrowserObserver, // Link Resolver
                NULL,
                NULL // Layout change 
        );

iBrowser->SetBrowserSettingL(TBrCtlDefs::ESettingsCookiesEnabled, ETrue);

I 'Перепроверив, чтобы увидеть, являются ли какие-либо из указателей переменными NULL, регистрируя их содержимое, все они кажутся нормальными, за исключением указателя any , который является преднамеренным.(В документе говорится, что он зарезервирован для будущего использования, поэтому я считаю, что NULL должно быть подходящим значением).

Я также проверил, что iBrowser является допустимым экземпляром элемента управления браузера. Как уже упоминалось выше, я TRAP ing функция, которая содержит код для создания элемента управления браузера

Вызов PostUrlL(); сбой с паникой KERN-EXEC 3.

Приветствуются любые указатели, предложения или альтернативы.

Спасибо.

Ответы [ 2 ]

1 голос
/ 02 июля 2010

Из комментариев к вопросу:

Я тестирую на Nokia E63. Также я использую Symbian ^ 3 SDK.

E63 - устройство S60 3rd Edition Feature Pack 1 (S60 3.1). Хотя большое внимание уделяется двоичной совместимости между версиями платформы, вам действительно следует использовать S60 3rd Edition SDK, например 3.0 или 3.1.

0 голосов
/ 29 июня 2010

Не могли бы вы проверить здесь входной параметр для метода PostUrl Документация API управления браузером платформы ??? и убедитесь, что элемент управления браузера является членом класса и инициализирован.

...