DllImport et chemin non fixe en VB2008 [Résolu]

yannleco 10 Messages postés samedi 9 avril 2005Date d'inscription 6 mars 2009 Dernière intervention - 24 févr. 2009 à 12:25 - Dernière réponse : yannleco 10 Messages postés samedi 9 avril 2005Date d'inscription 6 mars 2009 Dernière intervention
- 1 mars 2009 à 15:03
Bonjour,

j'ai un problème (qui a déjà été évoqué) avec l'importation d'une dll (unrar.dll pour être précis) dont le chemin sera aléatoire. En fait, je suis sur une application qui se lance directement depuis un DVD et la dll se trouve dans un des répertoires de ce DVD. Je ne veux pas copier cette dll dans le répertoire système de windows au démarrage de l'appli. et je cherche donc par quelle méthode je pourrai indiquer dynamiquement le chemin de la dll (en sachant que DllImport implique la déclaration d'une constante entre guillemets. Apparemment, diverses astuces sont applicables, en tous cas en C++, mais je débute et je ne vois pas quelles voies explorer.

Merci d'avance pour votre aide !
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 26 févr. 2009 à 08:15
3
Merci
possible peut etre aussi de jouer avec l'utilitaire unrar (lignes de commande)

http://www.rarlab.com/rar/unrarw32.exe

Merci Renfield 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 68 internautes ce mois-ci

Commenter la réponse de Renfield
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 24 févr. 2009 à 14:15
0
Merci
aléatoire ? dit nous en plus.

normallement, Windows regarde dans l'ordre :

dans le chemin de l'executable
dans un dossier que l'on peut personnaliser, dans l'application
dans les dossiers de %PATH%
Commenter la réponse de Renfield
yannleco 10 Messages postés samedi 9 avril 2005Date d'inscription 6 mars 2009 Dernière intervention - 24 févr. 2009 à 18:14
0
Merci
Bonsoir Renfield,

d'abord, merci pour ton intérêt.
ensuite : pourquoi aléatoire ? ben tout simplement parceque la lettre du lecteur de DVD peut changer en fonction des configurations.

puis : que ce soit en mettant la dll à la racine du DVD ou dans un répertoire du DVD, Windows ne la trouve pas (enfin mon Windows en tout cas... :-) et je ne pense pas qu'il soit plus c... qu'un autre Windows)...

Est-il possible de faire une classe par lecteur logique (de D:\ à .... Z:\) et d'appeler cette classe en fonction du lecteur dans lequel se trouve le DVD (Application.StarupPath)?
Commenter la réponse de yannleco
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 24 févr. 2009 à 23:56
0
Merci
quel type de dll est-ce ?
Commenter la réponse de Renfield
yannleco 10 Messages postés samedi 9 avril 2005Date d'inscription 6 mars 2009 Dernière intervention - 25 févr. 2009 à 18:26
0
Merci
Re Renfield,

comme indiqué plus haut, la dll en cause est unrar.dll, mais je vais laisser tomber cette option (ayant un soucis supplémentaire : même en installant la dll dans system32, celà ne fonctionne plus une fois l'application installée sur DVD) je vais essayer de trouver une dll managée et documentée...

d'ailleurs si quelqu'un en connait une avec un algorithme de compression semblabe ou proche en efficacité à celui de WinRar, je suis preneur :-)

J'ai testé zlib en version c# qui est moins performante (mais surtout qui plante dès que le fichier à compresser dépasse 16 Mo...

J'ai aussi essayé d'utiliser l'algorithme de compression implémenté avec par IO.compression qui lui arrive à des fichiers compressés ayant une taille supérieure au fichiers d'origine !!!

en bref, je ne suis pas sorti de la ....(muise)
Commenter la réponse de yannleco
yannleco 10 Messages postés samedi 9 avril 2005Date d'inscription 6 mars 2009 Dernière intervention - 1 mars 2009 à 15:03
0
Merci
Re Renfield,


effectivement, ca a été la bonne solution, mais je suis finalement passé par la version standalone de 7-zip (qui est gratuit) et qui me permet donc d'extraire les fichiers en ligne de commande avec les paramètres voulus.

Merci à toi...

Maintenant, il ne te reste plus qu'à trouver une solution pour mon nouveau problème...

@ pluches
Commenter la réponse de yannleco

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.