
Lazarus-სა და Free Pascal-ს დინამიური პაკეტების სრული მხარდაჭერა აქვთ
Free Pascal Compiler-ისა და Lazarus IDE-ისთვის დინამიური პაკეტების სრული მხარდაჭერის პირველი გამოშვება უკვე ხელმისაწვდომია. მომხმარებლებს კომპონენტებისა და კონტროლების დაყენება წამებში შეუძლიათ, მთლიანი IDE-ის თავიდან აწყობის გარეშე.
Free Pascal Compiler-ისა და Lazarus IDE-ისთვის დინამიური პაკეტების სრული მხარდაჭერის პირველი გამოშვება უკვე ჩამოსატვირთად ხელმისაწვდომია. ეს ფუნქცია მომხმარებლებს საშუალებას აძლევს, წამებში შექმნან და დააყენონ კომპონენტები, კონტროლები და Lazarus-ის გაფართოებები, მთლიანი IDE-ის თავიდან აწყობის გარეშე. დინამიური პაკეტები ასევე შეიძლება გამოყენებულ იქნას საკუთარ პროგრამებში, რომ შექმნათ და გაავრცელოთ პლაგინები, რომლებიც დინამიური პაკეტების ბიბლიოთეკების მეშვეობით წარმოაჩენენ Pascal-ის ნატიურ კლასებსა და ტიპებს.
პაკეტის ფორმატი და გაშვების დროის მხარდაჭერა
დინამიური პაკეტები Linux-ის, Windows-ისა და macOS-ისთვის სტანდარტული საზიარო ბიბლიოთეკის ფაილების სახითაა რეალიზებული. ისინი შეიცავს კომპილატორის მიერ გენერირებულ დამატებით მეტამონაცემებს, რომელთა დათვალიერება და გამოკითხვაც RTL-ის ახალი მოდულებით შეიძლება. გაშვების დროის გარემო მოიცავს მექანიზმებს ნაკადის ცვლადების უსაფრთხოდ შესანარჩუნებლად და დინამიური ტიპების, მაგალითად სტრიქონებისა და დინამიური მასივების, მართვისთვის პროგრამებსა და პაკეტებს შორის ან რამდენიმე პაკეტს შორის.
პროგრამის განთავსებისას დეველოპერებს კვლავ შეუძლიათ ყველაფერი ერთ შემსრულებელ ფაილში მოათავსონ, ან დაყონ ის რამდენიმე დინამიურ პაკეტად, რომელთა ჩანაცვლებაც პროგრამის მუშაობის დროს შეიძლება, რითაც პლაგინების სისტემა მიიღება.
პაკეტში არსებულ მოდულს არ შეიძლება პაკეტის სახელი ჰქონდეს, ამიტომ პაკეტების სისტემა ახლა პაკეტის სახელს Package სიტყვას უმატებს. მაგალითად, ElectroTools.lpk პაკეტი ქმნის ElectroToolsPackage.pas ფაილს და არა ElectroTools.pas ფაილს. მოდულების სახელები ასევე უნდა იყოს უნიკალური ყველა პაკეტში. დინამიური პაკეტები ჩვეულებრივ საზიარო ბიბლიოთეკებზე დიდია, რადგან ისინი შიგნით არსებული ყველაფრის რუკას შეიცავენ, ხოლო პაკეტიდან სიმბოლოების წაშლა აშორებს მეტამონაცემებს, რომლებიც მისი ფუნქციონირებისთვისაა საჭირო.
გაშვების დროის ბიბლიოთეკა ამატებს TPackageType ჩანაწერს და ახალ მოდულს, DynPkgTypes.pas, დინამიური პაკეტებიდან ინფორმაციის წასაკითხად. RTL იძლევა ფუნქციებს პაკეტების გაშვების დროს ჩატვირთვის, ჩამოთვლის, ძიებისა და განტვირთვისთვის.
Lazarus IDE-ის გაუმჯობესებები
IDE-ის გარეთ ახალი პროგრესის ფანჯარა შეიძლება გამოჩნდეს. როცა რეგისტრირებულ პაკეტს მიკუთვნებული წყაროს კოდი იცვლება, სისტემა ცვლილებებს ამოიცნობს და Lazarus-ის გაშვებამდე პაკეტს თავიდან ააწყობს. ფანჯარა აჩვენებს მიმდინარე ოპერაციას და IDE-ის თავიდან გაშვებამდე დარჩენილ სავარაუდო დროს. ის ასევე ჩნდება მაშინ, როცა პაკეტების დამატება ან წაშლა ხუთ წამზე მეტს იწელებს, მათ შორის, როცა ერთდროულად რამდენიმე პაკეტი დაყენდება.
ახალი Packages ფანჯარა, რომელიც ნაგულისხმევად მარჯვნივაა მიმაგრებული, ბოლოს გახსნილ პაკეტებს ჩამოთვლის და სია სესიებს შორის ინახება. პაკეტის შიგნით არსებული ფაილების დათვალიერება და ორმაგი დაწკაპუნებით გახსნა შეიძლება. როცა დაყენებული პაკეტი კომპილირდება, მისი კონტროლები, კომპონენტები ან გაფართოებები ერთ-ორ წამში განახლდება.
პაკეტების მენიუ ახლა პაკეტების დამატების ან წაშლისას IDE-ს თავიდან აწყობის გარეშე განაახლებს. IDE Integrations-ის ქვეშ პაკეტის პარამეტრები საშუალებას იძლევა, პაკეტი კონკრეტულ პლატფორმასა ან ვიჯეტების ნაკრებს მიბმული იყოს. თუ პაკეტი მიმდინარე პლატფორმის ან ვიჯეტების ნაკრების მოთხოვნებს არ აკმაყოფილებს, ის პაკეტების სიაში არ გამოჩნდება.
ფორმის ან ჩარჩოს კონვერტაციის ახალი ფუნქცია ნებისმიერ ფორმას ან ჩარჩოს დასაყენებელ კონტროლად აქცევს და კომპონენტების პალიტრას უმატებს, ყველა კონტროლის, მოვლენის, მეთოდისა და თვისების კოპირებით. თუ პაკეტი იწყობა და ღია ფორმა მას იყენებს, IDE ჯერ ფორმის შენახვას ან დახურვას ითხოვს.
ხელმისაწვდომობა და მხარდაჭერა
ყველა ინსტალატორი მოიცავს დინამიური პაკეტების მხარდაჭერას. FPC-ისა და Lazarus-ის ცვლილებები GitLab-ში dynamic packages-ის სახელწოდების დაფორკებულ ტოტებშია შეტანილი. პრობლემების შესახებ შეტყობინება GitLab-ის პრობლემების თვალთვალის სისტემის მეშვეობით შესაძლებელია, ხოლო კითხვების განხილვა პროექტის ფორუმზე შეიძლება. პროექტი ასევე ეძებს მოდერატორებს და M1 Macintosh-ის შემოწირულობას, რაც macOS-ის ბილდების შექმნას შეუწყობს ხელს.
წყაროები: getlazarus.org
SiTech — AI-გაძლიერებული ვებ დეველოპმენტი
ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.