Webbrowser control 使用浏览器控件';s姿势API
我正在尝试使用浏览器控件将一些多部分表单数据发布到我的服务器Webbrowser control 使用浏览器控件';s姿势API,webbrowser-control,symbian,http-post,panic,Webbrowser Control,Symbian,Http Post,Panic,我正在尝试使用浏览器控件将一些多部分表单数据发布到我的服务器 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 = HBu
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
,浏览器控件句柄创建如下:
我正在执行错误检查,但我确实捕获了放置以下代码段的函数调用
我已经通过记录它们的内容交叉检查了指针变量是否为NULL,它们似乎都很好,除了any指针是故意的。(文档说它是为将来使用而保留的,所以我认为NULL应该是一个合适的值)
我还验证了iBrowser
是浏览器控件的有效实例。如上所述,我正在捕获包含创建浏览器控件代码的函数
调用postrll()代码>失败,死机KERN-EXEC 3
欢迎提出任何建议、建议或备选方案
谢谢。能否在此处验证姿势法的输入参数???
并验证u browser控件是类上的成员并已初始化 从问题评论中:
我正在测试诺基亚E63。我也在使用Symbian^3 SDK
E63是S60第三版功能包1(S60 3.1)设备。尽管人们非常关注平台版本之间的二进制兼容性,但您确实应该使用S60第三版SDK,如3.0或3.1。是否验证了iBrowser指向有效对象?@chalup:是的,它指向有效对象。我已经使用iBrowser加载了一个URL。感谢您的回复。您要传递给CreateBrowserControlL()
的参数是什么?我已经更新了问题,以包括所有人提出的更多详细信息。再次感谢您表现出的兴趣。首先,我考虑的是参数生存期问题-在请求完全处理之前,HBUFC似乎超出了范围,但随后我检查了browsercontrol源()并注意到它复制了传入的所有参数。明天,当我进入Symbian环境的对话框时,我将对此进行更多检查。感谢您的提示,我将很快下载S60第三版SDK并测试我的代码。在S60第三版SDK中,浏览器控件不包含postrll()方法:(.我已经核对了S60 3.x源代码。感谢您的时间。我将答案授予您,是的+1:)
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);