基本上當你安裝好SDK時會附帶有Sample Code展示其用法,所以我就藉著原有的Sample Code來說明一下如何使用IADP的SDK (.NET 部份)。
基本上當你安裝好SDK時會附帶有Sample Code展示其用法,所以我就藉著原有的Sample Code來說明一下如何使用IADP的SDK (.NET 部份)。
Sample Code 哪裡找 ? 請看下圖:
有見到一個方案檔叫 AdpCLRSamples.sln,就是這些Sample Code的方案檔 (Visual Studio 2008版),因為這些玩意會裝在 Program files下,所以如果你用Windows Vista/7/2008的話,由於UAC的關係,開啟時Visual Studio 會要求你提升權限。( 上圖會有Backup 與 _UpgradeReport_Files目錄的原因是因為我用VS2010去開啟自動升級專案造成的,可略去不管)
在你的方案總管中會看到幾個不同的專案:
有三個C#專案(兩個WPF與一個Windows Form) 和兩個VB.NET (一個WPF與一個Windows Form) 專案。
這些Sample Code說明了幾個重點:
(1) 要將 AdpLibrary 加入參考並且引用 com.intel.adp 命名空間 (當然如果你願意打很多字,也可以不要引用啦),此DLL位在
(2) 建立程式認證的Code (2-1) Visual Basic Windows Form,請看 AdpWinFormVbHelloWorld這個專案的內容
其實重點就是這一行:
Dim app As New AdpApplication(New AdpApplicationId(&H11111111, &H11111111, &H11111111, &H11111111))
Sample Code沒講的是它其實有更簡潔的寫法,使用AdpConstants中一個靜態唯讀屬性ADP_DEBUG_APPLICATIONID,改成以下寫法一樣能通:
Dim app As New AdpApplication(AdpConstants.ADP_DEBUG_APPLICATIONID)
(2-2) 其實C#的Windows Form也差不了多少 (AdpWinformHelloWorld專案),不過它是放在Form1的建構函式中。
AdpApplication app = new AdpApplication(new AdpApplicationId(0x11111111, 0x11111111, 0x11111111, 0x11111111));
(2-3) WPF的部份,看起來Visual Basic 和 C# 好像有點不一樣,因為它在AdpWpfVbHelloWorld中將這個放在Window.Initialized事件的委派函式中;而在AdpWpfHelloWorld中如同Windows Form 是放在AdpHelloWorldWindow的建構函式中。
到這邊我們思考一個問題,那Visual Baisc的專案我要放在建構函式中可不可以,答案是可以的,例如以下:
Viusal Basic的Sample中之所以會沒有放在建構函式的原因,根據我的猜測應該是因為Visual Basic為Form/Windows自動產生的Code中不會把建構函式直接產生在可見的程式碼中 (請參閱前文 Windows Form Designer),所以為了避免造成困擾才把Sample Code寫成這個樣子。
(2-4) 其實我前面講了一堆廢話,這五個Sample Project中真正最值得參考的是 AdpWpfAdvanceSample 這個專案,它在宣告 AdpApplication的方式是在Window1 Class全域宣告,這還不是最重要的;重要的是在這個Sample中示範了 CrashReport怎麼用以及BeginEvent和EndEvent方法。就看看有沒有好朋友願意拿這個Sample來講解一下囉。
請注意這一行程式_app.SetCrashReport(new MyCrashReport()); 與其下的 catch { } 區塊中的程式碼。
除了Sample Code 之外,SDK Developer Guide for .NET 是必讀的,安裝SDK後此檔案會在 C:\Program Files\Intel\IntelAppUpSDK\DotNet\doc\SDK Developer Guide for .NET.pdf。
[註:以上說明的SDK還是V1.1版,當然要留點課題給大家玩玩]