Time of Update: 2018-12-07
模型驅動架構因業務需要,“中科永聯”正式更名為“中程線上”,歡迎大家瀏覽新網站“中程線上資訊產業培訓網”中科永聯進階技術培訓中心(www.itisedu.com) 模型驅動架構(Model Driven
Time of Update: 2018-12-07
MDA的一些資源的串連選自:標準化資訊網Model-Driven ArchitectureWhat is MDA? We are presently witnessing an important paradigm shift occurring in the area of information system construction, namely from object and component technology to model technology. The object
Time of Update: 2018-12-07
XmlTextWriter.WriteString 執行以下操作 分別用 &、< 和 > 替換字元 &、< 和 >。用數字字元實體(� 到 �x1F)替換範圍 0x-0x1F(不包括空白字元 0x9、0x10 和 0x13)中的字元值。如果在屬性值的上下文中調用 WriteString,則分別用 " 和 ' 替換雙引號和單引號。例如,此輸入字串 test<item&
Time of Update: 2018-12-07
在多線程程式中使用COM對象真是件令人頭疼的事情。當你能夠訪問一個介面指標的時候,並不意味著你可以調用介面上的方法。我從來沒真正搞懂過所謂COM的幾種線程模式。問題是,當我試圖在一個線程裡調用一個COM介面的方法,而這個COM介面是在另一個線程中建立時,從來沒有成功過。更糟的是,連錯誤提示都沒有。在多個線程中傳遞介面需要額外的工作,各種書籍上都介紹了所謂Marshal一個介面方法,不過我從來沒有使用過。因為有更簡單的方法,就是用全域介面表(GlobalInterfaceTable)。Global
Time of Update: 2018-12-07
有過去一個周末了,昨天去看跳水比賽,現場的氣氛還是不錯的。可惜田亮沒有來,否則,光看看觀眾席的fans也是一種享受啊。廢話結束,進入正題,今天講點以前沒說清楚的內容。上次提到了訊息反射,但沒有深入,這個概念是這樣的,許多視窗控制項會向父視窗發送一些訊息,比如WM_COMMAND訊息和WM_NOTIFY訊息,通知父視窗一些事件。因為是發給父視窗的,所以控制項視窗的過程函數不能捕捉到這些訊息。但是,經常我們希望在控制項視窗對象中處理這些訊息,這樣使控制項類更加獨立。為了實現這個目的,MFC和ATL都
Time of Update: 2018-12-07
應用程式載入機制和可能的問題預設情況下,使用 .NET Framework 構建的應用程式將使用構建時所用的 Framework 版本(如果已在電腦上安裝該版本)運行。下表指定了目標電腦上不同 .NET Framework 配置下的應用程式的載入行為。(圖片丟失了,不好意思,以前不會貼圖。)在通過 .NET Framework 2.0 載入使用 .NET Framework 1.1
Time of Update: 2018-12-07
接上篇,控制項類的介面有了:CWidgetHookBase,產生控制項對象的工廠也有了,下面就該實現控制項類了。在上篇定義控制項基類的時候,我們只定義了一個抽象函數Install,而沒有任何其他代碼,那麼,所有的實現代碼都交給各個控制項類去實現嗎?不是的,這些控制項類還有許多公用代碼可以在基類實現,但是,我們選擇不在CWidgetHookBase中加入這些代碼,而是再加入一個中間類:CWidgetHook。為什麼不把這兩個基類合成一個類呢?其實,最初的設計是只有一個基類的,就是CWidgetHo
Time of Update: 2018-12-07
上篇講了COM介面的多線程訪問問題,並用全域介面表的方法解決了。但有時候我們不能直接存取介面指標,而是通過一個封裝類間接的訪問。比如:class SomeClass{private: IMyInterface *m_pInt;public: void Method1() { //Init m_pInt } void Method2() { //call method of m_pInt }}我們只能訪問SomeClass的公用
Time of Update: 2018-12-07
今年五一終於和一幫網友去了麗水白山祖。在所謂旅遊黃金周,到處都是人山人海的時候,到了一個人跡罕至的大山裡呆了4天,這種感覺真是不錯的。呼吸了4天山裡的空氣,回到上海真的有些不習慣。上大學時沒什麼錢,有時間了也不敢出去玩。上研究生的時候要說真不缺錢,甚至比現在還寬餘,也沒怎麼出去玩真的是可惜了,現在想來都後悔。其實這樣的活動真的很有意思,和一幫人相約同遊,大部分互相都不認識,而經過這幾天時間,就可以清楚的看到某些人很聰明,某些人很高尚,某些人很愚蠢,某些人很自私。這樣的人生體驗,加上和大自然的親密
Time of Update: 2018-12-07
前段時間寫了擴充.net安全機制(1,
Time of Update: 2018-12-07
Microsoft .NET Pet Shop 4.0 學習之旅(四)七層架構的原始碼 今天說說Pet Shop 4.0核心的七層原始碼。包括:Model實體層,DBUtility資料訪問抽象類別,IDAL資料提供者層,SQLServerDAL資料訪問層,DALFactory資料訪問工廠類,BLL商務邏輯層,UI介面層。想了一下,沒什麼好說的,發原始碼大家自己看吧。只說明一下注意細節。 1, 【App.config】(設定檔在UI \):其中name="LoggingDb"
Time of Update: 2018-12-07
.net安全機制涉及很多方面,這裡只講基本的基於角色的安全機制。.net提供了PrincipalPermission類,PrincipalPermissionAttribute類以及IPrincipal衍生類別支援基於角色的安全控制。內建的支援使用很方便,但靈活性卻不高。舉個例子吧: class SomeClass { [PrincipalPermission(SecurityAction.Demand, Role="admin"] public
Time of Update: 2018-12-07
才發現這個地方,有點遲了,不過還來得及,還是可以自由申請的,真不錯啊每天看部落格堂,可惜才疏學淺,也沒有MVP的頭銜,不夠資格申請那裡的Blog,不過要是都象我這樣的都能在那裡發文章,那部落格堂的文章就要打折扣了。雖然也不是所有的MVP都值得敬仰,但大部分還是需仰視的,讀部落格堂的文章也能學到不少東西,至於掐架什麼的事情,就忽略它吧這裡應該比較寬鬆些了,可以寫點自己的東西,沒人看也沒關係,就當留給自己的。網路時代了麼,把東西存在網上不容易丟失啊,呵呵。從今天開始在這裡記錄開發心得,技巧,要記錄的
Time of Update: 2018-12-07
ATL組件註冊的一個很糟糕的BUG,以至於需要通過修改ATL源碼來解決。記錄在此,方便下次重裝機器後使用。 我曾用ATL寫過一個COM組件(MBCS下編譯),如果安裝在中文路徑下的話,註冊就會失敗. 為什麼會失敗? 開啟ATL的源檔案statreg.h,可以找到函數BOOL AddString(LPCOLESTR lpsz),他被組件的UpdateRegistry所調用,他又調用了BOOL AddChar(const TCHAR* pch).問題就出現在這兩個函數中。請看: BOOL
Time of Update: 2018-12-07
老闆該如何向核心員工確保?網上看到的文章,很有感觸,轉貼一下。雖然自己是被管理者,多學習點管理者的知識,至少看的清些 作者:景素奇 2004-4-9 10:18:11 出處:部落格中國(Blogchina.com) 原始出處: 中外管理 b28123c 員工流動是正常的,但流動也是有規律的。 一般來說,年前離職的員工大多是企業想要辭掉的員工。 而作為企業核心員工的離職,則大多是炒老闆魷魚, 離職高峰期大多在年後的3月—5月。 但凡是核心員工,一般都是企業千方百計想留
Time of Update: 2018-12-07
最近收到一個動態顯示隱藏功能表項目的需求。通常我們編程時,如果有不同場合需要使用不同的菜單,一般的做法是準備兩個菜單資源,然後在需要的時候轉載某一個菜單來替代先前的。這樣的做法比較簡單,但是如果變化很多,需要準備的菜單資源太多,對資源的消耗不能不考慮,所以也會有在代碼中動態修改菜單的做法。這裡用到的是插入和刪除操作。當然所謂顯示和隱藏也可以用插入和刪除來實現。但是我本來的想法如果能夠可以實現顯示和隱藏,也許比插入和刪除更方便。因為是自畫菜單,我就想當然的認為如果在WM_MEASUREITEM時設
Time of Update: 2018-12-07
今天發現個有趣的事情,Windows運行bat檔案時,居然是這樣:開啟檔案,讀第一行,關閉檔案,執行第一行,再開啟檔案,再讀第二行,再關閉檔案,再執行第二行,。。。。。太搞了,為什麼呢,呵呵。過程示範:1》建立檔案:C:\TestBat.bat/*****************/c:md TestBat2copy TestBat\*.* TestBat2rd TestBat2 /s /q
Time of Update: 2018-12-07
起因上次完成了CAppBar的代碼後,就一直想在標題列的關閉按鈕前面加一個按鈕,來控制自動隱藏的設定。在標題列上加按鈕並不算特別麻煩,主要是控制WM_NCPAINT,把想要的效果畫上去。當然,原理不複雜,要實現的好卻不容易。上網搜了一下,有一些簡單的例子用來講述原理,沒有找到比較好的實現,更談不上可複用的代碼了,那麼只好自己實現了。原理首選必須明白原理,想在標題列上建立CButton這樣視窗按鈕的努力是徒勞的。標題列屬於Non-Client地區,不能在其上建立子視窗,唯一的方法就是響應WM_NC
Time of Update: 2018-12-07
剛剛發現,MyMSN頁面上多了一個Add Content,也可能是老早就有,也不常訪問,反正是今天才看到。更有趣的是,支援RSS Sources。也就是說,可以把常看的部落格內容放在MyMSN首頁上了,應該是很爽的。MSN確實越來越強了,不服不行。試了一下,居然部落格堂和部落格圓的RSS
Time of Update: 2018-12-07
碰到一個奇怪的問題。 癥狀 在一個.net workspace中包含多個project,其中兩個project應用了同一個.net assamply。這兩個project其中一個編譯正常,另一個則報錯: error CS0246: The type or namespace name '***' could not be found (are you missing a using directive or an assembly reference?)