Spero che qualcuno di voi abbia utilizzato questo software per creare pacchetti d'installazione e che mi possa dare una mano a risolvere un paio di problemi. Il software è davvero carino ed è scaricabile dal seguente URL http://www.virtualzone.de/
Ho scelto lui perché permette la verifica di un seriale per procedere con l'installazione. Per fare ciò necessita di una dll che deve avere una funzione booleana chiamata CheckSerial a cui viene passata la stringa con il seriale ed un intero con la lunghezza del seriale scritto dall'utente. Questa funzione analizza il seriale inserito e restituisce TRUE se è andato tutto a buon fine o FALSE se no. Questo è il mio prima problema, sicuramente ho sbagliato qualcosa perché purtroppo in fase di prova mi dice sempre che il valore immesso è errato. Il mio algoritmo di verifica funziona perché lo utilizzo già in altri contesti e restituisce TRUE o FALSE a seconda dei casi. Probabilmente è la mia DLL ad essere strutturata male: in una prima prova ho creato un nuovo progetto come DLL ed ho inserito una funzione pubblica chiamata CheckSerial come specificato nella guida del programma in questione. Il problema è che questa funzione è specificata in un modulo di Classe, quindi è probabile che lui non riesca a farla funzionare perché prima dovrebbe istanziare la Classe. Allora ho provato ad inserire un semplice modulo con una funzione CheckSerial che istanzia la classe ed esegue la funzione di verifica del seriale. Forse sbaglio qualche impostazione nella compilazione della DLL (io ho lasciato tutti i parametri di default), ma anche in questo caso quando vado a verificare il seriale mi dice sempre che è errato quindi o non trova la funzione nella DLL (magari a seguito di un mio errore di compilazione) oppure non so perché ma mi restitutisce sempre FALSE nonostante se poi io provi la DLL da un normale progetto standard EXE funziona tutto alla perfezione... Sigh, qualcuno mi dia una mano altrimenti non riesco più ad andare avanti!
Qui c'è il codice del modulo di classe della DLL chiamato serialChecker
e qui quello della funzione nel modulo della DLLcodice:Public Function CheckIt(Serial As String, Size As Integer) As Boolean 'algoritmo di controllo, restituisce TRUE o FALSE a seconda dei casi End Function
Ah, dimenticavo, io utilizzo VB 6codice:Public Function CheckSerial(Serial As String, Size As Integer) As Boolean Dim checker As New serialChecker CheckSerial = checker.CheckIt(Serial, Size) End Function
-------------------------------------------------------------------------
Inoltre, un altro piccolo problema per cui necessito un lume... Quando devo inserire i file necessari al progetto per la creazione di un pacchetto devo inserirli io manualmente (a differenza del wizard di Visual Basic 6 che li trova già quasi tutti automaticamente): come faccio a conoscere tutti i file di cui necessita? Esiste un modo più semplice che non eseguire il wizard di Visual Basic e copiare a mano la lista di tutti i file e relativi percorsi?[CODE]



Rispondi quotando