<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>J.et wong&#039;s 懒人记事本 &#187; Symbian</title>
	<atom:link href="http://j.etwong.com/blog-category/symbian/feed" rel="self" type="application/rss+xml" />
	<link>http://j.etwong.com</link>
	<description>看看想想记记</description>
	<lastBuildDate>Wed, 01 Feb 2012 11:59:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>双输入对话框CAknMultiLineDataQueryDialog</title>
		<link>http://j.etwong.com/blog-122</link>
		<comments>http://j.etwong.com/blog-122#comments</comments>
		<pubDate>Sat, 23 Jan 2010 13:48:05 +0000</pubDate>
		<dc:creator>J.et wong</dc:creator>
				<category><![CDATA[Symbian]]></category>

		<guid isPermaLink="false">http://j.etwong.com/?p=122</guid>
		<description><![CDATA[CAknMultiLineDataQueryDialog 是个很奇怪的方式 如果在模拟器运行正常，但在真机上无法出现的时候，请注意在mmp加上stacksize的选项 如果还是不行，请注意make clean 原来的项目！]]></description>
			<content:encoded><![CDATA[<p>CAknMultiLineDataQueryDialog  是个很奇怪的方式</p>
<p>如果在模拟器运行正常，但在真机上无法出现的时候，请注意在mmp加上stacksize的选项</p>
<p>如果还是不行，请注意make clean 原来的项目！</p>
]]></content:encoded>
			<wfw:commentRss>http://j.etwong.com/blog-122/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Container中加入切换View视图功能</title>
		<link>http://j.etwong.com/blog-118</link>
		<comments>http://j.etwong.com/blog-118#comments</comments>
		<pubDate>Wed, 20 Jan 2010 15:39:40 +0000</pubDate>
		<dc:creator>J.et wong</dc:creator>
				<category><![CDATA[Symbian]]></category>

		<guid isPermaLink="false">http://j.etwong.com/?p=118</guid>
		<description><![CDATA[在目前情况下，自带的MultiView例子中
可以轻松做到切到view1切换到view2，
但是有时我们需要在container中加一些itemlist，切换到 view2的功能，那要怎么做呢？


其实不是太复杂
我们可以在container里的构造函数里加入view的引用，就可以了

可以参考：fepexample的例子，他里面有就一个iFep aFep的引用例子

值得注意的是一个报错：

illegal use of incomplete struct/union/class 

这个可能是由于没有 container没有include view的头文件导致的，
尽管Carbide c++ 提示 iView能够调用 View库的函数，切记切记]]></description>
			<content:encoded><![CDATA[<p>在目前情况下，自带的MultiView例子中<br />
可以轻松做到切到view1切换到view2，<br />
但是有时我们需要在container中加一些itemlist，切换到 view2的功能，那要怎么做呢？</p>
<p>其实不是太复杂<br />
我们可以在container里的构造函数里加入view的引用，就可以了</p>
<p>可以参考：fepexample的例子，他里面有就一个iFep aFep的引用例子</p>
<p>值得注意的是一个报错：</p>
<p>illegal use of incomplete struct/union/class </p>
<p>这个可能是由于没有 container没有include view的头文件导致的，<br />
尽管Carbide c++ 提示 iView能够调用 View库的函数，切记切记</p>
]]></content:encoded>
			<wfw:commentRss>http://j.etwong.com/blog-118/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP加载OPEN SSL功能</title>
		<link>http://j.etwong.com/blog-116</link>
		<comments>http://j.etwong.com/blog-116#comments</comments>
		<pubDate>Fri, 16 Oct 2009 02:28:36 +0000</pubDate>
		<dc:creator>J.et wong</dc:creator>
				<category><![CDATA[Symbian]]></category>
		<category><![CDATA[openssl  Apache curl post]]></category>

		<guid isPermaLink="false">http://j.etwong.com/?p=116</guid>
		<description><![CDATA[ＭＳ是个很麻烦的问题，不简单是从php.ini中去掉 ;extension=php_openssl.dll 和把dll复制到c:\windows\system32目录中 你会发现在PHPinfo里，还是看不到openssl的信息。 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-一条分隔线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- 看这里的文档： http://www.php.net/manual/en/openssl.installation.php 大意是说： 在Apache加载PHP模式下，加载这两个dll是有顺序，先去Apache的bin下的dll加载，一看真是两个文件名一模一样，就是大小不一样， 换上新的文件，phpinfo又出现OpenSSL了 但是http  request 还是得不到他的信息，真郁闷，最后还是用Curl来解决这个问题 // 初始化一个 cURL 对象 $curl = curl_init(); // 设置你需要抓取的URL curl_setopt($curl, CURLOPT_URL, &#8216;https://XXXXX/xxx.xxx&#8217;); //ＳＳＬ验证 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);  //如果需要验证的话，设成false // 设置header curl_setopt($curl, CURLOPT_HEADER, 1); //如果为１，会打印出来header的 // 设置cURL 参数，要求结果保存到字符串中还是输出到屏幕上。 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 运行cURL，请求网页 $data = curl_exec($curl); // 关闭URL请求 curl_close($curl); // 显示获得的数据 [...]]]></description>
			<content:encoded><![CDATA[<p>ＭＳ是个很麻烦的问题，不简单是从php.ini中去掉</p>
<p>;extension=php_openssl.dll</p>
<p>和把dll复制到c:\windows\system32目录中</p>
<p>你会发现在PHPinfo里，还是看不到openssl的信息。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-一条分隔线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>看这里的文档：</p>
<p><a href="http://www.php.net/manual/en/openssl.installation.php">http://www.php.net/manual/en/openssl.installation.php</a></p>
<p>大意是说：</p>
<p>在Apache加载PHP模式下，加载这两个dll是有顺序，先去Apache的bin下的dll加载，一看真是两个文件名一模一样，就是大小不一样，</p>
<p>换上新的文件，phpinfo又出现OpenSSL了</p>
<p>但是http  request 还是得不到他的信息，真郁闷，最后还是用Curl来解决这个问题</p>
<p>// 初始化一个 cURL 对象<br />
$curl = curl_init();</p>
<p>// 设置你需要抓取的URL<br />
curl_setopt($curl, CURLOPT_URL, &#8216;https://XXXXX/xxx.xxx&#8217;);</p>
<p>//ＳＳＬ验证<br />
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1);<br />
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);  //如果需要验证的话，设成false<br />
// 设置header<br />
curl_setopt($curl, CURLOPT_HEADER, 1); //如果为１，会打印出来header的</p>
<p>// 设置cURL 参数，要求结果保存到字符串中还是输出到屏幕上。<br />
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);</p>
<p>// 运行cURL，请求网页<br />
$data = curl_exec($curl);</p>
<p>// 关闭URL请求<br />
curl_close($curl);</p>
<p>// 显示获得的数据<br />
var_dump($data);</p>
]]></content:encoded>
			<wfw:commentRss>http://j.etwong.com/blog-116/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>symbian应用程序Uid</title>
		<link>http://j.etwong.com/blog-108</link>
		<comments>http://j.etwong.com/blog-108#comments</comments>
		<pubDate>Tue, 29 Sep 2009 14:41:45 +0000</pubDate>
		<dc:creator>J.et wong</dc:creator>
				<category><![CDATA[Symbian]]></category>

		<guid isPermaLink="false">http://j.etwong.com/?p=108</guid>
		<description><![CDATA[RWsSession&#38; ws = iEikonEnv-&#62;WsSession(); TInt wgid = ws.GetFocusWindowGroup(); CApaWindowGroupName* gn = CApaWindowGroupName::NewLC(ws, wgid); TUid aCurAppUid = gn-&#62;AppUid(); CleanupStack::PopAndDestroy(gn); 需要从Uid转为十六进制。。。 const TUid KUidIdleApp5 = {0&#215;10005901};]]></description>
			<content:encoded><![CDATA[<p>RWsSession&amp; ws = iEikonEnv-&gt;WsSession();<br />
TInt wgid = ws.GetFocusWindowGroup();<br />
CApaWindowGroupName* gn = CApaWindowGroupName::NewLC(ws, wgid);<br />
TUid aCurAppUid = gn-&gt;AppUid();<br />
CleanupStack::PopAndDestroy(gn);</p>
<p><img class="alignnone size-full wp-image-110" src="http://j.etwong.com/wp-content/uploads/2009/09/0002.jpg" alt="0002" width="560" height="254" /></p>
<p>需要从Uid转为十六进制。。。</p>
<p><img class="alignnone size-full wp-image-111" src="http://j.etwong.com/wp-content/uploads/2009/09/0003.jpg" alt="0003" width="550" height="54" /></p>
<p><img class="alignnone size-full wp-image-109" src="http://j.etwong.com/wp-content/uploads/2009/09/0001.jpg" alt="0001" width="521" height="115" /></p>
<p>const TUid KUidIdleApp5 = {0&#215;10005901};</p>
]]></content:encoded>
			<wfw:commentRss>http://j.etwong.com/blog-108/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>symbian调试工具-hooklogger</title>
		<link>http://j.etwong.com/blog-104</link>
		<comments>http://j.etwong.com/blog-104#comments</comments>
		<pubDate>Tue, 11 Aug 2009 03:52:20 +0000</pubDate>
		<dc:creator>J.et wong</dc:creator>
				<category><![CDATA[Symbian]]></category>

		<guid isPermaLink="false">http://j.etwong.com/?p=104</guid>
		<description><![CDATA[在使用Symbian进行开发时经常会忘记释放我们曾经使用过的内存或指针，从而导致我们在模拟器中最后退出软件时会爆出提示，而检验遗漏的内存是程序员的天职所在，所以我们要想做好Symbian的开发，就必须熟悉如何查找内存，而Symbian SDK中提供了一个很好的工具HookLogger用来检验我们的内存操作。 下面所提到的是2008年5月1日版（0.423 rc版）（对应的SDK是9.1/S60_3rd的） 下载： http://developer.symbian.com/main/downloads/files/HookLogger.msi这个是官方的链接地址。 安装： 至于安装并没有像很多文章中所说的那么复杂，我只是安装在默认的目录，而官方的视频教程（后面会提到，也给过链接吧）也是一个象征性的地址。 使用： 我也就不多说了，官方的视频教程（http://developer.symbian.com /main/tools_and_sdks/developer_tools/supported/hook_logger/intro.htt）说的很清楚。如果有些地方因为网速不能打开，那我就做个小的介绍。 1、安装完毕后启动HookLogger的应用程序，这是可以启动模拟器，一般会有一个提示说是你的HookLogger和模拟器没有Hook上，你就直接点击确定并关闭模拟器（不要急着把HookLogger也关了）。 2、设置系统环境变量，新建一个环境变量，名称为epocroot，变量值为C:\Symbian\9.2\S60_3rd_FP1  （一般为你自己的安装目录）。重新启动操作系统。 3、打开Windows的命令控制台（开始菜单中单击运行， 输入cmd然后就按下回车），跳转到你所安装的HookLogger的目录（如默认的 C:\Program Files\HookLogger，这里要在控制台中输入 cd C:\Program Files\HookLogger然后回车），输入命令SetupHooks，回车；会弹出一些提示信息，接着输入SetupHooks epocroot， 回车。 3.1可以看到如下： C:\Program Files\HookLogger&#62;SetupHooks ** usage: SetupHooks &#60;DEVICE&#62; [--remove&#124;r] [--platform=&#60;PLATFORM&#62;] [--build=&#60;BUILD&#62;] ** where: &#60;DEVICE&#62; specifies the device name to attach hooks to (as listed by &#8216;devices&#8217;), or DEFAULT for the default device, or [...]]]></description>
			<content:encoded><![CDATA[<p>在使用<span class="t_tag">Symbian</span>进行<span class="t_tag">开发</span>时经常会忘记释放我们曾经使用过的<span class="t_tag">内存</span>或指针，从而导致我们在<span class="t_tag">模拟</span>器中最后退出<span class="t_tag">软件</span>时会爆出提示，而检验遗漏的内存是<span class="t_tag">程序</span>员的天职所在，所以我们要想做好Symbian的开发，就必须熟悉如何查找内存，而Symbian <span class="t_tag">SDK</span>中提供了一个很好的<span class="t_tag">工具</span>HookLogger用来检验我们的内存操作。<br />
下面所提到的是2008年5月1日版（0.423 rc版）（对应的SDK是9.1/S60_3rd的）<br />
<span class="t_tag">下载</span>：<br />
<a href="http://developer.symbian.com/main/downloads/files/HookLogger.msi" target="_blank">http://developer.symbian.com/main/downloads/files/HookLogger.msi</a>这个是官方的链接地址。<br />
安装：<br />
至于安装并没有像很多文章中所说的那么复杂，我只是安装在默认的目录，而官方的<span class="t_tag">视频</span><span class="t_tag">教程</span>（后面会提到，也给过链接吧）也是一个象征性的地址。<br />
使用：<br />
我也就不多说了，官方的视频教程（<a href="http://developer.symbian.com/" target="_blank">http://developer.symbian.com</a> /main/tools_and_sdks/developer_tools/supported/hook_logger/intro.htt）说的很清楚。如果有些地方因为网速不能打开，那我就做个小的介绍。<br />
1、安装完毕后启动HookLogger的<span class="t_tag">应用程序</span>，这是可以启动模拟器，一般会有一个提示说是你的HookLogger和模拟器没有Hook上，你就直接点击确定并关闭模拟器（不要急着把HookLogger也关了）。<br />
2、<span class="t_tag">设置</span><span class="t_tag">系统</span><span class="t_tag">环境</span>变量，新建一个环境变量，名称为epocroot，变量值为C:\Symbian\9.2\S60_3rd_FP1  （一般为你自己的安装目录）。重新启动操作系统。<br />
3、打开Windows的命令控制台（开始<span class="t_tag">菜单</span>中单击<span class="t_tag">运行</span>， 输入cmd然后就按下回车），跳转到你所安装的HookLogger的目录（如默认的 C:\Program Files\HookLogger，这里要在控制台中输入 cd C:\Program Files\HookLogger然后回车），输入命令SetupHooks，回车；会弹出一些提示信息，接着输入SetupHooks epocroot， 回车。</p>
<p>3.1可以看到如下：<br />
<strong></strong></p>
<p><strong><strong>C:\Program Files\HookLogger&gt;SetupHooks<br />
** usage:<br />
SetupHooks &lt;DEVICE&gt; [--remove|r] [--platform=&lt;PLATFORM&gt;] [--build=&lt;BUILD&gt;]<br />
** where:<br />
&lt;DEVICE&gt; specifies the device name to attach hooks to (as listed by &#8216;devices&#8217;),<br />
or DEFAULT for the default device, or EPOCROOT to attach to %EPOCROOT%\epoc32<br />
(as used by legacy Symbian tools)<br />
&lt;PLATFORM&gt; defaults to WINSCW<br />
&lt;BUILD&gt; defaults to UDEB<br />
&#8211;remove detaches the hooks, restoring the original EUSER.DLL</strong></strong></p>
<p><strong><strong>C:\Program Files\HookLogger&gt;SetupHooks epocroot<br />
Setting up hooks in &#8220;C:\Symbian\9.2\S60_3rd_FP1\epoc32\release\WINSCW\UDEB&#8221;<br />
已复制         1 个文件。<br />
Setup euser.dll to load EUserParasite_EKA2.dll, original preserved as euser.orig<br />
.dll.<br />
Run SetupHooks with &#8211;r to restore it</strong></strong></p>
<p><strong><strong>C:\Program Files\HookLogger&gt;</strong></strong><br />
4、设置完成，在HookLogger的Filters的Tab页面中，左侧的下拉菜单中选择Include only checked，在下面的Browse for EXE的按钮中选中你要进行<span class="t_tag">调试</span>的那个<span class="t_tag">工程</span>的模拟器对应的<span class="t_tag">exe</span>程序，一般在C:\Symbian\9.1\s60_3rd\epoc32\release\winscw\udeb\中，而<span class="t_tag">文件</span>名一般是你的工程名。<br />
5、设置完毕后启动模拟器，在模拟器中运行你要调试的那个程序，直到退出时爆出 Alloc ********（16位的地址），这时在HookLogger的Heap的Tab，单击第三个按钮（List all alloc），你会发现该页面中有一列Ptr，在这一列中找到你的那个对应的地址（Alloc中的********），然后用鼠标选中这一行，单击下面的 第四个按钮（Alloc details）这时会弹出一个<span class="t_tag">对话框</span>，找到第一个有关你的类名及<span class="t_tag">函数</span>名的位置（这里就是根源所在），在#后的数字就是你的内存泄露所在的位置。<br />
6、跳到你的源文件中步骤4的位置，找出你的内存泄露出现在哪里，这样你就可以进行下一步调试了。</p>
<p><strong>以上方法本人初步研究可以很好的运行，有问题大家在相互交流。</strong></p>
<p><strong>以上大部分内容来自：<em>鬼人王 &gt;&gt; </em></strong></p>
<p><strong><em>http://www.devdiv.net/thread-7886-1-3.html<br />
</em></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://j.etwong.com/blog-104/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Carbide C++编译排错备忘</title>
		<link>http://j.etwong.com/blog-55</link>
		<comments>http://j.etwong.com/blog-55#comments</comments>
		<pubDate>Sun, 07 Jun 2009 01:25:48 +0000</pubDate>
		<dc:creator>J.et wong</dc:creator>
				<category><![CDATA[Symbian]]></category>
		<category><![CDATA[carbide c++]]></category>
		<category><![CDATA[调试]]></category>

		<guid isPermaLink="false">http://j.etwong.com/?p=55</guid>
		<description><![CDATA[1.编译没有指定到文件 这种可能是某种方法没有实现，或者lib包也没放到mmp中，，， 2. E32USER-CBase 71 The explanation of E32USER-CBase 71 This panic is raised when TRAPs have been nested and an attempt is made to exit from a TRAP nest level before all the cleanup items belonging to that level have been popped off the cleanup stack. There must be the same number of items [...]]]></description>
			<content:encoded><![CDATA[<p>1.编译没有指定到文件</p>
<p>这种可能是某种方法没有实现，或者lib包也没放到mmp中，，，</p>
<p>2. E32USER-CBase 71</p>
<p>The explanation of E32USER-CBase 71</p>
<p>This panic is raised when TRAPs have been nested and an attempt is made to exit from a TRAP nest level before all the cleanup items belonging to that level have been popped off the cleanup stack.</p>
<p>There must be the same number of items on the cleanup stack on entering a TRAP harness as there is on exiting. In other words, anything that is pushed onto the cleanup stack inside a TRAP harness must be popped off before leaving the harness.</p>
<p>For example, the following code avoids this panic when FooLC() does not leave, by explicitly popping pointer before the end of the harness:</p>
<p>TRAPD(error, pointer = FooLC(); CleanupStack::Pop(pointer));</p>
<p>3.</p>
<h3 class="fnToggleHeadline"><strong><strong>BAFL 15 PANIC</p>
<p>多半是资源文件没有加载进来，记得查看一下编译成功的 rsc或者rsg文件，是否内容有更新</strong></strong></h3>
<p><strong><strong>4.Cardbide c++只是有报错，但没报哪一行<br />
这种就比较复杂一点了，多数是因为mmp里面的.lib文件没有加载进来</strong></strong></p>
<p><strong><strong>5。<br />
</strong></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://j.etwong.com/blog-55/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>symbian 一些总结</title>
		<link>http://j.etwong.com/blog-67</link>
		<comments>http://j.etwong.com/blog-67#comments</comments>
		<pubDate>Mon, 01 Dec 2008 08:30:10 +0000</pubDate>
		<dc:creator>J.et wong</dc:creator>
				<category><![CDATA[Symbian]]></category>

		<guid isPermaLink="false">http://j.etwong.com/blog-67</guid>
		<description><![CDATA[1.模拟器运行sis程序的可行性: 模拟器上安装的时候就会说文件已经损坏 I do not think you can install it into your emulator. In addition, the build for the target (GCCE or ARMV5) is not usable in the emulator at all! 来源 2.symbian运行SQLite 的可行性: 见这里: symbian SQL 教程: 一哥们做的sourceforge开源的OPEN C的项目,见这里]]></description>
			<content:encoded><![CDATA[<p>1.模拟器运行sis程序的可行性:</p>
<p><em>模拟器上安装的时候就会说文件已经损坏<br />
I do not think you can install it into your emulator. In addition, the build for the target (GCCE or ARMV5) is not usable in the emulator at all!</p>
<p><a href="http://discussion.forum.nokia.com/forum/showthread.php?t=131385">来源</a></em></p>
<p>2.symbian运行SQLite 的可行性:<br />
见这里: <a href="http://developer.symbian.com/wiki/display/pub/Symbian+SQL" title="symbian SQL">symbian SQL</a></p>
<p><a href="http://www.ddj.com/mobile/198702204?pgno=1" title="SQLite">教程:</a></p>
<p>一哥们做的sourceforge开源的OPEN C的项目,<a href="http://sourceforge.net/projects/sqlites60">见这里</a></p>
]]></content:encoded>
			<wfw:commentRss>http://j.etwong.com/blog-67/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>截获按键事件</title>
		<link>http://j.etwong.com/blog-65</link>
		<comments>http://j.etwong.com/blog-65#comments</comments>
		<pubDate>Mon, 13 Oct 2008 14:06:47 +0000</pubDate>
		<dc:creator>J.et wong</dc:creator>
				<category><![CDATA[Symbian]]></category>

		<guid isPermaLink="false">http://j.etwong.com/blog-65</guid>
		<description><![CDATA[1.usual key In CMyAppUi::ConstructL() I put: iEikonEnv-&#62;RootWin().EnableReceiptOfFocus(ETrue); captureEvent = iEikonEnv-&#62;RootWin().CaptureKey(EStdKeyMenu,0,0); And in the destructor: iEikonEnv-&#62;RootWin().CancelCaptureKey(captureEvent); TKeyResponse CMyAppUi::HandleKeyEventL( const TKeyEvent&#38; KeyEvent,TEventCode aType) { TKeyResponse returnKey = EKeyWasNotConsumed; if(aType == EEventKey) { switch(KeyEvent.iScanCode) { case EStdKeyMenu: { iAppContainer-&#62;SetTextL(_L("Menu key pressed")); iEikonEnv-&#62;RootWin().SetOrdinalPosition(0, ECoeWinPriorityAlwaysAtFront); returnKey = EKeyWasConsumed; break; } default: { returnKey = EKeyWasNotConsumed; break; } } } return [...]]]></description>
			<content:encoded><![CDATA[<p>1.usual key</p>
<p>In CMyAppUi::ConstructL() I put:</p>
<p>iEikonEnv-&gt;RootWin().EnableReceiptOfFocus(ETrue);<br />
captureEvent = iEikonEnv-&gt;RootWin().CaptureKey(EStdKeyMenu,0,0);</p>
<p>And in the destructor:</p>
<p>iEikonEnv-&gt;RootWin().CancelCaptureKey(captureEvent);</p>
<p><code><br />
TKeyResponse CMyAppUi::HandleKeyEventL(<br />
const TKeyEvent&amp; KeyEvent,TEventCode aType)<br />
{<br />
TKeyResponse returnKey = EKeyWasNotConsumed;<br />
if(aType == EEventKey)<br />
{<br />
switch(KeyEvent.iScanCode)<br />
{<br />
case EStdKeyMenu:<br />
{<br />
iAppContainer-&gt;SetTextL(_L("Menu key pressed"));<br />
iEikonEnv-&gt;RootWin().SetOrdinalPosition(0, ECoeWinPriorityAlwaysAtFront);<br />
returnKey = EKeyWasConsumed;<br />
break;<br />
}<br />
default:<br />
{<br />
returnKey = EKeyWasNotConsumed;<br />
break;<br />
}<br />
}<br />
}<br />
return returnKey;<br />
}<br />
</code></p>
<p>2.special keys:such as menu key:</p>
<p>EStdKeyMenu,EKeyMenu, EKeyApplication0, EStdKeyApplication0(menu keys)&#8230;.are of TStdScanCode type&#8230;</p>
<p>if u want to use the TStdScanCode type&#8230;use captureKeyUpandDows() method&#8230;</p>
<p>CaptureKeyUpandDowns</p>
<p>3.muilty keys</p>
]]></content:encoded>
			<wfw:commentRss>http://j.etwong.com/blog-65/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>symbian安装完立即启动和执行..</title>
		<link>http://j.etwong.com/blog-61</link>
		<comments>http://j.etwong.com/blog-61#comments</comments>
		<pubDate>Tue, 23 Sep 2008 02:11:55 +0000</pubDate>
		<dc:creator>J.et wong</dc:creator>
				<category><![CDATA[Symbian]]></category>

		<guid isPermaLink="false">http://j.etwong.com/blog-61</guid>
		<description><![CDATA[可以在PKG文件里：加入了，FR，RI： &#8220;$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\TestAutoStart_0xEAF18DD0.exe&#8221; -&#8221;!:\sys\bin\TestAutoStart_0xEAF18DD0.exe&#8221;,FR,RI]]></description>
			<content:encoded><![CDATA[<p>可以在PKG文件里：加入了，FR，RI：</p>
<p>&#8220;$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\TestAutoStart_0xEAF18DD0.exe&#8221;		-&#8221;!:\sys\bin\TestAutoStart_0xEAF18DD0.exe&#8221;,FR,RI</p>
]]></content:encoded>
			<wfw:commentRss>http://j.etwong.com/blog-61/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Symbian区别：</title>
		<link>http://j.etwong.com/blog-60</link>
		<comments>http://j.etwong.com/blog-60#comments</comments>
		<pubDate>Sat, 20 Sep 2008 15:03:41 +0000</pubDate>
		<dc:creator>J.et wong</dc:creator>
				<category><![CDATA[Symbian]]></category>

		<guid isPermaLink="false">http://j.etwong.com/blog-60</guid>
		<description><![CDATA[  TBuf16&#60;100&#62; iMbBufferNewone; //新的一个码表 TInt i=0; while(i&#60;10) { if(i&#60;5) iMbBufferNewone.Append(_L(&#8220;A&#8221;); else iMbBufferNewone = KNullDesC(); //BUG，好像不对&#8230;. iMbBufferNewone.Delete(0,iMbBufferNewone.Length());//这样子才行？ i++; }]]></description>
			<content:encoded><![CDATA[<p>  TBuf16&lt;100&gt; iMbBufferNewone; //新的一个码表<br />
TInt i=0;</p>
<p>while(i&lt;10) {<br />
if(i&lt;5)<br />
iMbBufferNewone.Append(_L(&#8220;A&#8221;);<br />
else<br />
iMbBufferNewone = KNullDesC(); //BUG，好像不对&#8230;.<br />
iMbBufferNewone.Delete(0,iMbBufferNewone.Length());//这样子才行？</p>
<p>i++;<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://j.etwong.com/blog-60/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

