我在使用BOOK: Professional Crystal Reports for VS.NET 的时候,经常出错: …..Assembles不能用。。。。 这里最好的解决办法是,1.重新安装.Net FrameWork,2. Select the Compile tab and click on the “Advanced Compile Options…” button. Find “Target CPU” and set it to x86. Next find “Target Framework” and set it to .NET Framework 4. 这下一切都好了。… Read More


①.VBからExcel及びWordを操作する時の注意事項 1.当サンプルをご使用になる前に まず、プロジェクト→参照設定で Microsoft Excel  *.* ObjectLibrary にチェックを入れておいて下さい。 2.通常、事前バインディング(アーリーバインディング)の変数を使うオブジェクトの参照の方が、 実行時バインディング(レイトバインディング)の変数を使うオブジェクトの参照よりも処理が 高速になります。従って、ここでは事前バインディングの変数を使っています。 詳しくはヘルプの「オブジェクトの参照の高速化」を参照してください。(但し、Excel を起動→書 き込み→終了→解放という操作を繰り返した場合、実行時バインディングの変数を使う方が 遥かに早く操作できました。) 又、コーテェング段階で、オブジェクトで使われているプロパティやメソッドの構文がチェックさ れて、誤りがあるとエラーが表示されます。(自動メンバ表示などのインテリセンス機能) Dim xlApp As Object        ’実行時バインディングの変数 Dim xlApp As Excel.Application  ’事前バインディングの変数 3.サンプル等を試される場合途中でエラー等が発生するとExcel が終了しないで残ったままにな ってしまいます。何度も繰り返すとメモリ不足になり、フリーズしたりします。 (Ctrl + Alt + Delete キーで Excel が残っていないか確認し残っていれば終了するかパソコンを 再起動して下さい。) 4.上記の状況がいつ起きるかも知れません、従ってプログラムは保存処理を都度行っておくよう にして下さい。 5.下記のように省略系や間違った使い方をすると オブジェクトを解放後もメモリ上に残ってしま います。(以下私の失敗例)   誤り Application.CentimetersToPoints 正解 xlApp.CentimetersToPoints 誤り ActiveSheet            正解 xlApp.ActiveSheet 誤り ActiveCell            正解 xlApp.ActiveCell 誤り Key1:=Range(“C2”)        正解 Key1:=xlSheet.Range(“C2”) 誤り xlSheet.Range(Cells(1, 1),    正解 xlSheet.Range(xlSheet.Cells(1, 1) 掲示板での質問も多いので下記にまとめてみましたので、詳しくは Excel… Read More


【电脑】微软是如何输掉API之战(上) 前几天无意间看到这么篇猛文,很久没有看过这么长的英文文章了,觉得,很有必要将其翻译成为中文,让国内的程序员也来瞅瞅。 这边只是前半部分而已,后半部分还在翻译中。 原文网址:http://www.joelonsoftware.com/articles/APIWar.html 微软是如何输掉API之战(下) 是的,这篇翻译是下篇,上篇是在: http://www.blogwind.com/Wuvist/6984.shtml 我在2005年2月13日翻译的。如果你没有看过上篇,也没有看过原文(http://www.joelonsoftware.com/articles/APIWar.html),请先看上篇。而且建议去看原文,因为,我在翻译的时候去掉了一些附带说明与链接。 原文作者:Joel Spolsky Sunday, June 13, 2004 一统天下的运行时 .Net降临了。这是一个浩大的工程;一个企图彻底根除所有混乱局面的工程。它自然有内存管理。它不仅有Visual Basic,还有一门新的语言。这语言继承了Visual Basic的精神,但却有着C风格的语法-大括号跟引号。最妙的是这门糅合了VB跟C的新语言叫C#,也就是说你再也不用跟别人说你是一个“Basic”基本程序员了。那些恐怖的拖泥带水的Window函数、钩子、向后兼容的Bug还有无从解释的字符串返回语法都被扫除了;取而代之的是一个崭新只有一种字符串并面向对象的接口。一统天下的运行时。这很美,在技术得赞下微软。.Net是一个超赞的程序开发环境,它可以帮你管理内存,拥有丰富、完整并统一的操作系统接口;而且还有丰富、超级完整还很优雅供基本操作的对象库。 但是,程序员不用.Net做太多开发。 当然,也有用.Net的人。 但,使用一个全新彻底革新的程序开发环境来统一VB跟Windows API开 发并存造成的混乱是愚蠢的。现在,我们不是有一种或者是两种开发语言,而是有三种开发语言(还是四种?)!就跟对两个在吵架的小孩大喊:“你们都别吵 了!”一样愚蠢。在电视里面,这样子大喊也许会有效;但在现实生活中这样搞法的必然结果就是你跟两个小孩三个人一起吵得更加大声。 (顺便说一下,那些有关注神秘但被政治所改变的网志聚合格式世界的朋友,你们可以发现同样的事情也发生了。RSS被分裂成为了几个版本-不准确的规则跟一堆政治性质的斗争。而企图解决这一切的做法竟然是定义一个新的叫ATOM的聚合格式。结果便是不同版本的RSS现在多了一个ATOM来搅局-不准确的规则跟一堆政治性质的斗争。当你企图引入第三方来解决对立的两方时,结果便是三足鼎立。你什么也没有统一而且你也没有解决任何事情。) 所以,.Net现在并没有统一并简化世界,我们现在反倒陷入了更大的混乱。所有的人都在犹豫他们的开发策略,究竟有没有足够能力把现有程序转到.Net上呢? 无论微软的市场信息是多么的统一(“用.Net吧!相信我们!”),它的大部分用户还是在使用C,C++,VB 6.0跟传统的ASP做开发。更不用说其它公司提供的开发工具了。然后,仅剩的使用.Net做开发的公司做的是ASP.Net!ASP.Net需要跑在Windows服务器上,但,它需要一个Windows做客户端。这就是我谈到Web时要强调的重点。 哦,等一下,还有其它的东西! 现在微软有了太多的开发人员搞得它重新发明一次整套Windows API还觉得不够爽,它竟然重新发明了两次!在去年(应该是03年,Wuvist注。)的PDC上,微软宣布了它们的下一代操作系统,代号长角。长角不仅有上述的东西,还有一套全新的用户界面API,代号Avalon。Avalon再次把一起推倒从来以利用现在电脑高速的显卡跟实时三维渲染的优势。所以,如果你现在正在开发Windows界面程序,并且使用了微软现在“官方”宣称的最先进的开发环境:WinForms;那么两年后你得重新开始以支持长角跟Avalon。这解释了为什么WinForms在诞生之时便死翘翘了。但愿你还没有在WinForms上投入太多。Jon Udell从微软那找到了一个题为:“我如何在Windows Forms与Avalon间做选择?”的幻灯片,并且问了这么个问题。这是个好问题,并且没有人可以很好的回答它。 所以,我们有了Windows API,有VB,现在还有了带若干种不同语言供选择的.Net;但,我们不能在这些环境下浸淫太久。因为,微软正在开发Avalon呢!注意到没?Avalon可只能在微软最新的操作系统上跑,但是,它得等很久很久以后才能开跑。对我个人来说,我没有时间很深入的学习.Net,并且,我们也没有把Fog Creek的两个应用程序从传统的ASP跟VB 6.0转到.Net上。因为投入做这么件事情对我们没有回馈。一点都没有。在我关心的范围里,它纯粹是一件“开火并动作”的事情:微软会爱死我们停止给Bug跟踪软件跟CMS开发新的功能,并浪费几个月的时间转移到新的开发环境里。这无法使我的任何一个客户获利,也没法让我多卖一套软件。但这对微软来说很妙,因为微软也有它自己的CMS跟Bug跟踪软件。对微软来说,再也没有比使我为追时髦而浪费时间重新绕着.Net转,并且一两年后在为Avalon浪费一次时间的事情让它感到更的爽了。在我忙着转的时候,它却在给它的软件加新功能,懂了没? 没有一个有日常工作的程序员可以有时间可以去追赶所有从雷德蒙出来的新开发工具。因为,微软有太多该死的员工在研发新的开发工具! 现在不是1990年 微软是在八十年代成长起来的,那正式个人电脑高速发展的年代:新出厂的电脑比现有的还多。这意味着如果你的产品只能够在新电脑上跑的话,过不了一两年它也可以占领市场,既便没有人刻意“转用”你的产品。这是Word跟Excel能如此彻底取代WordPerct跟Lotus的原因之一。微软只需要等待下一波硬件升级的浪潮,然后把Windows,Word跟Excel一块卖给企业用户(有些企业还是第一次买电脑)。所以,从很多方面来说,微软从来没有学习如何促使用户从产品的N版升级到N+1版 的必要。当用户买了新电脑,他们会很高兴在新电脑上使用微软的各种最新产品,经管他们不太可能纯粹的做软件升级。这也无所谓,个人电脑市场当时在疯狂的增 长。但是,现在的世界,个人电脑市场已经饱和了,并且现有的电脑都跑得不错。谢谢,微软突然意识到它花长时间等待最新的产品进入市场了。当它企图“终结”Windows 98的时候,现实是有太多的人还在使用着Windows 98,而微软得打破自己的诺言,无奈的继续给这老爷系统做多几年支持。 不幸的是,当所有人都用着98年产的电脑用得很开心的时候,像.Net、长角跟Avalon这些美丽的新技术锁定用户的企图便变得不容易实现了。即使长角真的在2006年如此发布(我此刻其实也并不相信这点),它也得花上几年的时间以获得足够的人认同它是新的开发平台。开发者,开发者,开发者跟开发者在开发软件的时候,并不卖微软那“人格分裂”开发建议的帐。 走进网络 我不能理解我说了这么多却没有提到网络。所有的开发者机会做新软件的时候都有一个选择:做网站或者做“胖客户端”在PC上跑的软件。两者的利弊很简单:网站更加容易配置(deploy),而胖客户端软件则能提供更快的反应时间以提供更有趣的用户界面。 网站更容易配置,因为它不需要安装。对用户来说,“安装”一个网络应用程序等于在浏览器地址栏里输入一个网址。我今天刚装了Google的新Email程序:按Alt+D,输入gmail,再按Ctrl+Enter。 网络应用程序有着相当少的兼容性问题或者跟其它软件冲突的机会。所有使用你产品的用户都使用着你最新的版本,你不必为各种旧版本提供支持。你可以使用任何 你喜欢的开发环境,只要你能够让程序在你自己的服务器上跑就好。你的程序实质上也能自动为所有地球上的电脑服务。而且,你用户的数据在实质上也能自动供地 球上所有的电脑使用。 但,这些需要牺牲流畅的用户界面做代价。这边有一些网站无法做得很好的事情的例子: 1.建立快速画图的程序 2.实时带红色下划线的拼写检查 3.警告用户说他们点浏览器的关闭按钮时会丢失手头的资料… Read More


Visual Studio 2005 provides you with a visual indication of what has changed during the editing session. It sets apart the changes you have made that have not yet been saved and changes you have made that have been saved, during the current session. Edit and Continue feature allows you to make changes to your… Read More


Code snippets technology exists for a single reason—developer productivity. One of the new features found in Microsoft Visual Studio 2005 is the ability to insert code examples, or snippets. Code snippet is the name used in Visual Basic, but in Visual C# and other languages, it is known as code expansion. These snippets increase your… Read More


One of the new features in Visual Basic 2005, called My, provides access to commonly used functionality provided by the .NET Framework. The top-level members of My are exposed as objects. The three central objects that provide access to information and commonly used functionality are My.Application object, My.Computer object, and My.User object. You can use… Read More


リンク: Brett Johnson – Visual Studio 2005 Cache Visualizer. The ASP.NET Cache represents a collection of objects that are being stored for later use. Each object has some settings wrapped around it, such as how long it will be cached for or any cache dependencies. There is no easy way while debugging to get an… Read More


リンク: Visual Studio 2005: Visual Studio 2005 Code Snippets. Visual Studio 2005 Code Snippets IntelliSense Code Snippets are reusable, task-oriented blocks of code. Visual Studio 2005 includes code snippets covering tasks ranging from creating a custom exception, to sending an e-mail message, to drawing a circle. A set of Visual Basic and Visual C# Code… Read More