Վերադառնալ

Free Pascal-ը և Lazarus-ը ստանում են դինամիկ փաթեթների ամբողջական աջակցություն
SiTech AI Team3 րոպե ընթերցում

Free Pascal-ը և Lazarus-ը ստանում են դինամիկ փաթեթների ամբողջական աջակցություն

Free Pascal Compiler-ի և Lazarus IDE-ի դինամիկ փաթեթերի ամբողջական աջակցության առաջին թողարկումը արդեն հասանելի է: Այն թույլ է տալիս օգտատերերին վայրկյանների ընթացքում տեղադրել կոմպոնենտներ, կառավարիչներ և Lazarus-ի ընդլայնումներ՝ առանց ամբողջ 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-ի տակ գտնվող փաթեթերի ընտրանքները թույլ են տալիս սահմանափակել փաթեթը հատուկ հարթակի կամ widgetset-ի համար: Փաթեթը, որը չի բավարարում ընթացիկ պահանջներին, չի հայտնվի փաթեթերի ցուցակում:

Նոր ձևի կամ շրջանակի փոխակերպման հատկությունը ցանկացած ձև կամ շրջանակ վերածում է տեղադրվող կառավարչի, որը ավելացվում է կոմպոնենտների պալիտրային, ընդ որում պատճենվում են բոլոր կառավարիչները, իրադարձությունները, մեթոդները և հատկությունները: Եթե փորձեք կառուցել փաթեթ, որն օգտագործում է բաց ձևը, IDE-ն նախ կխնդրի պահել կամ փակել ձևը:

Հասանելիություն և աջակցություն

Բոլոր տեղադրիչները ներառում են դինամիկ փաթեթերի աջակցությունը: FPC-ի և Lazarus-ի փոփոխությունները GitLab-ում գրանցված են dynamic packages անունով ֆորկված ճյուղերում: Խնդիրները կարող են հաղորդվել GitLab-ի խնդիրների հետևման գործիքի միջոցով, իսկ հարցերը կարելի է քննարկել նախագծի ֆորումում: Նախագիծը նաև փնտրում է մոդերատորներ և M1 Macintosh-ի նվիրատվություն՝ macOS-ի կառուցումները արտադրելուն օգնելու համար:

Աղբյուրներ: getlazarus.org

SiTech

SiTech — AI-ով հզորացված վեբ մշակում

Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։