您的位置:首页 > 其它

今天symbian遇到问题的总结

2009-02-18 17:59 267 查看
1、carbide开发dll时出现诡异的错误。 .def文件和有文件以及源码不一致。
一顿暴力解决了(不知道咋解决的)
不过最终懂了开发dll的一些问题,比如定稿,lib与dll的关系。

2、手机的栈比较小,我在开了一个10k的TBuf。在模拟器上运行正常,结果在手机上就是k3

错误。 通过打log跟,发现这里的错误,改成1k。 YES

3、在dll中不能有全局变量。只可以存在全局常量(不知对不,反正将一个 全局的变量前加了const就编译

通过了,当然这个变量就应该是const的)

4、程序推出 报cone 36
解决方法:
有R类没有关闭。原因用HTTPEngine 没有RSocketSer 句柄,得需要RHTTPSession 反向获得。

RHTTPConnectionInfo connInfo = iHttpSession.ConnectionInfo();

RStringPool pool = iHttpSession.StringPool();

THTTPHdrVal val;

TBool ret = connInfo.Property(pool.StringF(HTTP::EHttpSocketServ,

RHTTPSession::GetTable()), val);

RSocketServ socketServ;

RConnection *connection = NULL;

if (ret)

{

socketServ.SetHandle(val.Int());

ret = connInfo.Property(pool.StringF(HTTP::EHttpSocketConnection,

RHTTPSession::GetTable()), val);

if (ret)

{

connection = REINTERPRET_CAST(RConnection*, val.Int());

}

iHttpSession.Close();

if (connection)

{

// connection->Close(); //注意这里不注释掉,将会报 K0错误。

}

socketServ.Close();

}

else

{

iHttpSession.Close();

}

5、dll的capacibility <= exe(调用dll的)的capacibility

最好相等就行了。

...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: