Dynamic Link Library (DLL) Common frequently function Shared library Memory loaded Loaded once time 2 steps DLL programming Application programming
Dynamic Link Library (DLL)
Dynamic Link Library (DLL) Example Create DLL program for operate two integer numbers Add(num1, num2), return num1+num2 Sub(num1, num2), return num1-num2 Mul(num1, num2), return num1*num2 Div(num1, num2), return num1/num2 Create application program to call DLL program
Part I: DLL programming 1 Part I: DLL programming 1. Creating a Class Library (DLL) Create an Empty Class Library Project Select File->New->Project->Visual C# Projects->Class Library.
Class view 2. เพิ่ม method ให้กับ คลาส right click Class->Add ->Add method
กำหนดค่าให้กับ method Add(Val1, Val2) 1. long 3. long 4. Val1 5. Click
เพิ่มตัวแปรให้ครบสองตัวดังภาพ finish
3. เพิ่มคำสั่งในฟังก์ชัน Add public long Add(long Val1, long Val2) { return Val1 + Val2; }
4. เปลี่ยนชื่อคลาสเป็น mcMathComp public class mcMathComp { …
4. Build Project Build Build Solution ผลที่ได้จะได้ไฟล์ที่เป็น DLL ภายใต้โฟลเดอร์ \bin\debug
Part II: Application Programming 1 Part II: Application Programming 1. Create New Project FileNew ProjectVisual C# ProjectWindows Application
2. Add Reference of the Namespace Project->Add reference
วางปุ่มบนฟอร์ม
Browse
Brow to DLL file
3. การเรียกใช้งาน เพิ่ม using mcMath ในส่วนที่มีการเรียกใช้ดังภาพ using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using mcMath; namespace mcClient {
3. พิมพ์ Event on Click ของ Button1 private void radioButton1_Click(object sender, System.EventArgs e) { mcMathCom cls = new mcMathCom(); long lRes = cls.Add( 55, 45); MessageBox.Show(lRes.ToString()); }
Assignment http://www.c-sharpcorner.com/2/pr12.asp เขียนโปรแกรมที่เป็น DLL 1 โปแกรม เช่น ทำ operation ทางคณิตศาสตร์เหมือนกับตัวอย่าง เปลี่ยนตัวเลขเป็นการอ่านค่าเงินแบบไทย เช่น String IntToBaht(100) จะได้ค่าเป็น “หนึ่งร้อยบาทถ้วน” เขียนโปรแกรมเพื่อทำการเรียกใช้งาน DLL ตัวดังกล่าว http://www.c-sharpcorner.com/2/pr12.asp