כיצד ליצור ולהשתמש ב- DLLs בדלפי

ספריית קישור דינמית (DLL) היא אוסף של שגרות (תוכנות קטנות) שאפשר לקרוא להן יישומים ו- DLLים אחרים. בדומה ליחידות, הם מכילים קוד או משאבים שניתן לחלוק בין מספר רב יישומים.

מושג ה- DLL הוא ליבת העיצוב האדריכלי של Windows, ולרוב, Windows הוא פשוט אוסף של קבצי DLL.

עם דלפי, אתה יכול לכתוב ולהשתמש ב- DLLים משלך ואפילו להתקשר לפונקציות ללא קשר אם הם פותחו עם מערכות או מפתחים אחרים, או לא. ויז'ואל בייסיק, או C / C ++.

יצירת ספריית קישור דינמית

השורות הבאות ידגימו כיצד ליצור DLL פשוט באמצעות דלפי.

ראשית התחל את דלפי ונווט אל קובץ> חדש> DLL לבנות תבנית DLL חדשה. בחר את טקסט ברירת המחדל והחלף אותו בזה:

ספריה TestLibrary;

שימושים SysUtils, שיעורים, דיאלוגים;

תהליך DllMessage; יצוא;התחל

 ShowMessage ('שלום לעולם מ- DLL של דלפי');

סוף;

יצוא DllMessage;

מתחיל. 

אם אתה מסתכל על קובץ פרויקט מכל יישום דלפי, תראה שזה מתחיל במילה השמורה תכנית. לעומת זאת, קבצי DLL תמיד מתחילים עם ספריה ואז א שימושים סעיף לכל יחידות. בדוגמה זו, DllMessage להלן פרוצדורה, שאינה עושה דבר מלבד הצגת הודעה פשוטה.

בסוף קוד המקור מופיע קוד יצוא

instagram viewer
הצהרה המפרטת את השגרה המיוצאים בפועל מ- 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;

סוף;

סוף.