Az űrlap DLL-be való beillesztése, nem jelenítve meg, és nem okozhat

Az űrlap DLL-be való beillesztése, nem jelenítve meg, és nem okozhat

Jó napot.
Egyszerre írok, alul nézek ("Látták itt?"). Alapvetően egy hívás érkezik a fő programból, egy formában, amely a DLL-ben rejtőzik.

A helyzet az, hogy van egy DLL kód a Visual C ++-ban. Be kell illesztenie néhány hálózati interakciót. Teljesen programozás a Visual C ++-ban, nem úgy, hogy nem lenne vadászat, mindössze attól függ, hogy nincsenek-e hálózati protokollok és a programkód sokasága, amit meg kell írni (ha megtalálja a protokoll szerkezetet).
Ezért úgy döntöttem, hogy a kódot az ENR-be konvertálom. Ő vezette a varázslót az EVE-n, és átalakította a kódot. Kipróbáltam a kész DLL-t, minden működik. Hálózati protokollok beillesztésére szeretném használni az INDY-t (vannak kész végrehajtási példák).
Ez legalább egy olyan INDY dinamikus komponenst teremtene, amelyet ugyanarra az egy komponensre kell beilleszteni. Szóval szeretnék beilleszteni egy űrlapot a projektbe és használni a tulajdonságait. Nem fogom megmutatni, ezért csak a komponensekre van szükség.

Az átalakított DLL-kód:
dataserv.bpf:


Egy űrlap beillesztéséhez létrehoztam egy tiszta projektet, és elmentettem az Alkalmazás mappába. Aztán megnyitottam a projektet a DLL-vel, és beillesztettem a formát (az App projektből).
a projekt mentésekor megkaptam a dataserv.bpf fájlt:

Meg kellett ütni őt a régi, és be egy új sort:

a projekt összeállításakor hiba lépett fel: [Linker Error] Nem sikerült megnyitni a 'CONTROLS.RES' fájlt
Megváltoztattam a * .res fájlt az App projektről CONTROLS.RES-re, majd a fordítás sikeres volt.

Bármennyire is próbálom használni az összetevők tulajdonságait az űrlapon, semmi nem történik velem. A fordítás sikeres, és a DLL végrehajtásakor minden tulajdonság nincs meghatározva. Azt hiszem, az űrlapot fel kell tölteni a memóriába, de hogyan. Ha egy programot csinál egy programmal, ne gondoljon rá, de itt van.
Ui A DLL-ku nem íródott

Ez hajlott. Nem tette meg. Először is, mindenképpen mindent meg kellett tennie, majd saját verzióhoz kell vezetnie. De te hűséges procrastisz


Én csak megcsináltam (mindegyiket átmásoltam egybe). Azt biztosan érti, hogy lehet nem írni az összes kódot, így darab programjában megadott kódot vagy a memóriából (nem vagyok gondolatolvasó), de mit tettem 1-1, ahogy meg van írva - nem működött. Eleinte azt hittem, hogy Heider ott, és elkezdett ásni a bizonyítványt, de behelyezése után a kívánt fordítási makacsul megtagadta, hogy megértsék fogás (Kivétel excp) és hasonló dolgok.

Ha elhagytad őket, akkor tájékoztatták, hogy a _SendUdp függvény nem található.


Ez az utolsó lehetőségem, amelyet két reggel teszteltem. Tehát nem változtattam meg, csak írok. Ezt megelőzően elküldtem SendUdp-t, amely mellesleg nem működött sem.

Sajnálom, de van egy érzésem, hogy nem is próbálom megérteni, hogy mit írnak neked, és amit írsz magadnak


Megértettem volna, ha voltak észrevételek, és a kód fele, számomra sötét erdő volt, bár őszintén megpróbáltam megérteni.
például itt van ez a kód:

Vagyis, ahogyan megértem, egy TMyDataModule létrehozásához egy mutatóra van szüksége a függvényben használt űrlaphoz. És ha át kell adnom a paramétereket.
És ha több funkciója van. Talán ez a kód nagyon könnyű, de számomra teljesen átlátható, és egy év alatt megnézem, gondolkodni fogok, és mi vagyok itt, és mi az algoritmus itt.

Ennek eredményeként TMyDataModule nekem és rejtély maradt, hogy amit szeretnék megtudni, és volt, hogy nem több, mint egyszerű algoritmust (bár nem annyira hatékony), amely vettem a könyvet.

Kapcsolódó cikkek