ספריית קישור דינמית (DLL) היא אוסף של שגרות (תוכנות קטנות) שאפשר לקרוא להן יישומים ו- DLLים אחרים. בדומה ליחידות, הם מכילים קוד או משאבים שניתן לחלוק בין מספר רב יישומים.
מושג ה- DLL הוא ליבת העיצוב האדריכלי של Windows, ולרוב, Windows הוא פשוט אוסף של קבצי DLL.
עם דלפי, אתה יכול לכתוב ולהשתמש ב- DLLים משלך ואפילו להתקשר לפונקציות ללא קשר אם הם פותחו עם מערכות או מפתחים אחרים, או לא. ויז'ואל בייסיק, או C / C ++.
יצירת ספריית קישור דינמית
השורות הבאות ידגימו כיצד ליצור DLL פשוט באמצעות דלפי.
ראשית התחל את דלפי ונווט אל קובץ> חדש> DLL לבנות תבנית DLL חדשה. בחר את טקסט ברירת המחדל והחלף אותו בזה:
ספריה TestLibrary;
שימושים SysUtils, שיעורים, דיאלוגים;
תהליך DllMessage; יצוא;התחל
ShowMessage ('שלום לעולם מ- DLL של דלפי');
סוף;
יצוא DllMessage;
מתחיל.
אם אתה מסתכל על קובץ פרויקט מכל יישום דלפי, תראה שזה מתחיל במילה השמורה תכנית. לעומת זאת, קבצי DLL תמיד מתחילים עם ספריה ואז א שימושים סעיף לכל יחידות. בדוגמה זו, DllMessage להלן פרוצדורה, שאינה עושה דבר מלבד הצגת הודעה פשוטה.
בסוף קוד המקור מופיע קוד יצוא
הצהרה המפרטת את השגרה המיוצאים בפועל מ- DLL באופן שיכול להיקרא על ידי יישום אחר. משמעות הדבר היא שתוכלו לומר, למשל, חמישה נהלים ב- DLL ורק שניים מהם (הרשומים ב- יצוא ניתן לקרוא מתוכנית חיצונית (שלושת הנותרים הם "תהליכי משנה").על מנת להשתמש ב- DLL זה, עלינו להרכיב אותו על ידי לחיצה על Ctrl + F9. זה אמור ליצור DLL שנקרא SimpleMessageDLL.DLL בתיקיית הפרויקטים שלך.
לבסוף, נסתכל כיצד לקרוא להליך DllMessage מתוך DLL טעון סטטי.
כדי לייבא נוהל הכלול ב- DLL, אתה יכול להשתמש במילת המפתח חיצוני בהצהרת הנוהל. לדוגמה, בהתחשב בהליך DllMessage המוצג לעיל, ההכרזה ביישום המתקשר תיראה כך:
תהליך DllMessage; חיצוני 'SimpleMessageDLL.dll'
הקריאה בפועל להליך אינה אלא:
DllMessage;
הקוד כולו לטופס דלפי (שם: צורה 1), עם כפתור TB (נקרא כפתור 1) שקורא לפונקציית ה- DLLMessage, נראה כך:
יחידה יחידה 1;
ממשק
שימושים
Windows, הודעות, SysUtils, גרסאות, שיעורים,
גרפיקה, בקרות, טפסים, דיאלוגים, StdCtrls;
סוג
TForm1 = כיתה (TForm)
כפתור 1: כפתור TBB;
תהליך לחצן 1 לחץ (שולח: TObject);פרטי{הצהרות פרטיות}ציבורי{הצהרות פומביות}סוף;
var
טופס 1: TForm1;
תהליך DllMessage; חיצוני 'SimpleMessageDLL.dll'
יישום
{$ R * .dfm}
תהליך TForm1.Button1Click (שולח: TObject);התחל
DllMessage;
סוף;
סוף.