Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Appel d'API en VB.NET : Plantage [ Archives Visual Basic / API ] (venka)

lundi 17 avril 2006 à 11:58:33 | Appel d'API en VB.NET : Plantage

venka

Bonjour,

J'ai commencé à migrer un projet VB 6.0 sous VB.NET mais je suis rapidement tombé sur un os avec mes appels d'API.
En l'occurence, le problème se pose lorsque j'essaie d'appeler la fonction GetLogicalDriveStrings qui prend un paramètre String. La fonction est censée remplir la variable string mais VB.NET me renvoie une erreur disant qu'il y a eu tentative d'accès à un espace mémoire protégé. Je suppose donc que la variable de type string doit être déclarée et passée d'une façon différente à ce qui se faisait sous VB 6. Cet aspect est très mal documenté sur MSDN et je ne trouve pas la solution.

Le bout de code incriminé est le suivant :

Dim lsBuffer As String
Dim llLength As
Long
llLength = 256
lsBuffer =
New String(vbNullChar, llLength)
llReturn = GetLogicalDriveStrings(llLength, lsBuffer)

Si quelqu'un peut me dépanner ou m'aiguiller
Merci d'avance
Venka

lundi 17 avril 2006 à 12:25:17 | Re : Appel d'API en VB.NET : Plantage

Willi

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Salut,
Tu peut remplacer cette fonction de l'api par simplement

Dim MesLecteurs as string()=System.IO.Directory.GetLogicalDriveStrings()

mardi 18 avril 2006 à 00:25:02 | Re : Appel d'API en VB.NET : Plantage

venka

Mille Merci Willi,
C'est exactement ce qu'il me fallait. Sauf que le nom exact de la méthode est System.IO.Directory.
GetLogicalDrives qui assure le même rôle que la fonction GetLogicalDriveStrings de l'API Windows (GetLogicalDriveStrings" n'est pas reconnu comme membre ou méthode de "System.IO.Directory).
Après j'ai galéré un peu pour essayer d'utiliser une autre API qui renvoyait le nom du volume (GetVolumeInformation) et puis finalement j'ai fini par trouver la classe
DriveInfo et sa méthode GetDrives() qui renvoie un tableau de structures avec toutes les infos détaillées de tous les lecteurs du système.
Comme quoi, en cherchant bien, on devrait trouver toutes les solutions de remplacement des fonctions de l'API Windows.
Encore merci.
Venka



Cette discussion est classé dans : net, vb, string, api, lllength


Répondre à ce message

Sujets en rapport avec ce message

API CreateProcess [ par ShanaBurns ] Bonjour,Je voudrais utiliser l'api CreateProcess mais sous Vb.net, mais le type Any ne fonctionne plus sous cette version et je ne vois pas trop comme pointeur sur string en vb.net [ par sebaznar ] Comment fait-on pour déclarer un pointeur sur un string en vb.net ??????????? String * 3 en vb.net [ par SupraDolph ] Je cherche un equivalent de :Dim txt As String * 3en vb.netMerci de m'aideramicalement SupraDolph bloquer clavier vb.net [ par scortex84 ] Quelqu'un sait-il comment bloquer le clavier en vb .net (dans le but de bloquer les touches systemes) ? Uniquement le clavier, la souris doit rester d Conversion d'un String en VB.net en Char* en C++.net [ par didiou ] salut tout le monde!J'ai un petit probleme sur lequel je galere depuis 2 jours:J'ai developpé une dll en C++.net qui comporte une fonction ayant pour PB.Print "string" en VB.net [ par SupraDolph ] Tout d'abord bonjour,je désirerai trouver l'équivalent dePictureBox.Print "string"qui est du VB6 en VisualBasic.NET.j'ai trouver une methode qui consi excel & vb.net [ par chambou ] Voila, je voudrais que dans un tableau excel deja rempli, a partir de mon programme vb, je puisse rechercher un string dans une des colonnes du tablea VB.NET et Lotus Notes API [ par borntoclimb ] Si quelqu'un a deja codé une appli ou DLL en .Net se connectant aux API Lotus Notes, je suis prenneur d'un code d'example.Merci,Borntoclimb---No pasa [VB.NET] Decoupage de string/Split etc [ par jajapremier ] bonjour,j'attaque directj'ai une string de ce type:MU0 6.60e+04 /*MPa.Ma*/(les espace sont deux tabulation)en fait e voudrais recuperer pb avec l'API WNetAddConnection2 [ par EPS32HAY ] Bonjour à tous,J'utilise l'API suivante afin de me connecter à un lecteur réseau [vb]Private Declare Function WNetAddConnection2 Lib "mpr.dll" Alias "


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.