0

ブラウザコントロールを使用して、マルチパートフォームデータをサーバーに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);

内容をログに記録して、ポインター変数のいずれかがNULLであるかどうかをクロスチェックしました。意図的なポインターを除いて、すべて問題ないようです(ドキュメントには、将来の使用のために予約されていると記載されているため、NULLが適切な値であると思います)。

iBrowserまた、これがブラウザコントロールの有効なインスタンスであることも確認しました。上で述べたように、私は TRAPブラウザコントロールを作成するためのコードを含む関数を使用しています

呼び出しPostUrlL();はパニックで失敗しますKERN-EXEC 3

任意のポインタ、提案、または代替案を歓迎します。

ありがとう。

4

2 に答える 2

1

質問コメントから:

NokiaE63でテストしています。また、Symbian ^3SDKを使用しています。

E63は、S60 3rd Edition Feature Pack 1(S60 3.1)デバイスです。プラットフォームバージョン間のバイナリ互換性に多くの注意が払われていますが、実際には3.0や3.1などのS60 3rdEditionSDKを使用する必要があります。

于 2010-07-02T13:15:30.617 に答える
0

ここでPostUrlメソッドの入力パラメーターを確認できますか? Platform BrowserControlAPIドキュメント ??? uブラウザコントロールがクラスのメンバーであり、初期化されていることを確認します。

于 2010-06-29T17:03:27.463 に答える