Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Delphi - form da DLL
Forum - Delphi - form da DLL

Avatar
systemgvp (Normal User)
Expert


Messaggi: 296
Iscritto: 14/04/2008

Segnala al moderatore
Postato alle 14:41
Venerdì, 19/02/2010
salve.

Ho creato una libreria dll, e al suo interno oltre che a delle funzioni ci ho messo pure un form con delle immaggini.

Il problema nasce dal fatto che se nella seconda applicazione che deve sfruttare questa dll si fa riferimento a procedure o funzioni che contengono i riferimentia quel form contenuto nella DLL, la seconda applicazione si compila ma non si avvia.

PM Quote
Avatar
systemgvp (Normal User)
Expert


Messaggi: 296
Iscritto: 14/04/2008

Segnala al moderatore
Postato alle 22:26
Sabato, 27/02/2010
possibili soluzioni?

PM Quote
Avatar
alessandrob (Normal User)
Newbie


Messaggi: 17
Iscritto: 19/01/2010

Segnala al moderatore
Postato alle 19:03
Lunedì, 01/03/2010
Forse stai sbagliando l'utilizzo.

Una dll rende disponibili delle procedure e delle funzioni che puoi richiamare, con gli opportuni parametri.

Devi però fare attenzione alla memoria utilizzata, dato che le due strutture (programma e dll) non la condividono.

Attenzione anche al tipo dei parametri: per passare una stringa devi convertirla in pChar e gestirla come tale nella dll (o riconvertirla) e viceversa per il ritorno come risultato di funzione.

PM Quote
Avatar
systemgvp (Normal User)
Expert


Messaggi: 296
Iscritto: 14/04/2008

Segnala al moderatore
Postato alle 21:46
Lunedì, 01/03/2010
quindi non c'è possibilità di recuperare oggetti (o form) contenuti in una dll?

PM Quote
Avatar
alessandrob (Normal User)
Newbie


Messaggi: 17
Iscritto: 19/01/2010

Segnala al moderatore
Postato alle 18:53
Martedì, 02/03/2010
In una dll classica non è possibile; devi ricordarti che una dll è potenzialmente utilizzabile anche da programmi scritti in altri linguaggi, quindi deve essere predisposta con una opportuna interfaccia di collegamento il più possibile indipendente dal sistema di programmazione del programma che la chiama.

Se utilizzi Delphi puoi utilizzare i package, equivalenti a librerie (dll), ma nei quali puoi inserire anche oggetti (anche se personalmente non li ho mai utilizzati).

In ogni caso, devi vedere qual'è lo scopo del tuo progetto.

Io utilizzo delle dll con dei form all'interno, ma i form sono necessari al corretto funzionamento (meglio stato di avanzamento) delle funzioni e procedure presenti nella dll, senza avere la necessità di essere accessibili dal programma principale.

PM Quote