Mengambil Informasi Applikasi
My.Application obyek adalah pusat informasi yang dengan cepat dapat anda dapatkan. Mengambil informasi dari sana dapat semudah anda menariknya dari system properti.
Memakai My.Application adalah salah satu cara untuk mengambil versi, lokasi dan parameter yang anda gunakan untuk applikasi anda.
Informasi yang terdapat pada object My.Application datang dengan beberapa situasi yang bervariasi. Berikut 2 contoh :
- Anda inin mendapatakan versi dari applikasi. Ini akan sangat berguna bila anda ingin menempatkan About Box, atau melakukan checking dengan memakai web service untuk memastikan bahwa anda telah mendapatkan versi terbaru.
- Anda ingin menyimpan informasi diagnostic yang mungkin akan berguna untuk anda kelak atau end user anda. Ini mungkin bisa menjadi sangat penting bila applikasi yang anda buat adalah bersifat client-server dan anda berkeninginan untuk melakukkan log informasi tentang applikasi yang sedang berjalan.
Berikut contoh applikasi console yang mengambil detail applikasi kemudian menampilkannya ke console windows.
' Find out what parameters were used to start the application.
Console.Write("Command line parameters: ")
For Each Arg As String In My.Application.CommandLineArgs
Console.Write(Arg & " ")
Next
Console.WriteLine( )
Console.WriteLine( )
' Find out some information about the assembly where this code is located.
' This information comes from metadata (attributes in your code).
Console.WriteLine("Company: " & My.Application.Info.CompanyName)
Console.WriteLine("Description: " & My.Application.Info.Description)
Console.WriteLine("Located in: " & My.Application.Info.DirectoryPath)
Console.WriteLine("Copyright: " & My.Application.Info.Copyright)
Console.WriteLine("Trademark: " & My.Application.Info.Trademark)
Console.WriteLine("Name: " & My.Application.Info.AssemblyName)
Console.WriteLine("Product: " & My.Application.Info.ProductName)
Console.WriteLine("Title: " & My.Application.Info.Title)
Console.WriteLine("Version: " & My.Application.Info.Version.ToString( ))
Console.WriteLine( )
Visual Studio 2005 mempunyai alat bantu Quick Console yang lebih ringan dari Command-Line Windows. Dalam beberapa kasus applikasi ini bisa sedikit lambat. Bila anda mendapat kesulitan dalam melakukan Running Tes dan kesulitan mendapat OutPut, anda dapat menDisable applikasi ini. Untuk melakukannya, Select Tools –> Options, pastikan “Show All Setting” Checkbox dalam posisi tercentang, dan Select Debugging –> General Tab. Matikan fungsi “Redirect all console Output to the Quick Console Window.”
Sebelum anda melakukan tes code ini, pastikan untuk melakukan set up environment untuk meyakinkan bahwa anda akan dapat mendapatkan tampilan data yang anda inginkan. Contohnya, anda menginginkan Visual Studio untuk menampilkan Command-Line parameter bila applikasi dijalankan. Untuk itu yang anda harus lakukan adalah, Doble click icon My Project pada Solution Explorer. Kemudian, PilihDebug Tab dan lihat pada “Command Line Parameters” text box. Sebagai contoh anda dapat memasukkan 3 parameter berikut pada Command-Line /a /b /c
Bila ingin menambahkan informasi seperti assembly author, product, version dan lainnya, anda butuh special attribute pada AssemblyInfo.vb, dan ini tidak terdapat pada Solution Explorer. Untuk mengaksesnya, anda harus melakukan langkah berikut, Solution –> Show All Files. Anda akan mendapati AssemblyInfo.vb pada My Projects Node. berikut typical tags yang harus diisi:
<Assembly: AssemblyVersion(“1.0.0.0″)>
<Assembly: AssemblyCompany(“Prosetech”)>
<Assembly: AssemblyDescription(“Utility that tests My.Application”)>
<Assembly: AssemblyCopyright(“(C) Matthew MacDonald”)>
<Assembly: AssemblyTrademark(“(R) Prosetech”)>
<Assembly: AssemblyTitle(“Test App”)>
<Assembly: AssemblyProduct(“Test App”)>
Semua informasi ini akan dibendel pada applikasi sebagai metadata. Sekarang anda dapat melakukakn Running Test dan kurang lebihnya akan muncul console sebagai berikut.
Command line parameters: /a /b /c
Company: has.web.id
Description: Utility that tests My.Application
Located in: C:\Code\VBNotebook\1.08\ApplicationInfo\bin
Copyright: (C) Harisanto A.S
Trademark: (R) Indonesia
Name: ApplicationInfo.exe
Product: Test App
Title: Test App
Version: 1.0.0.0
Ingin Lebih detail lagi dalam mendapatkan informasi diagnostic dari My.Computer.Info object dengan memakai LoadedAssemblies. Koleksi yang terdapat di dalam class akan lebih lengkap dan detail. Ini contoh code yang dapat dipakai untuk mendapatkan informasinya.
Console.WriteLine("Currently loaded assemblies")
For Each Assm As System.Reflection.Assembly In _
My.Application.Info.LoadedAssemblies
Console.WriteLine(Assm.GetName( ).Name)
Next
Console.WriteLine( )
Console.WriteLine("Current stack trace: " & My.Application.Info.StackTrace)
Console.WriteLine( )