uses SysUtils, Classes;
{$R *.res}
begin end.
Бұл DLL-нің дайындық модульның дайындықына өте ұқсас. Негізгі айырмашылық - бірінші жолда бөлімнің орнына Кітапхана кілтсөзі. Save your special katata for your project that has been invoked by MyDLL. Жоғарыда келтірілген кітапханада MyDLL-men автоматикадағы кітапханада айтылады. Жобаның кітапханасының кілтсөзімен жинақталғанда, dll кеңейтімі бар кітапхана файлдары jasalada.Түсініктеме DLL функциясындағы аударудың ерекшеліктеріне және олардың жол мәндерін алуға қатысты. Түсініктеме DLL жадының ұйымдастырылуында маңызды бақылау болып табылады. ShareMem модулі алдымен кітапханадағы және жобада Пайдалану бөліміне енгізілуі керек (жоба / көзін көру).Егер DLL кейбір рәсімдерді немесе функцияларды экспорттайды, не олардан жолдар параметрлері немесе функционалдық мәндер түрінде алынады, бұл DLL-ден берілген немесе алынған барлық жолдарға, тіпті жазбада енгізілгендерге де қолданылады және сабақтар. ShareMem - BORLNDMM.DLL ортақ жады менеджерінің интерфейс модулі. BORLNDMM.DLL пайдалануды болдырмау үшін, жол туралы ақпаратты PChar немесе ShortString сияқты параметрлер арқылы беріңіз.
Пікірдің мәтіні, әрине, кодтан алынуы мүмкін, Пайдаланушы операторы SysUtils және Classes модульдерін кітапханаға қосады. Көптеген жағдайларда бұл модульдер талап етілмейді, сондықтан олардың қосылымы кодтан алынуы мүмкін. Алайда SysUtils модулін қосу кітапхана функциялары мен рәсімдерін орындау кезінде ерекше жағдай туғызу мүмкін болған жағдайда өте пайдалы болуы мүмкін.Бұл модуль болмаған жағдайда, кітапханада ұсталмаған ерекшелік бағдарламаны апатқа ұшыратады, тіпті шақырылатын бағдарламаның жабу функциялары тіпті шақырылмайды, жай ғана тапсырма жадтан босатылады. Егер SysUtils модулі кітапханаға қосылса, онда ол туралы ескертілмейтін оқиға қоңырау шалу бағдарламасына берілетін болады және оператордан басқа әдеттегі әрекет арқылы өңделуі мүмкін.
Дегенмен, DLL-ті әртүрлі тілдерде жасалынған бағдарламалардан шақыруға болатындығын ескерсек, онда барлық ерекшеліктерді өңдеп, шақырылған бағдарламаға қате көрсететін кейбір арнайы жалауды аудару керек.
{$R *.res}
Degenman, DLL-ті әртүрлі тілдерде жасалынған бағдарламалардың шақырылуы мүмкін екенін ескерсек, ондағы барлық эрекшеліктерді өңдеңіз, шахірләген багдарлама кейте ксерететинн кілтсөз арный jalauda audaru kerek.Басталу туралы мәлімдеме DLL жүктелген кезде орындалатын есептерді бастайды. Олар кейбір қажетті түзетулер жасай алады. Егер бұл параметрлер алдын ала қабылданбаған болса, онда бастапқы мәлімдеме кодтан алынуы мүмкін. Осылайша, кодтағы ең қарапайым жағдайларда, сіз тек кітапхананың жетекшісін және соңғы ақырғы мәлімдемені қалдыра аласыз.
Біз осы кілтпен шифрланған немесе шифрланған жолды қайтаратын жолға және кілтке жіберілетін DLL функция кодын орналастырамыз. Кейінірек, осы DLL-де пайдаланушыға оның атын сұрайтын диалогтың басқа нысаны орналастырылады. Төменде осы DLL кодының үзінділері келтірілген:
Library MyDLL;
Function Code (S: PChar; Key: integer) :
PChar;
stdcall;
Достарыңызбен бөлісу: |