Oppure

Loading
05/07/10 15:05
Lisa
Buongiorno a tutti,
spero che qualcuno sappia aiutarmi perché mi sto perdendo nel mare delle dll....

Ho creato un programma in VB6 che utilizza il componente DBGRID sfruttando un database Access. Su Windows XP e su Vista il programma si installa e gira senza problemi.
Purtroppo dovrà invece girare su un vecchio PC con NT 4.00, sistema operativo che non conosco per niente.

Ho installato una macchina virtuale NT tramite Virtual PC su cui testare il programma, ma non riesco a farlo funzionare correttamente.
Ho provato a creare un pacchetto di installazione con Cyber Installer Studio: al lancio non trovava msimg32.dll, dopo averla inserita manualmente, ottengo l'errore: "the procedure entry point GdiGradientFill could not be located in the dynamic link library GDI32.dll".

Allego un'immagine con la lista delle dipendenze rilevate da Cyber Installer Studio.

Qualcuno sa suggerirmi una soluzione?
A me andrebbe bene anche registrare a mano le librerie necessarie e lanciare il programma da uno shortcut, senza link nel menù di avvio, unistaller ed altre rifiniture, ma vorrei evitare di fare danni andando a sovrascrivere liberie che non conosco.

Grazie a tutti,
Lisa
aaa
05/07/10 17:36
No ... il VB6 non è compatibile con NT 4.
06/07/10 9:16
Lisa
Postato originariamente da nessuno:
No ... il VB6 non è compatibile con NT 4.


Ti ringrazio,
cosa mi suggeriresti di fare quindi? A che versione di VB mi dovrei riportare secondo te?

Comunque, scusami, ma non sono proprio convinta di quanto mi scrivi, dato che VB6 è uscito nel 1998, anno in cui il sistema operativo più recente rilasciato da Microsoft era proprio Windows NT 4 uscito nel 1996 (il successivo, Windows 2000, è uscito appunto nel 2000).:-|

Qualcun altro ha un'opinione in proposito?

Grazie di nuovo,
Lisa

Ultima modifica effettuata da Lisa 06/07/10 14:07
aaa
06/07/10 17:05
No ... non intendevo "completamente" incompatibile, ma con certe chiamate ad API che non esistevano in NT4.

Ad esempio, la GdiGradientFill che è stata implementata con Windows 2000.

Elimina questa chiamata (e tutte le chiamate simili).
07/07/10 9:22
Lisa
Grazie del chiarimento :)
In realtà io non utilizzo nemmeno alcun riempimento con gradienti, penso piuttosto che sia stato il programma che ho utilizzato per fare il pacchetto di installazione (Cyber Installer) che mi deve aver incluso una libreria con riferimento a quella classe. Ora sto provando un'altra soluzione che mi è stata suggerita: installare momentaneamente l'ambiente di sviluppo sul PC di test per poi levarlo: dovrebbe mettere lui tutte le librerie che servono.
Vediamo, vi farò sapere, se questa fosse la soluzione sarebbe alla fine la più semplice, anche se poco elegante...

Lisa
aaa
13/07/10 7:44
Lisa
PROBLEMA RISOLTO:k:
Posto la soluzione nella speranza che possa essere utile a chi si trovi nelle mie stesse condizioni.

Ho installato l'ambiente di sviluppo Visual Studio sulla macchina virtuale con Windows NT a bordo, dopodiché ho aperto e ricompilato il mio progetto da qui.
Infine ho utilizzato il tool "Package & Deployment Wizard" di Visual Studio per creare il pacchetto di installazione, sempre sotto windows NT.
Ho testato il tutto su di un'altra macchina virtuale NT "pulita" (senza nessun programma o ambiente di sviluppo installato prima) su un altro PC, ed il software si è installato ed ha funzionato perfettamente :)

Avevo già provato ad utilizzare il Package & Deployment Wizard da windows XP, ma il pacchetto creato non era funzionante su NT, probabilmente andava ad includere versioni di dll pescate da Windows>system32 di XP non compatibili con NT.

That's all folks

Lisa
aaa