Маслиҳатҳо

BPL vs. DLL

BPL vs. DLL



We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Вақте ки мо барномаи Delphi-ро менависем ва тартиб медиҳем, мо одатан файли иҷрошаванда тавлид мекунем - замимаи мустақили Windows. Бар хилофи Visual Basic, масалан, Delphi барномаҳоеро, ки дар файлҳои паймонаи exe парпеч шудаанд ва бе китобхонаи пурмаҳсул кор мекунанд (DLL), талаб намекунад.

Кӯшиш кунед: Delphi –ро оғоз кунед ва лоиҳаи пешфарзро бо як варақи холӣ тартиб диҳед, он файли иҷрошавандаро тақрибан 385 KB (Delphi 2006) ба вуҷуд меорад. Акнун ба Лоиҳа - Опсияҳо - Бастаҳо гузаред ва қуттии "Сохтани бастаҳои корӣ" -ро санҷед. Тартиб ва давида. Voila, андозаи exe ҳоло тақрибан 18 КБ мебошад.

Бо нобаёнӣ, 'Сохтани бастаҳои истироҳатӣ' ба қайд гирифта намешавад ва ҳар дафъае ки мо барномаи Delphi-ро иҷро мекунем, компилятор ҳамаи коди барномавии шуморо, ки мустақиман ба файли иҷрошавандаи барномаи шумо лозим аст, мепайвандад. Замимаи шумо як барномаи мустақил аст ва ягон файлҳои дастгириро талаб намекунад (ба мисли DLLs) - бинобар ин Delphi exe хеле калон аст.

Яке аз роҳҳои сохтани барномаҳои хурдтари Delphi ин истифода бурдан аз кӯтоҳтарин 'китобхонаҳои бастаи Borland' ё BPL мебошад.

Як баста чист?

китобхонаи махсуси динамикӣ, ки аз ҷониби барномаҳои Delphi истифода мешаванд

Бастаҳо ба мо имконият медиҳанд, ки қисмҳои барномаи моро ба модулҳои алоҳида, ки метавонанд дар якчанд барномаҳо мубодила шаванд, ҷойгир кунем. Пакетҳо инчунин василаи насби (фармоишии) ҷузъҳо ба паллети VCL Delphi мебошанд.

Аз ин рӯ, асосан ду намуди бастаҳоро Delphi иҷро кардан мумкин аст:

  • Бастаҳои вақти иҷро - вақте корбар замимаро иҷро мекунад, кор мекунанд - онҳо мисли DLL стандартҳои муқаррарӣ кор мекунанд.
  • Бастаҳои тарроҳии вақт - барои насб кардани ҷузъҳо дар Delphi IDE ва эҷоди муҳаррирони махсус барои ҷузъҳои фармоишӣ истифода мешаванд.
Тарҳрезии бастаҳо

Аз ин лиҳоз, ин мақола бо бастаҳои вақти корӣ ва чӣ гуна онҳо метавонад ба барномасози Delphi кӯмак расонад.

Як mit нодуруст: барои бартарии бастаҳо аз шумо таҳиякунанда компоненти Delphi талаб карда намешавад. Барномасозони шурӯъкунандаи Delphi бояд бо пакетҳо кор кунанд - онҳо дар бораи кору бастаҳо ва Delphi фаҳмиши хубтар мегиранд.

Кай ва кай истифодаи бастаҳоро истифода намебаранд

DLL одатан ҳамчун маҷмӯаи тартибот ва вазифаҳое истифода мешаванд, ки дигар барномаҳо занг зада метавонанд. Ба ғайр аз навиштани DLL бо реҷаҳои фармоишӣ, мо метавонем як шакли пурраи Delphi -ро дар DLL ҷойгир кунем (масалан, форма AboutBox). Усули дигари маъмул ин ҷуз нигаҳдорӣ дар захираҳо дар DLLs нест. Маълумоти бештар дар бораи чӣ гуна Delphi бо DLLҳо кор мекунад, дар ин мақола пайдо мешавад: DLLs ва Delphi.

Пеш аз муқоисаи байни DLLs ва BPLҳо, мо бояд ду роҳи пайванди кодро дар иҷрошаванда фаҳмем: пайвасткунии статикӣ ва динамикӣ.

Пайвастагии статикӣ маънои онро дорад, ки ҳангоми тартиб додани лоиҳаи Delphi ҳамаи рамзҳое, ки дархости шумо талаб мекунад, бо файли иҷрошавандаи барномаи шумо мустақиман пайваст карда мешавад. Файли натиҷавии exe дорои ҳамаи рамзҳо аз ҳамаи бахшҳоест, ки дар лоиҳа иштирок мекунанд. Рамзи аз ҳад зиёд, шумо гуфта метавонед. Бо нобаёнӣ, бандро барои рӯйхати воҳиди шаклҳои нав бештар аз 5 адад истифода мебарад (Windows, Паёмҳо, SysUtils,…). Аммо, пайвандгари Delphi оқилона аст, ки танҳо ҳадди аққал рамзи воҳидҳоро, ки воқеан аз ҷониби лоиҳа истифода мешавад, пайванд кунад. Бо пайвастагии статикӣ барномаи мо барномаи мустақил аст ва ягон бастаҳои дастгиршаванда ё DLL-ро талаб намекунад (ҷузъҳои BDE ва ActiveX-ро фаромӯш кунед). Дар Delphi, пайванди статикӣ пешфарз аст.

Робитаи динамикӣ монанди кор бо DLLҳои стандартӣ аст. Яъне, пайванди динамикӣ ба якчанд барномаҳои корбурдӣ бидуни ҳатмӣ кардани код бевосита ба ҳар як барнома имкон медиҳад - ҳама бастаҳои талабшуда дар вақти корӣ бор карда мешаванд. Бузургтарин дар робитаи динамикӣ ин аст, ки боркунии бастаҳо аз ҷониби аризаи шумо худкор аст. Барои пур кардани бастаҳо ба шумо рамзи навиштан лозим нест ва рамзи худро тағир додан лозим нест.

Ба таври оддӣ қуттии "Сохтани бастаҳои давриро" пайдо кунед, ки дар Лоиҳа мавҷуданд Қуттии муколамаи имконот. Дафъаи дигар, вақте ки шумо барномаи худро эҷод мекунед, рамзи лоиҳаи шумо ба бастаҳои кор бо суръати пайваста пайваст карда мешавад, на ин ки воҳидҳои ба таври статикӣ ба файли иҷрошаванда пайвастшуда.