Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
755 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#] j'arrive pas à passer mes varibles par reference.. :'(

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C#] j'arrive pas à passer mes varibles par reference.. :'(

n°651042
Mr yvele
yvele n'est plus.
Posté le 22-02-2004 à 17:11:29  profilanswer
 

voila.. j'explique..
 
je dois utiliser une dll..
et on m'a donné sa définition, en VB.NET
 
 
ceci est donc juste à 100% :
 
 
' This function calls the SCardComand in the SCARD32.DLL
' .NET VB Sample
 

Code :
  1. <DllImport("SCARD32.DLL",_
  2.            EntryPoint:="SCardComand",_
  3.            SetLastError:=True,_
  4.            CallingConvention:=Callingconvention.Winapi,_
  5.            CharSet:=CharSet.Ansi,_
  6.            ExactSpelling:=True)> _
  7.   Public Shared Function SCardComand(_
  8.     ByRef handle As Integer,_
  9.     <MarshalAs(UnmanagedType.VBByRefStr)> ByRef cmd As String,_
  10.     ByRef cmdLen As Integer,_
  11.     <MarshalAs(UnmanagedType.VBByRefStr)> ByRef dataIn As String,_
  12.     ByRef dataInLen As Integer,_
  13.     <MarshalAs(UnmanagedType.VBByRefStr)> ByRef dataOut As String,_
  14.     ByRef dataOutLen As Integer_
  15.   ) As Integer
  16. End Function


 
 
je l'ai donc transformé en C# :
 

Code :
  1. [DllImport("SCARD32.DLL",
  2.    EntryPoint = "SCardComand",
  3.    SetLastError = true,
  4.    CallingConvention = CallingConvention.Winapi,
  5.    CharSet = CharSet.Ansi,
  6.    ExactSpelling = true)]
  7.  static extern int SCardComand(
  8.   int handle,
  9.   [MarshalAs(UnmanagedType.VBByRefStr)] ref String cmd,
  10.   int cmdLen,
  11.   [MarshalAs(UnmanagedType.VBByRefStr)] ref String dataIn,
  12.   int dataInLen,
  13.   [MarshalAs(UnmanagedType.VBByRefStr)] ref String dataOut,
  14.   int dataOutLen);


 
jusque la, ça va pas mal.. :)
 
mais maintenant j'aimerais bien utiliser cette fu***ng fonction à la noix..
 
je fait ça :
 

Code :
  1. string dIn = "";
  2.   string dOut = "1234567890";
  3.   string dCmd = "Device,Info,Type";
  4.   SCardComand(0,ref dCmd,0,ref dIn,0,ref dOut,200);


 
et ça me balance un beau :
 

Citation :

An unhandled exception of type 'System.NullReferenceException' occurred in WindowsApplication1.exe
 
Additional information: Object reference not set to an instance of an object.


 
 
[:le kneu]

mood
Publicité
Posté le 22-02-2004 à 17:11:29  profilanswer
 

n°651046
bossamiral​2
Ctrl+Alt+Del
Posté le 22-02-2004 à 17:17:53  profilanswer
 

tu es sur que tu n'as pas une erreur avec l'un de tes integer.
 
On dirait que une valeur null n'est pas permit ou un truc du genre
 

n°651047
Mr yvele
yvele n'est plus.
Posté le 22-02-2004 à 17:20:47  profilanswer
 

ben j'avais utilisé cette fonction, à l'époque, en VB6 et avec des 0 ça passait bien.. :/
 
 
d'ailleurs j'ai essayé d'utiliser la fonction en VB.NET :
 

Code :
  1. Dim L As Integer
  2.         Dim D As String
  3.         Dim nil As String
  4.         'D = String(200, 0)
  5.         D = "chrisk, pov con!"
  6.         L = SCardComand(0, "Device,Info,Type", 0, nil, 0, D, 200)
  7.         Label1.Text = D
  8.         MessageBox.Show(L.ToString())


 
et ça ne modifie pas la valeur de D :sweat:  
pourtant la commande "Device,Info,Type" est juste..
 
je comprend pas trop..

n°651048
HappyHarry
Posté le 22-02-2004 à 17:25:51  profilanswer
 

essaye  SCardComand(0, "Device,Info,Type", 0, nil, 0,out D, 200)

n°651049
Mr yvele
yvele n'est plus.
Posté le 22-02-2004 à 17:29:49  profilanswer
 

happyharry a écrit :

essaye  SCardComand(0, "Device,Info,Type", 0, nil, 0,out D, 200)  


 
erreur de syntaxe... il compile pas.. [:sinclaire]

n°651051
bossamiral​2
Ctrl+Alt+Del
Posté le 22-02-2004 à 17:31:02  profilanswer
 

c'est du deutch mais le code est compréhensible
 
http://www.fh-augsburg.de/informat [...] ellung.pdf


Message édité par bossamiral2 le 22-02-2004 à 17:31:52
n°651053
HappyHarry
Posté le 22-02-2004 à 17:31:32  profilanswer
 

Mr yvele a écrit :


 
erreur de syntaxe... il compile pas.. [:sinclaire]


 
forcément, t en VB :D

n°651055
Mr yvele
yvele n'est plus.
Posté le 22-02-2004 à 17:32:52  profilanswer
 

happyharry a écrit :


 
forcément, t en VB :D


 
oui mais tu as pris la ligne de mon code VB..  :D  
 
bref.. allé j'essaye...  :jap:

n°651056
Mr yvele
yvele n'est plus.
Posté le 22-02-2004 à 17:34:01  profilanswer
 

happyharry a écrit :


 
forcément, t en VB :D


 
 
Form1.cs(131): Argument '6': cannot convert from 'out string' to 'ref string'
 
[:meganne]

n°651058
HappyHarry
Posté le 22-02-2004 à 17:34:50  profilanswer
 

ben donc c t pas ca [:ddr555]

mood
Publicité
Posté le 22-02-2004 à 17:34:50  profilanswer
 

n°651060
bossamiral​2
Ctrl+Alt+Del
Posté le 22-02-2004 à 17:37:45  profilanswer
 

happyharry a écrit :

ben donc c t pas ca [:ddr555]


 
tu as regardé le lien que j'ai mis plus haut

n°651063
Mr yvele
yvele n'est plus.
Posté le 22-02-2004 à 17:39:51  profilanswer
 

bossamiral2 a écrit :

c'est du deutch mais le code est compréhensible
 
http://www.fh-augsburg.de/informat [...] ellung.pdf


 
 :sweat:  
 
 
ptain mais ou t'as trouvé ça?!.. ça fait 1h que je cherche sur le site de towitoko.. sur google et compagnie..
 
 :sweat:  :sweat:  
 
 
merci 1000 fois..
 
[:roi]

n°651064
bossamiral​2
Ctrl+Alt+Del
Posté le 22-02-2004 à 17:40:33  profilanswer
 

De rien a+

n°651073
Mr yvele
yvele n'est plus.
Posté le 22-02-2004 à 17:48:11  profilanswer
 

happyharry a écrit :

ben donc c t pas ca [:ddr555]


 
merci quand même...  :)

n°651076
simogeo
j'ai jamais tué de chats, ...
Posté le 22-02-2004 à 17:51:01  profilanswer
 

salut [:ptilapin]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°651091
Mr yvele
yvele n'est plus.
Posté le 22-02-2004 à 18:14:02  profilanswer
 


 
tu peux m'expliquer quand meme comment tu as trouvé ce liens?
 
merci.. je suis curieux de savoir..  :)  
 
 


 
wesh, ça va [:yo]

n°651160
bossamiral​2
Ctrl+Alt+Del
Posté le 22-02-2004 à 19:26:01  profilanswer
 

google
 
dans le champs de recherche
 
SCARD32.DLL info  c#

n°651377
Mr yvele
yvele n'est plus.
Posté le 22-02-2004 à 21:26:19  profilanswer
 

[:meganne]
 
 
je suis une merde! [:petrus75]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#] j'arrive pas à passer mes varibles par reference.. :'(

 

Sujets relatifs
[Resolu][PHP] Passer une variable dans une requete mysql_query()N00b : je n'arrive pas à remplir mon tableau :/
[ECLIPSE] Passer en debug dans un programme [RESOLU]J'arrive pas à lancer des applet SWING !!!!
Prob pour passer des parametres avec un formulaireFPDF : je n'arrive pas à afficher le résultat de ma requête [résolu]
[MySQL] moyenne pondérée, j'y arrive pas ! (help me please)construire un objet sans garder de reference
passer un tableau d'entier en parametre dans une URL [resolu][SQL]J'arrive pas à trouver ma requête!
Plus de sujets relatifs à : [C#] j'arrive pas à passer mes varibles par reference.. :'(


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR