星期五, 9月 29, 2006

快速註冊元件到toolbox tab的方式

最近IDE常常怪怪的,從使用VS2005以來就常常會發生,明明有註冊過元件在選盤上,但開了新專案時,完全不出現(連自己專案中寫的comopnent或是datamodule中其它元件也不出現),但重開舊專案有時又會出現,有人知道這是怎麼一回事嗎?

找了好久都找不到為什麼,試著清空APPLICATION DATA中的資料,一樣沒有什麼效果,且神奇的是,在TOOLBOX上選 SHOW ALL,卻還會顯示頁簽,但裡面沒有半顆元件,慘的是DEVEXPRESS什麼都沒有就是元件多,重安裝他雖然有重新登錄到頁簽中,但還是不會出現,光要手動重拉且分類就昏到。不小心快速快元件出現在選盤上的方式為,直接把DLL拉進頁面中即完成,比起你按右鍵光要彈出選單就要等數分鐘快速了N百倍。

而順道一提的是,VS2005 SP1(BETA)真的會讓IDE的反應快很多很多很多很多,用了一天的心得就是,LAG還是會有,但每次LAG呆滯的時間少了許多,而編譯器的BUG要待長時間的驗證!

星期四, 9月 28, 2006

Visual Studio 2005 Service Packs1(Beta)

終於出現了,看看"IDE stops responding"與其它編譯的錯誤的改善,真是令人十分開心,而正式版還要再等3-4個月。

Hotfixes included in the Beta Service Packs:


Hotfix KB Article/Fix Description
KB898904 Update to the Web Project Conversion Wizard in Visual Studio 2005
KB909350 FIX: You receive LNK2001 and LNK1120 error messages when you use the Vcbuild.exe command-line tool to build a Visual C++ solution
KB910275 FIX: The customized color code marker that is actually added may differ from the customized color code marker that you try to add in Visual Studio 2005
KB910832 FIX: The IDE stops responding when you work with nested generic types in C# in Visual Studio 2005
KB911281 FIX: A native application takes a long time to start when you try to debug the application by using Visual Studio 2005
KB911884 KB Info Not Yet Available
KB912019 FIX: You may receive an error message when you rebuild a solution and try to view a Windows Form in Design view in Visual Studio 2005
KB912482 KB Info Not Yet Available
KB912790 KB Info Not Yet Available
KB913377 FIX: IntelliSense may stop working, and Visual Studio may crash, when you try to open a large Managed C++ project in Visual Studio 2005
KB913432 FIX: The IDE stops responding when you build a project that generates lots of text in the Output window in Visual Studio 2005
KB913940 An attributed ATL-based COM server unexpectedly exits in Visual Studio 2005
KB913951 FIX: The browser may stop responding when you scroll through a Visual J# 2005 Web page that contains a J# Browser Control
KB913996 FIX: Error message when you use the debugger in Visual Studio 2005 to debug an MFC class library application: "Managed Debugging Assistant 'Loader Lock' has detected a problem in ''"
KB915038 FIX: You may receive Visual Basic compiler error messages when you are developing a Visual Basic 2005 project in Visual Studio 2005
KB915110 FIX: Visual Studio 2005 may stop responding when you build a Web application project that is checked out of Visual SourceSafe
KB915312 KB Info Not Yet Available
KB915364 Update to support Visual Studio 2005 Web Application Projects
KB915418 FIX: An access violation may occur when you try to run a Visual C++ 2005 application that contains OMG CORBA IDL code
KB915423 FIX: Error message when you use certain code patterns that involve the IDisposable interface in the Visual Studio 2005 C++ compiler: "Fatal error C1001"
KB915781 FIX: You may receive an incorrect error message when you open a Visual Studio 2005 Tools for Office document
KB916632 FIX: All the applications that use the C run-time library may not start after you install Visual Studio 2005 and then you uninstall Visual Studio 2005 without restarting the computer

KB916688 FIX: Error message when you try to use the Visual SourceSafe 2005 LAN booster service together with Visual Studio 2005 on a server that is running Windows 2000: "Unable to use SourceSafe LAN service"
KB916769 FIX: The Visual Studio 2005 IDE stops responding when you work with a large Visual C++ .NET solution in Visual Studio 2005
KB916812 FIX: The report does not print the first time that you click Print when you try to print the report from the Report Viewer control in Visual Studio 2005
KB917036 FIX: The Visual Studio 2005 IDE may corrupt the deployment files for a Web Setup Project and for a Setup Project
KB917141 FIX: The position of the Properties window may not be saved after you exit Visual Studio 2005 on a dual-monitor system
KB917147 FIX: The Cole Property Page object of a Visual C++ application may be deleted when the Bound Property Changed function is invoked, and Visual Studio 2005 may unexpectedly close (crash)
KB917291 FIX: Custom build steps may not run when you add the custom build steps to a Visual C++ 2005 Win32 static library project in Visual Studio 2005
KB917327 FIX: Japanese, Chinese, or Korean characters in resource files may be overwritten by question marks after you convert a Visual C 6.0-based project to Visual Studio 2005
KB917328 KB Info Not Yet Available
KB917329 KB Info Not Yet Available
KB917452 FIX: You may experience performance issues when you use solutions that contain large Visual Basic projects in Visual Studio 2005
KB917464 KB Info Not Yet Available
KB917491 KB Info Not Yet Available
KB917766 KB Info Not Yet Available
KB918373 FIX: The Atls.pdb file and the Atlsd.pdb file contain incomplete debugging information when you debug an ATL-based C++ application in Visual Studio 2005
KB918454 KB Info Not Yet Available
KB918553 FIX: A floating-point exception may occur when an inline function in a C++ application returns an uninitialized floating-point variable in Visual Studio 2005
KB918559 FIX: You may experience slow performance and increased memory usage when you start the debugger for a Visual C++ project in Visual Studio 2005
KB918896 KB Info Not Yet Available
KB918999 KB Info Not Yet Available
KB919095 KB Info Not Yet Available
KB919156 KB Info Not Yet Available
KB919232 FIX: MS Project Work Item Publish Error
KB919280 How to rebuild the C++ STL library for Visual Studio 2005
KB919449 KB Info Not Yet Available
KB919588 KB Info Not Yet Available
KB919898 KB Info Not Yet Available
KB919904 FIX: You may receive an error message when you try to build a Web project that references a .NET Compact Framework 2.0 assembly in Visual Basic 2005
KB920145 FIX: You may receive an error message when you consume an assembly that has an obfuscated generic type in Visual Studio 2005
KB920285 KB Info Not Yet Available
KB920770 FIX: You may receive a "Fatal error C1902" error message and a solution build may fail when you try to use the AT command or a scheduled task to automate a build of a C or C++ project in Visual Studio 2005
KB920805 FIX: You may experience slow performance when you work with a Visual Basic solution that contains many projects in Visual Studio 2005
KB920855 KB Info Not Yet Available
KB921211 KB Info Not Yet Available
KB921339 KB Info Not Yet Available
KB921534 KB Info Not Yet Available
KB921535 KB Info Not Yet Available
KB922449 KB Info Not Yet Available
KB922531 KB Info Not Yet Available
KB922545 KB Info Not Yet Available
KB922657 KB Info Not Yet Available
KB922822 KB Info Not Yet Available
KB922969 KB Info Not Yet Available
KB922989 KB Info Not Yet Available
KB923147 FIX: Visual Studio 2005 exits unexpectedly when you try to edit an existing Data Table object or add a new Data Table object to the dataset that you are editing
KB923328 KB Info Not Yet Available
KB923434 KB Info Not Yet Available
KB923436 KB Info Not Yet Available
KB923573 KB Info Not Yet Available
KB923672 KB Info Not Yet Available
KB923782 KB Info Not Yet Available
KB923842 KB Info Not Yet Available
KB924124 KB Info Not Yet Available
KB924162 KB Info Not Yet Available
KB924525 KB Info Not Yet Available

星期二, 9月 19, 2006

Microsoft Tech.Ed 2006 @Taiwan Day1

今年第二度來到了Tech.Ed會場,跟去年不同的事,今年沒有使用公司的經費,連假都是熊請自己的!而今年會場有什麼不同呢?少了讓人覺得很突兀的show girl,也少了一些贊助廠商,但人氣熱洛的程度比去年還多人參加,突破了二千多人報名。

一進國際會議中心,就有會場人員在check你的報到聯,與去年沒做第一道管制是明顯的不同,而會場發送的包包與去年相比是小了一號,但是他與IBM筆記型送的包包很像,是二用包,剛好可以拿來裝我那令人心痛的W3A。而最讓熊喜歡的是,今年的會場識別卡片竟然有二種用途,除了可在會場使用外,他也是為期一年份的微軟摯友尊榮卡,本來熊還想用展出的期間,利用優惠訂個一年份說,現在也可以省了。第一天的課程除了可以吸收新概念與技術外,尊榮卡讓熊覺得最值得的第三件事情,那第二件是什麼呢?那就是看到王森經理的真面目吧@@,果然連他上課的投影片都十分有趣。

今年的整個主軸可以說是以"人(員工)"為中心,一系列的產品都是為了提供使用者更好的工具,讓使用者可以更輕易的達成更項目標,除了提出對客戶的四大承諾外,也把整個產品線的藍圖說的更清楚,例如就說出了L.O.V.E,我想LOVE這種字眼應是老外想出來的,其實就是Launch Office Vista Exchange!
而其它的重頭戲像是.Net Framework 3.0(前winfx)與Visual Studio 2005 Team Edition for Database Professionals的預告,我想這其中應是後二者對熊的影響會比較大。

對於四大承諾為 (只是我記憶片段,非微軟使用的原文)
1.降低管理的複雜度
對應的產品為 DSI動態管理系統(如MON、SMS) VISTA的安裝是很方便的,有管理界面可以管控,且安全性也提升了,例如對於USB HDD的管理。Vista在展示時,讓熊覺得蠻好奇的是,他們都是使用什麼配備啊,怎麼都那麼的順,熊的怎麼跑都不順!不過展示中還是可以看到一些切換的殘影,可見他的配備要求是很高的!

2.資訊安全機制
提出的產品為 ForeFront(ISA2006、Antigen)。在這部份的展示中,展示了人員出差在外要連回公司的方便性,啟動了ISA的單一登入後,再也不用一直打很多密碼。而Antigen更是強大,當MAIL中有一附件為在資安部份的forefront與antigen讓熊的記憶很深刻,例如當mail的附件為壓縮檔,而他可以只去除檔中中毒的檔案,而不會全部把壓縮檔刪除。且檢查附件非單純使用附檔名,會參照真實檔案中的資料,例如公司不想讓MP3讓員工使用MAIL發送,當設定規則後,不管副檔名如何改都無法寄出。
更強的是他的SCAN VIRUS的引擎是整合多家,且可以讓你單獨做選擇,且不會有甘擾的現像發生。最後展示了IM關鍵字的過濾,當發現某些特定字眼時,IM的訊息時會無法發送出去。

3.提供解決方式,提升企業智商
BizTalk-風險管理 Windows 2003 R2支援叢集(ccs),以達到HPC(高效能運算)
VSTS+.NET3.0 程式可以輕易移值到WEBBASE或是WINFORM!
BI,EXCEL2007自訂報表,ProClarity等等
RFID的應用

4.提升員工影響力
2007 office system(可以做到內容管理、企業search等等)
exchange 2007 整合了語音信箱與信件,且可以使用實體的電話做內容的聽取與管理。
SharePoint 可以分享文件

而分堂的內容整理如下.
NET Framework 3.0其實是2.0加上WPF,WCF,WF,WCS,所以不能完成算是新產品,開發者不用過度警張。
Windows Presentation Foundation:類似RIA(與FLASH相似),應用程式寫一次,即同時完成了WINFORM與WEBBASE。
Windows Communication Foundation:協同通訊協定(整合了WEBSERVIE與REOMOTING)。
Windows CardSpace:之前的名字叫做"InfoCard",主要為身份認證,例如.NET PASSPORT!Windows Workflow Foundation:提供WORKFLOW最低功能的框架,可以讓開發者更容易開發!

1.WPF
畫面設計(MICROSOFT EXPRESS)與程式寫作(VISUAL STUDIO)可以完全分開,完全不受干擾。二者是用XAML做連結。
命名空間名稱有獨立的,部份控件在二者的命名空間是一致的(如GRID與PANEL)
ALL CONTROL都支援DATA BINDING!
WPF/E 要做到WHERE,也就是IE安裝了一個小程式後,即可以使用該程式

2.WCF
底層處理了三件重要的事情: ADDRESS,BINDING,CANTRACT,也就是只要設定了連往何處,宣告使用何種通訊方式,告知是何者DATA,即可以不管中間資料溝通的程式,可以簡化開發。

3.WF
其實就是流程開發工具,而流程支援:
A.循序式(有起有終,流程是固定的).
B.狀態改變式(因狀態的不同走不同的路,如請假的簽核有沒有過,走不同路).
C.規則式。使用類似流程圖的方式,可以簡化開發的複雜度,其中只要專注於ACTIVITY的開發即可。
設計ACTIVITY最簡單的就是,由ACTIVITY繼承下來 OVERRIDE EXECUTE方法!
當作執行時,要有一個HOST PROCESS啟動著,當資料閒置過久會自行寫入DB中。

4.WCF
識別機制,識別卡片可以使用自行發卡(員工識別卡),其它單位發卡(VISA),而與之前不同的是,關於個人資料並不存放於統一的地方,可以自己實作該容器。

以上是我從筆記中整理下來的,若有記錯麻煩各位指正~謝謝~

星期四, 9月 14, 2006

Devexpress不再理熊了

今天收到devexpress的支援中心回覆的一段
Sorry, we cannot help you any longer. According to our records you may still use our evaluation, but our evaluation period is 30 days. If you are using a registered version, you need to contact us at support@devexpress.com so that we can help you change your Support Center account according to your license. Once you do this, feel free to reactivate this issue.

哇哈哈! 被我用mail煩了一個月,support center煩了快半年,他終於不想理熊了! 呵,我前一陣子才在想,不管什麼問題幾乎有問必答,雖然常常要我自己掛事件,或是用額外的code去解決,有沒有買授權好像沒有什麼分別,問問題一樣都會回覆,當時才想要建議公司到期後就不要再買了,不過現在看來他還是有做管理,只是比較方便試用的user而己!

其實熊也不願意一直煩他,誰叫他的xtrareport一直很難搞定,而為了方便收到他的回覆,只好額外註刪一個id,這樣子他回信我可以馬上收到,要不然想到用公司註冊的mail就麻煩!

所以~要有支援.還是要花coco啦~~

? "?? ?: int?"

?在C#中有好多種用法,十在是令人眼花撩亂。

1. ??,這是一個二元運算子,當運算元左方的值為null時,則回傳右方的值
object a = null;
object b = a ?? "abc"; // b為 "abc"

2. ?:,這是一個三元運算子,像是if else的簡化版,在測定條件是否成立時,回傳不同的值!
condition ? first_expression : second_expression; 當條件為真是,回傳first_expression
string s = (1 > 0) ? "大隻熊" : "小隻熊"; //s==大隻熊

3.ValueType ? :System.Nullable!! 這是一個可以放入null的型別,其實也是泛型的一種應用!
int? i = null; //宣告一個可以裝載null的變數,當裝載的值不為null時,具有基礎型別的所有運算功能
if (i.HasValue) MessageBox.Show(i.Value.ToString()); //使用HasValue測定是否有值,不為空時由Value取得值!

星期三, 9月 13, 2006

使用TimeSpan輕鬆的計算二個日期相距的天數、小時..

使用TimeSpan輕鬆的計算二個日期相距的天數、小時..

TimeSpan ts = new DateTime(2006, 12, 1, 10, 10, 10) - DateTime.Today;

MessageBox.Show(ts.TotalHours.ToString());

星期一, 9月 11, 2006

Visual Studio 2005 Team Edition for Database Professionals

今天在看Tech.Ed2006的議題時,看到這一個版本的VS, 看起來應是加強了資料庫處理的版本。查看了一下目前是CTP4,按這下載
裝起來後發覺功能還蠻多的,可以對二個資料庫做結構的比較,也可以對資料做比較!當熊試著想新增SQL2005的專案時,卻一直出現"SQL Server不允許遠端連接",說也真怪,檢查了SQL的設定是可以遠端連接的 :( 。不玩了,改天再看囉!

星期日, 9月 10, 2006

Consolas Font Pack for Microsoft Visual Studio 2005

此字型套件會自動最佳化Visual Studio 2005程式編寫使用的字型!安裝後會將當前的字型自動設定為Consolas!
此字型有一個主要的特色:加強型的cleartype字型,且每一個字元的寬度是固定寬的。

不知道是不是太習慣之前的配置,安裝後覺得字型有點方正,看起來有點吃力,還在努力適應中!

.NET 2.0 即時偵測到網路的連線狀態

.NET 2.0提供的一個新功能就是NetworkChange 類別 !
在之前要測試網路連線時,最笨的做法是一段時間就去PING一下查看是否還活著~
現在不用那麼麻煩囉!

using System.Net.NetworkInformation;

static void AvailabilityCallback(object sender, EventArgs e)
{
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface n in adapters)
{
MessageBox.Show( n.Name + n.OperationalStatus);
}
}

//找個地方掛上即可!
NetworkChange.NetworkAvailabilityChanged += new NetworkAvailabilityChangedEventHandler(AvailabilityCallback);

而MSDN中的說明如下
當網路介面 (也稱為網路卡或介面卡) 的位址變更時,NetworkChange 類別就會引發 NetworkAddressChanged 事件。
若要讓 NetworkChange 物件在發生 NetworkAddressChanged 事件時呼叫事件處理方法,您就必須使這個方法與 NetworkAddressChangeEventHandler委派產生關聯,並將這個委派加入至這個事件。

自己看的註解..在找到這個類別前.試了WMI的Win32_NetworkAdapter,不過還是無法合用!