Dll létrehozása web erőforrásokkal, hálózattal való együttműködés, delphi, cikkek készítése

DLL létrehozása a webes erőforrásokkal

A mellékelt levéltárak tartalmazzák az összes benne felsorolt ​​eszközt, és egy példát a kész DataBank.dll.

Az Archive Initial.zip tartalmazza a jövőbeli könyvtár közbenső objektumfájlját, a DataBank.rc erőforrás-szkriptfájlt és a bináris erőforrásfájlt, a DataBank.res fájlt. Ezenkívül ez az archívum olyan fájlokat is tartalmaz, amelyek közvetlenül a könyvtár forrásai közé tartoznak: Header.gif. Return.gif. Back.jpg. Index.htm. Mainpage.htm. Page.htm és Top.htm.

Az Eszközök.zip archívum tartalmazza a DLL összeállításához és összekapcsolásához szükséges összes eszközt. Ez magában foglalja a BRCC32.EXE erőforrás-fordítóprogramot. linker ILINK32.EXE. A helyes működéséhez szükséges UUID.LIB fájlok. LNKDFM60.DLL. RLINK32.DLL. RW32CORE.DLL. és egy batch fájl BuildAll.bat. Ez tartalmaz parancssort az erőforrás-fordítóval és a linkerrel való együttműködéshez. Ezt az eszköztárat feltétlenül be kell vonni a Borland C ++ Builder és a Borland Delphi bármely változatba, de esetleg az archív fájlokhoz mellékelt neveken kívül más nevekkel is.

A DllSymChanger.zip archívum tartalmazza a létrehozott DllSymChanger.exe programot. megkönnyíti a DLL működéséhez szükséges karakterek megváltoztatásának folyamatát.

Az archívumok tartalma független a BCB és a Delphi telepített verzióinak jelenlététől vagy hiányától a felhasználó számítógépén, működését a gépen teljesen "friss" Windows 98 SE rendszerrel ellenőrizték.

Emlékezzünk a klasszikus (nem RAD) programozásra a forráskódfájl eredetileg "kézi" létrehozásával, arra a következtetésre jutunk, hogy pontosan erre van szükségünk. Más szóval, érdeklődünk a DLL létrehozásának lehetőségétől, amely forrásokat tartalmaz a szükséges HTM oldalakkal végső soron számunkra.

A következő lépésben meg kell kapnunk az összeállított erőforrásfájlt, amely szerepel a DLL-ben. Ehhez szükség van az erőforrásokra (HTM oldalakra) és az erőforrás-parancsfájlra (esetünkben neve DataBank.rc).

A mellékelt archívumban Initial.zip példaként tekinthető meg a belsőleg összekapcsolt weboldalakkal rendelkező DLL létrehozása. Az ezen oldalakra mutató fájlok a következő nevekkel rendelkeznek: Index.htm. Mainpage.htm. Page.htm. Fent.htm. Header.gif. Return.gif. Back.jpg. Ezután három szükséges követelmény van az IE megfelelő működéséhez a létrehozandó DLL-en belül:
  • A weblapok működtetéséhez szükséges összes fájlnak ugyanabban a könyvtárban kell lennie;
  • A weboldalakon található összes linknek viszonylagosnak kell lennie;
  • A weblapokban használt egyik fájl neve nem tartalmazhat aláhúzást. A fájlneveknek egy karakterkészletből kell állniuk, A в Z Z és 0 Ђ Ђ. A fájlnevek nem kezdődhetnek számokkal.

Az aláhúzás alkalmazásának harmadik követelményének be nem tartása nem kritikus, és az alábbiakban lesz szó. A harmadik követelmény fennmaradó részeit be kell tartani. Ennek az az oka, hogy a RES fájl összeállításakor a forrásneveknek meg kell felelniük a C nyelv azonosítók meghatározásának szabályainak, amelyek megsértése hibákat okoz az erőforrás-parancsfájl fájl összeállításakor egy bináris erőforrásfájlba.

Az erőforrás neve vagy erőforrás-típus neve

Hogy oldja meg ezt a problémát, ahelyett, hogy egy pont választja el a „név” a forrás és annak „kiterjesztése”, akkor használja az aláhúzás karaktert - az egyetlen karakter, aki nem számjegy vagy nagybetű és a felbontás létrehozásakor erőforrás nevét. Amint azt feltételezed, az eredményül kapott DLL-fájl olyan erőforrásokat tartalmaz, amelyeken az aláhúzással elválasztott nevek találhatók, amelyek a DLL teljesítményéhez egy ponttal kell helyettesíteni. De később.

Az erőforrás leírási sorának második eleme az erőforrás típusának neve. Ha egy előre definiált önkényes RCDATA típust használunk erőforrásaink hozzárendeléséhez. összeállítás és összeszerelés a DLL átadódik, az erőforrásokat az alkalmazott programok forrásként a könyvtárak okozzák, az IE azonban nem hajlandó feldolgozni azokat, ahogyan mi szükségünk van. Pontosan ugyanaz történik, ha bármely más típust hozzárendelünk az oldal erőforrásaihoz. Ez, azt van némi remény, hogy IE megvizsgálja, hogy milyen típusú fürtözött erőforrásokat egyfajta alkönyvtár lenne túl jó ötlet, hogy megszervezze a hierarchia közötti kapcsolatok logikai oldalcsoportonként, de IE fejlesztők úgy tűnik, hogy egy másik véleményt ebben a kérdésben. Így, ha szánunk a neve a forrás típusát, például PAGEAREA vagy bármely más, beleértve RCDATA után utófeldolgozás könyvtár IE még mindig nem fogadja el a web-oldalak formájában web-oldalak. A megoldás ebben a patthelyzethelyzetben arra készteti a shdoclc.dll rendszerkönyvtár struktúrájának tanulmányozását. Az erőforrásokban található összes oldal két típusba tartozik, amelyek neve nem karakterlánc, hanem egész számú azonosító. Az erőforrás-típusok egész számának megadása érdekében az erőforrás-parancsfájl sorában az egész azonosító értékét zárójelben kell elhelyezni. Ellenkező esetben az erőforrás-fordító a karakterlánc azonosítóként kezeli őket.

Az erőforrás leírásának harmadik eleme az oldalfájl neve. Ez egyszerűen alírjon, vagy dupla idézőjelben. Mondanom sem kell, hogy az így használt összes DLL fájlnak ugyanabban a könyvtárban kell lennie, mint a lemez. Ez vonatkozik a projekt összes szolgáltatásfájljára, valamint az erőforrásokba helyezett összes fájlra.

A végleges formában az index.htm oldal mellékletének leírása a jövőbeli könyvtár forrásaira nézve így néz ki:

index_htm (23) index.htm

Miután létrehozta az erőforrás-script fájlt, össze kell fordítania. Ehhez a BRCC32.EXE parancssori erőforrás-fordítót használjuk. amely része a BCB6-nak. A fordító fájl nevét tekintve látjuk, hogy munkájának eredménye 32 bites bináris erőforrás fájl lesz (legalábbis ha nem használ további parancssori opciókat). Elméletileg, akkor a különböző 16 bites fordítóprogramok (RC.EXE. BRCC.EXE, stb), és el fogjuk érni a kívánt eredményt, de továbbra is használhatja a 32 bites linker, akkor ajánlott használni a 32 bites fordító erőforrások . Az erőforrás-fordító a parancssorból fut, amely magában foglalja az erőforrás-fordító fájlnevét és az erőforrás-parancsfájl nevét:

A DLL létrehozásának következő lépése a könyvtár létrehozása a DataBank.obj objektumfájlból és a bináris erőforrás fájlból: DataBank.res. Ebből a célból az ILINK32.EXE linkert használjuk. amely viszont az RLINK32.DLL és az LNKDFM60.DLL könyvtárakat hívja és az UUID.LIB fájlt használja. A kapcsolónak a paraméterekkel való hívása a következő:

ilink32 DataBank.obj, DataBank.dll. DataBank.res

Figyelmeztetés: A kép futtathatóként van csatolva, de .DLL vagy .BPL kiterjesztéssel

Ennek oka a DEF-fájl hiánya, de ennek ellenére a könyvtár nem befolyásolja a tartalom helyességét. Az összeszerelési folyamat során a linker létrehozza az eredményül kapott modul nevét tartalmazó fájlokat és a TDS, MAP, ILC, ILD, ILF, ILS, fájdalommentesen törölhető kiterjesztéseket.

A webes elemek forrásokkal rendelkező könyvtárat hoztak létre.

Ha 16 bites linkert (például LINK.EXE) használtunk, akkor érvényes 16 bites DLL-t kaptunk, de az IE megtagadná a vele való együttműködést, és kiadta a megfelelő üzenetet.

Tegyük fel, hogy a DataBank.dll a következő elérési útvonallal rendelkezik:

Ha IE-t futtatunk, és beírjuk az URL-t az URL-ben

Az Internet Explorer megtalálja a DataBank.dll-ben található INDEX_HTM erőforrást. de nem tudja pontosan meghatározni a várt műveleteket, mert az erőforrás-azonosító nevét az IE úgy értelmezi, mint kiterjesztés nélküli fájlnevet.

Itt az ideje elindítani az IE-t, és beírni az URL sort

A fő feladat teljes mértékben teljesül.

Érdemes megjegyezni, hogy a könyvtárban lévő hivatkozások létrehozásakor az IE úgy működik, mintha a lemez könyvtárában lévő hivatkozásokat hozna létre.

Ez a javasolt módszer jó lehetőséget kínál a programozók számára a TCppWebBrowser összetevő (TWebBrowser) használatára, valamint a szoftver termék szolgáltatásadatainak megfelelő biztonságával.

Kapcsolódó cikkek