
Lazarus ו-Free Pascal מקבלים תמיכה מלאה בחבילות דינמיות
המהדורה הראשונה של תמיכה מלאה בחבילות דינמיות עבור Free Pascal Compiler ו-Lazarus IDE זמינה כעת, ומאפשרת למשתמשים להתקין רכיבים ופקדים תוך שניות ללא בנייה מחדש של כל סביבת הפיתוח.
המהדורה הראשונה של תמיכה מלאה בחבילות דינמיות עבור Free Pascal Compiler ו-Lazarus IDE זמינה כעת להורדה. התכונה מאפשרת למשתמשים ליצור ולהתקין רכיבים, פקדים והרחבות של Lazarus תוך שניות ללא בנייה מחדש של כל סביבת הפיתוח. ניתן גם להשתמש בחבילות דינמיות בתוכניות מותאמות אישית כדי לפתח ולפרוס תוספים החושפים מחלקות וטיפוסים מקוריים של Pascal באמצעות ספריות חבילות דינמיות.
פורמט החבילות ותמיכת זמן ריצה
חבילות דינמיות מיושמות כקבצי ספרייה משותפת סטנדרטיים עבור Linux, Windows ו-macOS. הן מכילות מטא-נתונים נוספים שנוצרים על ידי המהדר, אותם ניתן לבדוק ולשאול באמצעות יחידות RTL חדשות. זמן הריצה כולל מנגנונים לשמירה בטוחה על משתני תהליכונים ולניהול טיפוסים דינמיים, כגון מחרוזות ומערכים דינמיים, בין תוכניות וחבילות או בין מספר חבילות.
בעת פריסת תוכנית, מפתחים עדיין יכולים לאגד הכול לקובץ הפעלה אחד, או לחלק אותה למספר חבילות דינמיות שניתן להחליף בזמן שהתוכנית פועלת, מה שמספק מערכת תוספים.
יחידה בחבילה אינה יכולה לשאת את שם החבילה, ולכן מערכת החבילות מוסיפה כעת את המילה Package אליו. חבילה בשם ElectroTools.lpk, לדוגמה, מייצרת ElectroToolsPackage.pas במקום ElectroTools.pas. שמות היחידות חייבים להיות ייחודיים גם בין חבילות שונות. חבילות דינמיות גדולות יותר מספריות משותפות רגילות מכיוון שהן מכילות מפה של כל מה שבתוכן, והסרת המטא-נתונים מונעת את תפקודן.
ספריית זמן הריצה מוסיפה רשומת TPackageType ויחידה חדשה, DynPkgTypes.pas, לקריאת מידע מחבילות דינמיות. ה-RTL מספק פונקציות לטעינה, ספירה, חיפוש ופריקת חבילות בזמן ריצה.
שיפורים ב-Lazarus IDE
חלון התקדמות חדש יכול להופיע מחוץ לסביבת הפיתוח. כאשר קוד מקור השייך לחבילה רשומה משתנה, המערכת מזהה את השינויים ובונה מחדש את החבילה לפני ש-Lazarus מתחיל. החלון מציג את הפעולה הנוכחית ואת הזמן המוערך שנותר לפני הפעלתה מחדש של סביבת הפיתוח. הוא מופיע גם כאשר הוספה או הסרה של חבילות לוקחת יותר מחמש שניות, כולל בעת התקנת מספר חבילות בו זמנית.
חלון חבילות חדש, המוצמד לימין כברירת מחדל, מציג רשימה של חבילות שנפתחו לאחרונה, והרשימה נשמרת בין הפעלות. ניתן לעיין בקבצים בתוך חבילה ולפתוח אותם בלחיצה כפולה. כאשר חבילה מותקנת מקומפלת, הפקדים, הרכיבים או ההרחבות שלה מתעדכנים תוך שנייה או שתיים.
תפריט החבילות מעדכן כעת את סביבת הפיתוח כאשר חבילות מתווספות או מוסרות, ללא צורך בבנייה מחדש. אפשרויות החבילה תחת IDE Integrations מאפשרות להגביל חבילה לפלטפורמה או widgetset מסוימים; חבילה שאינה עומדת בדרישות הנוכחיות לא תופיע ברשימת החבילות.
תכונה חדשה להמרת טופס או מסגרת הופכת כל טופס או מסגרת לפקד שניתן להתקין ומתווסף ללוח הרכיבים, כאשר כל הפקדים, האירועים, השיטות והמאפיינים מועתקים. אם חבילה נבנית בזמן שטופס פתוח משתמש בה, סביבת הפיתוח מבקשת לשמור או לסגור את הטופס תחילה.
זמינות ותמיכה
כל המתקינים כוללים תמיכה בחבילות דינמיות. השינויים ב-FPC וב-Lazarus נשלחים ל-GitLab בענפים מפוצלים בשם dynamic packages. ניתן לדווח על בעיות באמצעות מערכת מעקב הבאגים של GitLab, ולדון בשאלות בפורום הפרויקט. הפרויקט מחפש גם מנהלי פורום ותרומת מחשב M1 Macintosh כדי לסייע בהפקת מהדורות macOS.
מקורות: getlazarus.org
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.