博客堂

来源:百度文库 编辑:神马文学网 时间:2024/04/26 20:57:25

Enjoy coding|激情代码
京ICP备05023266号
公告
本网站成员采用邀请制,不提供注册或者申请功能。发表评论及阅读文章内容不需要注册帐号。如果您想拥有自己的帐号,建议您去博客园申请
版权声明:本站所有文章及其它附属品(如示例代码、截图及音、视频等)均属作者本人所有,如需转载,请主动联系文章的原作者,征得同意方可转载,并且在转载中注明作者姓名及博客堂链接。本站保留对非法转载追究的一切权力! 搜索MSDN
聚合
博客列表(OPML)文章列表(RSS)
统计信息
博客 - 59 随笔 - 3521 文章 - 403 评论 - 38535 引用 - 7104
博客堂宣言
博客不在多,有激情就行;内容不在深,无堆砌转载就灵。斯,是博客堂,唯技术先行。架构满篇飞,代码无陋空。谈笑业界事,调侃如梦中。
可以调程序,阅MSDN之圣经。无论坛之乱耳,无媒体之忘形。南到海南岛,北到哈尔滨,众博客曰:开心就好! 更新排行榜
孙展波
( 280, 2005-9-2 15:35)蝈蝈俊.net
( 250, 2005-8-23 10:29)开心就好
( 248, 2005-8-17 11:03)思归
( 179, 2005-9-2 3:58)kaneboy
( 172, 2005-8-26 18:25)moslem
( 154, 2005-9-2 10:23)豆腐
( 122, 2005-4-8 11:13)Uestc95
( 119, 2005-7-28 9:42)mvm
( 106, 2005-9-4 18:03)sam1111
( 95, 2005-7-4 13:07)装配脑袋
( 94, 2005-8-4 18:03)蒋晟.Net
( 88, 2005-9-2 11:28)Zee
( 85, 2005-3-16 0:04)Lostinet
( 79, 2005-4-24 21:52)喜欢是一种波澜壮阔的感觉
( 75, 2005-9-1 10:37)liuhuimiao
( 70, 2005-8-18 9:39)MicroHelper
( 63, 2005-8-25 17:40)Microtoby
( 61, 2005-3-12 11:07)破宝
( 61, 2005-5-21 7:19)eric
( 59, 2004-9-27 20:05)ceocio
( 59, 2005-7-27 16:30)Sumtec
( 59, 2005-7-12 14:59)我思故我在
( 54, 2004-7-31 15:55)卢彦
( 52, 2005-3-25 11:40)Jasper
( 51, 2005-9-1 12:42)知秋一叶
( 50, 2004-9-30 11:21)junfeng
( 46, 2005-7-15 8:04)点缀
( 44, 2004-9-11 16:28)musicland
( 43, 2005-4-16 0:39)宝玉
( 40, 2005-8-27 19:08)Adam
( 36, 2005-6-13 0:04)JGTM‘2005
( 35, 2005-7-22 12:00)怡红公子
( 34, 2005-3-31 16:02)秦海鹏
( 32, 2005-9-1 9:26)Wang Ting
( 31, 2005-6-13 1:01)大怪兽
( 31, 2004-11-7 20:02)fish
( 29, 2004-12-21 14:47)加菲猫
( 28, 2005-7-16 11:57)oldsidney
( 27, 2005-8-16 21:36)Debugger
( 26, 2004-12-6 16:22)mmkk
( 25, 2005-3-24 14:37)讨饭猫
( 23, 2004-11-6 1:19)严颢
( 21, 2004-12-7 0:14)袁峰
( 20, 2005-5-10 7:10)大坏蛋
( 20, 2005-8-8 22:31)Nuo Yan
( 19, 2004-8-8 12:31)关心
( 17, 2005-5-22 12:33)JohnnyHu
( 16, 2004-11-25 21:13)姚冬
( 14, 2005-7-27 21:57)飞翔
( 14, 2004-5-18 13:09)Evangelist
( 12, 2005-6-29 18:27)李建忠
( 12, 2005-7-1 17:55)grapecity
( 11, 2005-6-27 9:25)Zhiyong
( 10, 2005-6-17 8:46)Cavingdeep
( 8, 2005-7-4 16:53)天下
( 6, 2005-5-25 16:27)linkcd
( 4, 2005-9-1 21:13)FantasySoft
( 2, 2005-8-31 8:58)
友情链接





最新随笔
借助windbg将英文版iPAQ 2210刷为简体中文版ROM
用惠普官方提供的中文版WM2003的ROM是无法将英文的iPAQ 2210刷成中文的,因为ROM更新程序gwupgradeut会检查新旧版本的语言,如果不一致就无法继续安装下去。网上目前可以查找到的解决方案有两种:一是用UltraEdit修改英文ROM的NBF文件,把文件头上的CHS改成ENG,然后再运行GWUpgradeUt;二是用romupdate把备份到CF卡上的中文ROM回刷回去。前一种方法疑似不可行,因为修改以后gwupgradeut会报告checksum出错;后一种方法需要一个中文的ROM和CF卡,有时候一时很难找到。实在不行,就只好拿到电脑城里的PDA店里去刷,刷一刷要100块钱。
我的team有一个很geek的Dev Lead也有一个英文的2210要刷成中文的,他不愿意花那冤枉钱,就用windbg运行gwupgradeut,找到了gwupgradeut调用CompareStringA检查新旧版本的语言的地方,修改参数所在的位置的值,使检查通过,就顺利的把中文的ROM刷到了英文的2210上了。
他操作的具体步骤如下:
download ROMUpdate fromhttp://h18007.www1.hp.com/support/files/HandheldiPAQ/us/download/20498.html; extract file to a directory, say c:\ipaq; install windbg if you don‘t have it; run windbg gwupgradeut.exe from c:\ipaq; hit "f5" to start gwupgradeut.exe, follow the instruction until to the first screen which shows version info;
break into debugger; search for "ENG" string in memory by s 0x350000 L100000 ‘E‘ ‘N‘ ‘G‘ and found the address containing ‘E‘ ‘N‘ ‘G‘ ‘\0‘ ‘\0‘ ‘\0‘, likely it is 0x4185c0; set break point to ensure this address is used for LOCALE check: ba r4 0x4185c0 and hit "f5" to continue; if you hit breakpoint 0, run dc 0x4185a0 or find the first arg of strcmp() in call stack, make sure it is "CHS" if not, abort, don‘t continue; if it is, manually change "ENG" to "CHS" by: ea 0x4185c0 "CHS"; disable "ba r4" by bd 0; set break on write ba w4 0x4185c0 and hit f5; following on screen instruction until you hit "breakpoint 1"; hit F10 for a few times, and keep doing dc 0x4185c0 until you see it shows "ENG"; manually change "ENG" to "CHS" again: ea 0x4185c0 "CHS"; hit f5; wait until it finish.
不失为debug的一个很鲜活的案例。
2005-9-4 17:56:00 bymvm 【评论: 0,阅读:31 】
Tech Ed广州:奖品已经就绪,相会九月十四
课程时间如有变动,请以最新日程为准。
我在广州的Tech Ed课程安排在9月14日星期三。期待着您的参加。除了增加对课程内容的把握之外,您还有机会得到以下纪念品:
Tech Ed课程DEV210 --- Windows Presentation Framework (代号Avalon) 360度:
Windows Vista标志的帽子(*)
XBox Live的袋子(*)
Office标志的杯子
Windows XP之T-Shirt (含Box)
Tech Ed课程DEV310---Microsoft Visual Studio 2005:托管代码调试:
Think Microsoft之T-Shirt(*)
Games for Windows之T-Shirt
Windows XP标志的CD Case
SQL Server 2005 June CTP DVD
Fine Print: 如果托运行李丢失则只有标注星号的纪念品发送。这些小巧轻便的奖品我都是随身携带的。
2005-9-2 14:07:00 by孙展波 【评论: 4,阅读:419 】
在XAML之中通过mapping PI使用自定义元素的步骤
您正在阅读的为Tech Ed课程DEV210 --- Windows Presentation Framework (代号Avalon) 360度之相关资料。
当你在Xaml中使用Button, ListBox, Slider, Path等元素时,Parser从WPF提供的Assembly(程序集)中可以找到并使用其定义。当你使用自己定义的或者第三方提供的元素时,你就需要告诉parser从哪个assembly中load此类型。即使是对于本project/assmebly中自定义的类,在本project中的XAML中使用也需要这样的指令。
这样的PI(Processing Instruction)是Mapping。使用Mapping PI的步骤是:
在使用自定义类的XAML开头(Root element之前),提供合适的PI 如果自定义类和XAML处在同一个Assembly之中,只需要提供ClrNamespace和XmlNamespace的值。ClrNamespace为该自定义类所在的名称空间,而XmlNamespace是可以由你提供的唯一确定的名称空间值。举例: 如果自定义类和XAML处在不同的Assembly之中(此情形应该更加普遍)。除了ClrNamespace和XmlNamespace的值外,还必须提供Assembly的值,为包含自定义类的Assembly Name.举例:

在Root Element为前述的XmlNamespace提供一个前缀(Prefix).举例
xmlns:u="uca" 这样在XAML中就可以通过namespace prefix和类名使用自定义的元素了。举例:

2005-9-2 12:34:00 by孙展波 【评论: 5,阅读:376 】
追踪蠕虫病毒散播源的电子技术?
看到新浪的一篇新闻“FBI逮捕狙击波病毒作者 幕后涉及金钱交易”,其中提到一段:
... 微软的互联网犯罪调查小组从上周开始对第一波Zotob蠕虫病毒进行监视,可以说是通过蠕虫病毒相关信息及对该蠕虫病毒的技术性分析,我们对Zotob蠕虫病毒散播源进行了电子技术追踪 ...
可以看到,MS 已经开始向病毒的源头发起反击了,由 Reactively 转变为 Proactively,只是还没有明白这个“散播源电子技术追踪”是什么原理,发挥一下想象:
分析病毒体中包含的信息 使用蜜罐(Honeypot)技术,或通过一些安全应急组织,如 SANS 的病毒报告,监控蠕虫病毒的最先的、大面积的发源地, 对已被攻陷(Compromised)的服务器进行技术分析和追踪 在互联网的一些关键结点的路由器及 IDS、IPS 上也能找到一些其发作顺序方面的信息
其它还真想不出来有啥好招了。
文章后面有一句话挺有意思:“Smith还为饱受系统漏洞困扰的微软,他声称,造成蠕虫肆虐全球并不全都是微软的错,微软产品无所比拟的流行也应该对此负一定责任。”,我靠,流行也有错呀,没天理呀!
2005-9-2 10:23:00 bymoslem 【评论: 0,阅读:410 】
Our future? scary...:-)
[来源:Aaron Skonnard ]    Epic 2015 2005-9-2 3:58:00 by思归 【评论: 1,阅读:979 】
.Net 2.0 下Container性能比较: Binary Serialize Dataset vs Custom Classes
我们已经听过太多应该是用 Dataset还是应该使用自定义Class作为container的争论了.
很多Anti-Dataseter 对于.Net 1.1 下面dataset蹩脚的xml序列化方式很是不屑. 不可否认, xml序列化的确是dataset的一大缺陷.  但是Microsoft已经意识到了这个问题, 在即将推出的.Net 2.0中,他们为dataset提供了真正的binary序列化方式.
那么, 改进后的binary dataset性能到底如何呢? 在2.0时代, 什么样的container才是我们正确的选择呢?
本文通过实际的测试结果告诉您 :)
请点击阅读全文.
2005-9-1 21:13:00 bylinkcd 【评论: 2,阅读:485 】
微软亚洲工程院2005年秋季校园招聘信息
想加入微软亚洲工程院吗? 现在就投简历到msatcjob@microsoft.com!
今年微软亚洲工程院主要招聘:
招聘规模:100多人
招聘对象:研究生、博士生、本科生都可以
招聘职位:
Software Design Engineer( 软件开发工程师)
Software Design Engineer in Testing(软件开发测试工程师)
Program Manager(项目经理)
今年微软公司还会有一系列的宣传活动:
系列活动之一 -- 校园宣讲会(面向全国23所高校)
时间:  9月3日 -- 10月12日
地点:  全国12个城市
参与方法:  欢迎应届毕业生和在校学生参加宣讲会,当场询问有关招聘职位相关信息
简历投递:  9月5日以前请将您的简历发送到:微软亚洲工程院-招聘邮箱msatcjob@microsoft.com。9月5日以后请登陆中华英才网(ChinaHR)微软2005年秋季校园招聘主页:http://campus.chinahr.com/microsoft/。
系列活动之二 -- 在线宣讲会
第一次时间:2005年10月9日 (周日) 19:00~21:00
第二次时间:2005年11月1日 (周二) 19:00~21:00
参与方法  :登陆中华英才网(www.chinahr.com),首页即有在线宣讲会登陆办法和网页链接。
系列活动之三 -- 全国11大城市第一轮招聘笔试
时间:2005年10月16日(周日)下午
系列活动之四 -- 全国11大城市第二轮招聘笔试
时间:2005年11月13日(周日)下午
备注:申请人在线投递个人简历后,通过首轮挑选的申请人将收到被邀请参加笔试的邀请函,整个笔试活动将分为十月和十一月两场进行,为了汇聚全国的优秀人才,两场笔试均将在全国几十所高校同时进行。
2005-9-1 17:52:00 bymvm 【评论: 10,阅读:1144 】
细节,您注意到了么(5暨最后一期): Search hidden text
这些天准备Tech Ed课程---Microsoft Visual Studio 2005:托管代码调试经常在VS.NET 2003和VS2005之间切换。
按快捷键Ctrl+F就可以得到Find这个对话框。其中有一个checkbox叫做Seach hidden text。如果这个选项没有选中,只有在编辑器中可见的文本被搜索。如果这个选项被选中,则全部文本都会被搜索。
在缺省状态下,VS.NET2003不选中该选项,而VS2005则是选中该选项。这是在分析了最大多数程序员的使用习惯后做出的正确选择。当然,在少数场合,不选Seach hidden text更可取。这就是这个选择依然存在的原因。
至此就结束了5期"细节,您注意到了么"系列。以下为目录:
(1):Visual Studio 2005命名不再含.NET
(2):WPF为Windows Presentation Foundation的简称
(3): 今年的Tech Ed China主题是什么
(4): Tech Ed何时被译为"微软技术大会"
(5): Search hidden text
2005-9-1 13:16:00 by孙展波 【评论: 0,阅读:485 】
我所构想的异常处理
异常处理是开发.NET应用必然会遇到的环节,提供给用户一个友好界面的异常处理是目前大部分的处理方法。由于一年的时间以来,都致力于开发Starlight Portal,也就是基于积木块构建的一个Portal,而积木块应用的几个核心思想就是:
没有aspx页面,所有的页面都是动态的构建在积木块上(Module,本质上是User Control) 提供一种拖放机制,让用户能够设计所有的页面布局。 积木块搭建的应用程序,皮肤(主题)的制作要变得非常简单,不再需要增加ASCX文件模板,直接通过页面设计完成。
这也就带来一个新的异常处理上的小问题,也就是说如果某个积木块出了问题,不能影响到其的积木块,不能影响到整个页面。就好像是我们搭建积木的时候,如果一块积木坏了,但是我们仍然可以搭建整个房子(或者其他东西)的样子。
这就要求User Control在处理异常的时候,不会被抛到整个页面上去,而只是不再输出正常内容,输出异常信息。
当然,现在的结构也是能够处理这种方式的,只是会稍微麻烦一些,如果能够在User Control的代码中增加这种方式就好了。而现在的处理方法,基本上只能写大量的截获异常的代码,然后在WebModule(继承自UserControl)中自己来处理。有一点点的麻烦,比我理想的方式要繁琐一些。
2005-9-1 12:43:00 byJasper 【评论: 0,阅读:460 】
推荐新书:栾跃的“软件开发项目管理”
自从2003 年的微软技术大会以来,微软产品开发的项目管理专家栾跃的项目管理课程系列每年都会场爆满、极受听众的欢迎。栾跃曾经在过去的讲课中透露,他正在将项目管理的经验和微软的独特企业文化撰写一本书,向中国的同仁们作介绍和推广。经过近三年的业余时间的坚持不懈、五十万字的写作之后,栾跃的这本由上海交大出版社出版的“软件开发项目管理”的巨著终于将和读者见面。微软公司全球副总裁, 大中华区首席执行官陈永正特地为本书撰写贺词:“微软在市场上的成功得益于其强健的产品开发能力。栾跃这本介绍软件开发项目管理的著作,使你有机会窥见和学习到微软独特的管理艺术和企业文化。”C++ 语言的泰斗斯坦·立普曼也专为本书贺词。今年的微软技术大会的参加者,将有幸成为最早得到这本中国信息和软件开发界历史上第一本全面的项目管理的专业书的读者。微软技术大会将为参加者们专门举办一个“软件开发项目管理”的签名赠书(50本)活动,让听众们有机会与作者进行交流。(以上内容,来自Tech·Ed 2005 特色活动网页。)
应栾跃要求,我有机会在这本书交付上海交通大学出版社之前拜读了一遍。虽然我没有如Stan Lippman等人纷纷发布贺词,我也一样感觉到这本书的价值。此书比较系统也从实用的角度介绍了软件管理的理念,实践和艺术。从软件开发项目的特征开始,到软件开发项目的工作任务;从软件开发项目生命周期的概念,到如何制定软件开发项目的计划和时间表;从软件的功能需求总结,到设计规范书的撰写;从如何进行开发和测试的管理,到如何成为一个高素质的项目经理。
以人生的三年时间写就一本书,栾跃的毅力和执着让人敬佩。
而如果您没有得到签名赠书的50本之一,您还可以通过参加我在Tech Ed北京上的2门课程获得签名赠书之机会。它们是:Tech Ed课程 --- Windows Presentation Framework (代号Avalon) 360度和Tech Ed课程---Microsoft Visual Studio 2005:托管代码调试 。
因为出版时间的限制,广州和上海的课程纪念品中不包含此签名赠书。
2005-9-1 12:15:00 by孙展波 【评论: 1,阅读:525 】
www.microsoft.com adopts asp.net 2.0
I just get an internal notice saying thatwww.microsoft.com production servers are scheduled for upgrade to ASP.NET 2.0 by September 8, 2005.
Wow, I think they are crazy of moving to ASP.NET 2.0 while it‘s still in Beta stage, thought it must be a cool showcase of ASP.NET 2.0.
2005-9-1 9:30:00 bymvm 【评论: 7,阅读:629 】
细节,您注意到了么(4):Tech Ed何时被译为"微软技术大会"?
在Tech Ed被译为微软技术大会之前,一直叫做微软技术教育大会。新的说法是从去年开始的。
究其原因,引用新京报的这篇报道,乃是因为:看似只是简单地去掉了“教育”二字,但其中却隐含着一个重要的信息,那就是微软更强调交流与合作,而不是“教育”。
当然这只是中文说法的变化。Tech Ed作为微软在许多国家和地区的重要会议,使用的是相同的会标。
2005-9-1 9:04:00 by孙展波 【评论: 0,阅读:516 】
TechEd 2005: <如何使用ASP.NET Mobile Controls开发Mobile Web应用>
无线增值行业的发展速度几乎可以用空前来形容,HopeQ不止一次说我们拓杰凯业Team提供WAP技术服务是个好行业,其实我们Team立足Mobile,WAP技术服务只是我们工作的很小的一部分。中国联通、中国电信、中国网通也开始启动类似于中移动MISC平台的管理办法,另中移动分成新政出水,SP淘汰战马上就会一触即发;中移动的目标是构建一个大量CP+少数大SP+移动运营商”的移动增值服务产业链,其实对我们大家公司和个人来说都是一个难得的机会。很多中小公司都在进行SP(服务提供商)->CP(内容提供商)->TP(技术提供商)转变,我们团队一开始就立足于TP,看来竟争会越来越烈。
在这个月的TechED 2005上,我在北京和广州有一个<如何使用ASP.NET Mobile Controls开发Mobile Web应用>Session。这个session将讲述无线增值行业的发展以及当前开发技术(Asp.net 1.1 mobile control及Asp.net 2.0), 以及如何使用手持设备适配信息和设备适配库、Device Filters定制、模板定制、以及在XHTML浏览器的CSS Stylesheets创建更酷的Wap增值应用。
以前MCS的同事薛强说他再发热就去学医,专门研究病毒。傅彪的离去应该给应该大家带来深思,我们想一想马华,陶金,还听说孙悦现在心脏有问题也躺在医院。祝大家身体、健康、事业和学习,爱情友情亲情所有的一切一切都象很早以前刘德华的爱立信广告上说的:“一切都在掌握”。
另外,POS for .NET软件开发包发布了
Developing on the Windows Embedded for Point of Serice (POS) platform? The Microsoft POS for .NET Software Development Kit version 1.0 includes everything you need to write, build, and test service objects or applications that use POS for .NET.
2005-9-1 7:20:00 by喜欢是一种波澜壮阔的感觉 【评论: 1,阅读:454 】
Microsoft says it bought Teleo
teleo(http://www.teleo.com),一家位于旧金山的VOIP公司,产品处于Beta阶段(0.9beta),是一家小公司,这也符合MS一贯的并购风格。Teleo的产品从说明看还是很不错,Inbound,OutBound,Forwarding,Click-to-Call,Conference Calling(six people),Voicemail,Call History and Reporting.
看来MSN也要支持VoIP了,加上潜在的GTalk,Skype一枝独秀的时代快要结束了,呵呵。
只是Teleo是采用Sip协议的,不知MSN Messenger将采用何种方式将其加入进来?难道一个客户端使用两种协议?
详细新闻:
http://news.com.com/MSN%20buys%20into%20Net%20calling%20future/2100-1032_3-5844873.html?part=rss&tag=5844873&subj=news

2005-8-31 13:26:00 by秦海鹏 【评论: 2,阅读:576 】
ASP.NET发送邮件
由于需要在Starlight Portal中提供邮件发送功能,所以在网上找了一些asp.net中发送邮件的文章,可是都不能满足需求。因为大部分的文章都介绍得很简单,只是告诉你怎么用MailMessage,而我想用Gmail的邮箱发送信件,因此会碰到一些额外的问题,比如:
Gmail的Smtp端口不是默认的25,而是465 Gmail的Smtp采用的是SSL连接
因此,要发送邮件,就必须解决这两个问题,其他的基本问题都可以很容易的找到解决方法。在这里记下代码,以供大家使用。
MailMessage msg = new MailMessage();
msg.From = settings.SystemEmailAccount;
msg.To = to;
msg.Subject = subject;
msg.Body = body;
if(settings.SmtpAuthenticationRequired)
{
msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1" );
msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", settings.SystemEmailAccount);
msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", settings.SystemEmailAccountPassword);
}
if(settings.SmtpPort != 25)
{
msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", settings.SmtpPort.ToString());
}
if(settings.SmtpUseSSL)
{
msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "1");
}
SmtpMail.SmtpServer = settings.SmtpServer;
SmtpMail.Send(msg);
BTW:到今天为止,Starlight Portal已经有了更新、更好的版本,欢迎大家参观参观。
2005-8-31 13:07:00 byJasper 【评论: 0,阅读:539 】
细节,您注意到了么(3):今年的Tech Ed China主题是什么?
先看这个新闻稿:微软技术大会9月中国召开 首次增加“内幕”交流。
再看Tech Ed首页明确提出的主题:创新,远见,分享,协作。
您就可能发现对主题描述的不同:“远见”取代了“内幕”。
应该是最初的主题使用的是内幕,但是不久就启用现在的说法了。在Tech Ed 2005短片中,用的还是内幕。
以我的Tech Ed课程 --- Windows Presentation Framework (代号Avalon) 360度来说,有不少现在称为内幕的内容,但是等到课程结束之后,我希望所谓的内幕能带给你远见。内幕一公开就不再是内幕了,而远见则长久有益。这或许是主题变化的原因。
如果您特别留意细节的话,还可以在Tech Ed 2005短片中看到我在去年Tech Ed课程上的一帧画面。
2005-8-31 6:24:00 by孙展波 【评论: 4,阅读:674 】
C++/CLI中的默认属性访问
目前版本的VC2005测试版中,default关键字不仅用于指定类级别的索引器,而且也用于访问默认属性。但是奇怪的是,默认属性的原名不能访问了,也就是说,如果要把下面的代码段从托管C++移植到VC2005,不仅需要更改指针的类型,而且要把属性的名称更改为default:
//[System::Reflection::DefaultMemberAttribute("Fields")] interface _Recordset
//托管C++语法
//extern _Recordset* results;
Fields* ResultFields=results->Fields;
//C++/CLI语法
//extern _Recordset^ results;
Fields^ ResultFields=results->default;
如果继续使用原来名字来访问属性的话,会报告编译错误:
Fields^ ResultFields=results->Fields;//C3293: ‘Fields‘: use ‘default‘ to access the default property (indexer)。
这是一个Breaking Change。在语言规范中,默认索引属性只使用一个名字“default”,而且只有这一个实现。更进一步,默认索引属性只能用如下方式访问:
obj[index] obj->default[index] obj->default::get(index) obj->default::set(index, value)
顺便说一下,在C++中也可以使用for each语句了(http://msdn2.microsoft.com/library/ms177202(en-us,vs.80).aspx),不过看起来真不习惯
参考
New C++ Language Features (http://msdn2.microsoft.com/library/xey702bw(en-us,vs.80).aspx) Breaking Changes in the Visual C++ 2005 Compiler(http://msdn2.microsoft.com/library/ms177253(en-us,vs.80).aspx)
2005-8-30 14:57:00 by蒋晟.Net 【评论: 0,阅读:557 】
Tip:使用Trace信息,调试WPF数据绑定失败的原因
在运行WPF应用程序的时候,如果数据绑定失败,并不会产生异常(throw exception),当然也得不到期待的结果。如何知道有没有发生数据绑定失败?如果有,原因是什么呢?
在调试WPF程序的时候,数据绑定失败的信息会最终通过Trace.WriteLine提供给你。具体地说:
在VS2005下,Start Debugging (F5) 在Output Window,察看数据绑定失败的信息。
以下为一个例子:
BindingExpression path error: Cannot find property ‘WhatEver‘ on object ‘null‘.
BindingExpression:Path=‘WhatEver‘; DataItem=‘null‘;
target element is ‘Button‘ (Name=‘TechEdDemoBtn1‘); target property is ‘Content‘ (type Object);
更多WPF数据绑定的讨论,就在Tech Ed课程 --- Windows Presentation Framework (代号Avalon) 360度。
2005-8-31 3:03:00 by孙展波 【评论: 0,阅读:503 】
IronPython0.9中的Examples
自从IronPython加入了与.NET 2.0一齐发展的行列之后,我的SharpDevelop就不好使了。没有办法,为了能够把IronPython0.9自带的几个Example跑一跑,花了几天的时间,终于把Visual C# 2005 Express Edition Beta装上了。在聊聊IronPython0.9自带的Example之前,真的忍不住对Visual C# 2005赞叹一番:漂亮的界面,不错的启动速度,对UI开发鬼斧神工般的支持,实在太Cool了!
抹掉了天花乱坠的唾沫星子,让我们来看看IronPython中的例子吧。在IronPython0.9中自带了两个Example,两个都涉及到了IronPython与C#之间交互的问题。Delegate这个例子主要是说明了在C#中声明了Delegate,而在IronPython文件中定义相应的Event Handler的情况。public class Counter {
    public int counter = 0;
}

public class Walker {
    public delegate int ProcessRegular(XmlNode node);

    public event ProcessRegular OnNodeRegular;

    private int RegularWalk(XmlNode n, Counter cnt) {
        cnt.counter++;
        if (OnNodeRegular(n) == 0) return 0;
        foreach (XmlNode ch in n) {
            if (RegularWalk(ch, cnt) == 0) return 0;
        }
        return 1;
    }
}
以上是Delegate.cs的部分代码,你会发现这里仅仅是声明了OnNodeRegular,并没有具体的方法体。而实际的方法体则是在IronPython文件中被定义的:
def OnNodeRegular(node):
    print "%s, %s, %s" % (str(node), str(node.Name), str(node.Value))
    return 1
w.OnNodeRegular += OnNodeRegular
这里为我们提供了使用Delegate的一种全新的途径:由IronPython去定义被C#代码调用的Event Handler,不同语言的协作性展现无遗。然而,Python不支持方法重载的特性或许会影响function充当Event Handler的通用性。
而在另外一个例子Embedding中,我竟然没有找到熟悉的.py文件,颇感意外。于是打开其中的一个.cs文件一看,喔,熟悉的IronPython代码都跑到了C#代码中了。原来,Embedding的例子为我们展示了一种在C#中使用IronPython Script的方式。
public class Embed3 {
    public static int Value = 0;
    const string command =
        "import Embed3                  \n" +
        "Embed3.Value = 20              \n";

    public static void Run() {
        PythonEngine engine = new PythonEngine();
        engine.LoadAssembly(typeof(Embed3).Assembly);
        engine.Execute(command);
        Console.WriteLine(Value);
    }
}

代码的输出为20,Embed3中Value的值被IronPython Script改变了。这里实现的机制并不神秘,是通过Reflection来改变Value的值。
关于例子本身,没有太多的东西可以罗嗦的了,毕竟例子只是告诉了我们如何去使用这样的特性,我更愿意去想想这样的例子给我们带来的启示。两个例子都无一例外的展现了IronPython同C#之间良好的协作性,我不禁开始畅想在未来的Project当中会包含着两种语言,而开发团队也会由IronPython和C#程序员组成,使用不同的语言来开发不同的模块,让语言的优越性得到充分的发挥。也许你会觉得不同语言的协作性在.NET平台早以有之,用得着大惊小怪吗?但是我觉得在项目开发当中,真的会同时使用两种不同的.NET语言吗?C#和VB.NET的协作是IL层面上的,我们并没有办法将VB.NET的代码直接embed到C#的代码中。而在IronPython中,你可以选择将C#的代码Embed到IronPython的代码中(第一个例子),也可以选择将IronPython代码Embed到C#(第二个例子)中,这无疑为开发增加了更多的灵活性。 由于IronPython天生的轻量级特性,在C#代码中嵌入IronPython Script会有效地减少代码量,当然在程序的可维护性方面就可能有所下降了。不管怎么样,IronPython引入了一种新的不同语言的协作机制,也许它会成为你提高编码效率的选择。
PS:IronPython0.9.1在一个星期前,也就是8月23日发布了。期待1.0中……
2005-8-30 23:18:00 byFantasySoft 【评论: 2,阅读:523 】
MDAs: Managed Debugging Assistants (托管调试助手)
MDA是利用了CLR(公共语言运行时)提供的运行时状态信息从而有利于调试的帮助。MDAs针对一般难于捕获的可能的程序错误生成供参考的信息。使用MDAs有助于发现从托管代码和非托管代码(Unmanaged code,又叫native code,本地代码)转换过程中发生的较难发现的Bug.
在Tech Ed课程---Microsoft Visual Studio 2005:托管代码调试中将演示托管调试助手(MDA)。相关文档,特别是所有MDAs的列表和说明,可以参考MSDN。
2005-8-30 13:52:00 by孙展波 【评论: 2,阅读:646 】
Gizmo -- VoIP software
类似Skype的VoIP软件,同样支持多平台,如Windows、Mac、Linux(coming soon),不同的是Gizmo采用的是Sip协议——IETF标准的开放协议(RFC 3261)。
Gizmo加入了Google的开放标准联盟,不久GTalk和Gizmo就可以实现IM和Voice互通。按照Google现在使用了XMPP的现状看,他可能是采用和LCS类似的GateWay转换的方式实现的,毕竟GTalk在客户端使用两个协议的可能性很小。
http://www.sipphone.com/   http://www.gizmoproject.com/
SipPhone的老板:http://www.michaelrobertson.com/

2005-8-30 9:53:00 by秦海鹏 【评论: 1,阅读:667 】
WinFS Beta Released!
MS发布了WinFS的一个Beta版本,MSDN订户可以下载。
http://msdn.microsoft.com/data/winfs/default.aspx
http://blogs.msdn.com/winfs/archive/2005/08/29/457624.aspx
Microsoft has quietly released a beta version of WinFS, the file system originally slated to be part of Windows Vista, to MSDN subscribers. This beta release works on Windows XP and requires the .NET Framework version 2.0.
WinFS is the codename for Microsoft’s next-generation relational file system for Windows. As an essential piece of Microsoft’s Integrated Storage strategy, WinFS bridges the gap between file systems and databases and provides a unified, rich programming platform for all data: structured, semi-structured, and unstructured. With WinFS, Developers will be able to use its unified Item Data Model across applications, present new relational organization constructs for data, and create applications that exploit data more powerfully. WinFS is a development platform that will improve developer productivity and reduce organizations’ time to market.
2005-8-30 9:25:00 by秦海鹏 【评论: 0,阅读:636 】
Scott Guthrie最近的blog文章
ASP.NET之父Scott Guthrie,最近在他的blog上登出了一连串有关ASP.NET 2.0和VS 2005的文章,
1。VS 2005中的Web项目系统提供的新功能 (VS 2005 Web Project System: What is it and why did we do it?)
2。如何在VS 2005和Web项目系统中使用 IIS (Using IIS with VS 2005 and the new Web Project system)
3。如何设置 ASP.NET 2.0的应用服务使用SQL Server 2000和SQL Server 2005 (Configuring ASP.NET 2.0 Application Services to use SQL Server 2000 or SQL Server 2005)
4。更好地管理VS 2005Web项目中文件的几个技巧 (Some techniques for better managing files in VS 2005 Web Projects)
5。如何使用VS 2005建立可重用的ASP.NET用户控件和页面库 (Building Re-Usable ASP.NET User Control and Page Libraries with VS 2005)
2005-8-30 3:55:00 by思归 【评论: 1,阅读:1386 】
通过共享资源(Resources),提高Performance(性能)
在下面的例子中:
xmlns:x="http://schemas.microsoft.com/winfx/xaml/2005"
>