Cum se afișează formularul în aplicația care este conținută în DLL. Acesta este un proces destul de simplu.
Crearea unui DLL
În primul rând, trebuie să creați un DLL în acest proiect. care va conține formularul. Pentru aceasta, urmați acești pași:
- Porniți un nou proiect utilizând Fișier -> DLL nou. veți avea un șablon DLL. în care trebuie să creați un formular, executați în acest scop Fișier -> Formular nou
- Apoi, trebuie să adăugați formularul în proiect. Mai întâi însă salvați formularul sub un anumit nume (de exemplu DllForm) și adăugați-l la proiect folosind File -> Add To Project. . în caseta de dialog, selectați formularul salvat (DllForm.pas)
Scrierea codului într-un DLL
În acest exemplu, există două metode (o procedură și o funcție) pentru afișarea formularului. Pentru a afișa, vom folosi metodele Show and ShowModal.
Prima procedură care va arăta numai forma:
Tot ce facem în această procedură este pur și simplu să creăm forma, trecând ca parametru zero, deoarece nu știm cine este proprietarul formei. Apoi afișăm formularul folosind metoda standard de prezentare. Directiva stdcall este utilizată pentru a indica care parametri vor fi transmise procedurii.
Afișarea formei modale este puțin diferită, deoarece trebuie să returnați rezultatul modal. Codul pentru a face acest lucru este:
Singura diferență între acest cod și cea anterioară este că vom folosi procedurile în vigoare, astfel încât să ne putem întoarce formularul rezultat modal și apel metoda ShowModal în loc de Afișare.
Un lucru care este prezent în aceste exemple este acela că creăm o formă, dar nu o distrugem oriunde, în timp ce cheltuim resurse. Cel mai simplu mod de a distruge forma este de a face acest lucru în cazul OnClose și instalarea acestuia în TCloseAction caFree (de exemplu, memoria asociată cu forma este eliberată atunci când forma este închisă). Faceți acest lucru prin adăugarea următorului cod în evenimentul OnClose al formularului:
În cele din urmă, trebuie să exportăm funcțiile în DLL. astfel încât acestea să poată fi numite de aplicația noastră. Acest lucru se poate face prin adăugarea următorului cod în fișierul DPR:
Totul a terminat de scris DLL și continuați să scrieți aplicația care va apela acest DLL.
Creați o aplicație
Pentru a crea o aplicație, parcurgeți pașii următori:
- Porniți un nou proiect folosind File -> New Application. apoi adăugați două butoane la formularul principal: unul pentru a afișa forma obișnuită în DLL. iar celălalt să-l arate modal.
- Schimbați etichetele de pe butoane pentru a afișa esența, ce vor face și pentru a redimensiona dacă este necesar.
Acum avem o aplicație simplă care nu face nimic. Trebuie să adăugăm un cod pentru butoane, astfel încât să îndeplinească funcțiile necesare.
Codul de scriere pentru aplicație
Din nou, folosiți stdcall. deoarece procedura a fost declarată în DLL.
Apoi, trebuie să numim aceste rutine (funcții), aceasta se face în cazul OnClick de butoane pe care le-am creat mai devreme:
Tot ce facem aici este să apelați procedurile din DLL, în funcție de butonul pe care faceți clic.
concluzie
Aceasta este o simplă demonstrație a modului în care puteți folosi formularele într-un DLL. Acest lucru este util atunci când doriți să utilizați un formular între diferite aplicații. De asemenea, atunci când DLL-ul este utilizat dinamic (adică se leagă la timpul de execuție), acesta este un mod puternic de a adăuga noi funcții în aplicație.