BPL לעומת DLL ביישומי תכנות דלפי

כאשר אנו כותבים ומרכיבים יישום של דלפי, אנו מייצרים בדרך כלל קובץ הפעלה - יישום Windows עצמאי. שלא כמו Visual Basic, למשל, דלפי מייצרת יישומים עטופים בקבצי exe קומפקטיים, ללא צורך בספריות זמן ריצה מגושמות (קבצי DLL).

נסה זאת: התחל את דלפי והרכב את פרויקט ברירת המחדל עם טופס ריק אחד, זה יפיק קובץ הפעלה של כ 385 KB (Delphi 2006). כעת עבור לפרויקט - אפשרויות - חבילות וסמן את תיבת הסימון 'בנה עם חבילות זמן ריצה'. להרכיב ולהפעיל. Voila, גודל ה- exe הוא כיום סביב 18 KB.

כברירת מחדל, 'בנה עם חבילות זמן ריצה' אינו מסומן ובכל פעם שאנו מייצרים יישום של דלפי, המהדר מקשר את כל הקוד שהיישום שלך דורש כדי להפעיל ישירות לתוך קובץ ההפעלה של היישום. היישום שלך הוא תוכנית עצמאית ואינו דורש קבצים תומכים (כמו קבצי DLL) - זו הסיבה ש- Exe של Delphi כה גדולים.

דרך אחת ליצור תוכניות דלפי קטנות יותר זה לנצל את 'ספריות חבילות בורלנד' או של BPL בקיצור.

מה חבילה?

ספריית קישור דינאמית מיוחדת המשמשת ליישומי דלפי

החבילות מאפשרות לנו למקם חלקים מהיישום שלנו למודולים נפרדים הניתנים לחלוקה בין יישומים מרובים. החבילות מספקות גם אמצעי להתקנת רכיבים (בהתאמה אישית) למערך ה- VCL של דלפי.

instagram viewer

לכן, בעצם, שני דפים יכולים להכין שני סוגים של חבילות:

  • חבילות זמן ריצה - מספקות פונקציונליות כאשר משתמש מנהל אפליקציה - הן פועלות בדומה ל- DLL רגיל.
  • חבילות זמן עיצוב - המשמשות להתקנת רכיבים ב- דלפי IDE וליצור עורכי נכסים מיוחדים לרכיבים מותאמים אישית.
חבילות עיצוב

מנקודה זו מאמר זה יעסוק בחבילות זמן ריצה וכיצד הם יכולים לעזור לדלפי מתכנת.

מיטה אחת שגויה: אינך נדרש להיות א מפתח רכיבי דלפי לנצל חבילות. מתכנתי דלפי מתחילים צריכים לנסות לעבוד עם חבילות - הם יבינו הבנה טובה יותר של האופן שבו חבילות ודלפי עובדים.

מתי ומתי לא להשתמש בחבילות

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

לפני שנמשיך להשוואה בין קבצי DLL ו- BPL עלינו להבין שתי דרכים לקישור קוד בהפעלה: קישור סטטי ודינאמי.

קישור סטטי פירושו שכאשר נערך פרויקט של דלפי, כל הקוד שהיישום דורש מקושר ישירות לקובץ ההפעלה של היישום. האקסית שהתקבלה הקובץ מכיל את כל הקוד מכל היחידות המעורבות בפרויקט. יותר מדי קוד, אפשר לומר. כברירת מחדל, משתמש בסעיף עבור רשימת יחידות טופס חדשה המונה יותר מחמש יחידות (Windows, הודעות, SysUtils, ...). עם זאת, הקישור של דלפי חכם מספיק כדי לקשר רק את מינימום הקוד ביחידות המשמשות למעשה את הפרויקט. עם קישור סטטי היישום שלנו הוא תוכנית עצמאית ואינה דורשת חבילות או קבצי DLL תומכים (תשכח רכיבי BDE ו- ActiveX לעת עתה). בדלפי, קישור סטטי הוא ברירת המחדל.

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

פשוט סמן את תיבת הסימון 'בנה עם חבילות זמן ריצה' שנמצאת בפרויקט | תיבת דו-שיח אפשרויות. בפעם הבאה שתבנה את האפליקציה שלך, קוד הפרויקט שלך יקושר באופן דינמי לחבילות זמן ריצה במקום שיש יחידות שיחברו באופן סטטי לקובץ ההפעלה שלך.

instagram story viewer