PracticU

תרגילים על יצירת DLL

בלי כתוביותעם כתוביות
PracticU › קורס תכנות מתקדם - #Advanced .NET C › תרגילים על יצירת DLL
מילון מושגים:
DLL - קובץ ספרייה ב-Windows המכיל קוד ופונקציות שתוכנות שונות יכולות לטעון ולהשתמש בהן במשותף.
מחלקה - תבנית בתכנות מונחה עצמים שמגדירה אילו נתונים ופעולות יהיו לאובייקטים שנוצרים ממנה.
אובייקט - יחידה בתכנות מונחה עצמים שמאגדת נתונים (תכונות) ופעולות (מתודות). נוצר בדרך כלל ממחלקה המשמשת כתבנית.
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.
טופס - אזור בממשק שבו המשתמש מזין נתונים בשדות ושולח אותם, למשל טופס הרשמה או התחברות.
תיקייה - מכל במערכת הקבצים שמשמש לארגון קבצים ותיקיות אחרות בתוך מבנה היררכי.
מתודה - פונקציה המוגדרת בתוך מחלקה ומתארת פעולה שאובייקטים מאותה מחלקה יכולים לבצע.
סיסמה - מחרוזת תווים סודית שמשמשת לאימות זהות המשתמש בעת כניסה למערכת. ככל שהיא ארוכה ומורכבת יותר, כך קשה יותר לנחש אותה.

תרגילים על יצירת DLL
התרגילים האלה בונים ספריות DLL, מחברים ביניהן ובודקים איך פרויקטים תלויים בהן. הם מסתיימים בחתימה של DLL.
התרגילים
1. Speaker: DLL עם מחלקה שמכילה דגם, ווליום מקסימלי ומחיר. צרו Console Application שמוסיף אליה reference, יוצר אובייקט ומציג אותו.
2. ColorsCreator: DLL עם פונקציה שמחזירה צבע אקראי מטיפוס Color (לא ConsoleColor). השתמשו בו בפרויקט Windows Forms כדי לקבוע צבע רקע ב-Form_Load.
3. הרצה בלי ה-DLL: העתיקו את קובץ ההרצה לתיקייה אחרת ללא ה-DLL והריצו. אחר כך העתיקו גם את ה-DLL לאותה תיקייה והריצו שוב.
4. שרשרת תלויות: FirstLibrary עם מחלקה A ומתודה F1 שמציגה הודעה. SecondLibrary מתייחס אליה, עם מחלקה B ומתודה F2 שיוצרת A וקוראת ל-F1. Console Application משתמש ב-SecondLibrary וקורא ל-F2.
5. תלות מעגלית: בפתרון אחד שני DLL בשם FirstLib ו-SecondLib. הוסיפו את FirstLib ל-references של SecondLib ואז נסו להפך. חפשו מה השגיאה ולמה.
6. Strong name: חתמו DLL עם StrongNameKeyFile שמכיל סיסמה, מלאו את Assembly Information, השתמשו בו ובדקו בלחיצה ימנית על הקובץ אם המאפיינים נראים.
אחרי התרגילים תוכלו ליצור DLL, להוסיף אליו reference ולחתום עליו.
השיעור הבא בקורס: Threads - חלק 1

פרקי ההרצאה: תרגילים על יצירת DLL

  1. 00:00

    יצירת DLL עם מחלקת Speaker

  2. 00:41

    מחלקת ColorsCreator לצבע רנדומלי

  3. 01:17

    הרצת ה-exe עם וללא ה-DLL

  4. 01:56

    שימוש ב-DLL מתוך DLL אחר

תמלול ההרצאה: תרגילים על יצירת DLL

הטקסט המלא של הדקות הראשונות בהרצאה «תרגילים על יצירת DLL» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    פגילים בנוגע ל-DLL'ים. True DLL היא מחלקה בשם Speaker שמכילה מודל, Max Volume ו-Price, כלומר דגם, ווליום מקסימלי ומחיר.

  2. 00:16

    True Console Application שמבצע רפרנס לאותו DLL במיין, True Object Speaker, התחילו אותו במספר ערכים והציגו אותו על המסך, תבדקו אם הכל עובד כמו שצריך.

  3. 00:31

    עשו דיילל שמכיל מחלקה שנקראת Colors Creator. המחלקה מכילה פונקציה שמחזירה צבע רנדומלי, צבע מטיפוס Color ולא Console Color. אם אתם נתקלים באיזשהם קשיים לעשות את זה, חפשו בגוגל איך אתם יכולים בעזרת המחלקה Color, שאגב נמצאת בסיסטם Windows Forms, ליצור איזשהו צבע רנדומלי.

  4. 00:57

    פרויקט Windows Forms Application שמשתמש ב-DLL הזה שיצרתם בכדי לייצר לעצמו צבע רקע רנדומלי ב-Form Load, כלומר באירוע ה-Form Load.

  5. 01:11

    לאחר מכן תאתרו את קובץ ה-Execution של ה-Windows Forms Application שלכם, תעתיקו אותו לתיקייה אחרת בלי ה-Dלל ובצעו דאבל קליק עליו.

  6. 01:23

    האם הוא באמת עובד? לאחר מכן תאתרו את ה-Dלל שכתבתם ותעתיקו אותו לאותו המקום של קובץ ה-execution וכעת תריצו את קובץ ה-execution האם עכשיו הכל עובד כמו שצריך צרו dll שנקרא first library שמכיל מחלקה בשם a עם איזושהי מתודה בשם f1 שפשוט מציגה למסך איזושהי הודעה צרו dll נוסף שנקרא second library שמשתמש ב-dll הראשון מכיל

  7. 01:53

    מחלקה בשם B ומתודה בשם F2. בתוך F2 צרו אובייקט מהמחלקה A שבכלל נמצאת ב-DLL הראשון ותקראו

לקורס המלא: קורס תכנות מתקדם ב‑#C ודוט-נט

ההרצאה הקודמת: יצירת DLL - חלק 3

ההרצאה הבאה: Threads - חלק 1

הרצאות קשורות מקורסים אחרים

  • תרגילים 1-3
  • חטיפת DLL עם Sysmon
  • תרגילים על מטריצות בג'אווה
  • עבודה עם מספר פרויקטים - Multiple Projects - DLL

קורסים נוספים במסלול

  • קורס WinForms - תוכנות רגילות בווינדוס
  • פרויקט מעשי ב-#C - בונים מחשבון פשוט
  • פרויקט מעשי ב-#C - ספר טלפונים
  • פרויקט מעשי ב-#C - תוכנת צייר
  • קורס ADO.NET - חיבור אתר למסד נתונים
  • קורס WCF - תקשורת למתקדמים בדוט-נט