Ver Mensaje Individual
  #5 (permalink)  
Antiguo 29/11/2007, 13:49
mariano_donati
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 20 años
Puntos: 9
Re: DLL hecha en C para usar en VB.net

No es más código que lo que puse anteriormente en .Net::

Código PHP:
<DllImport("mydll.dll")> _
    
Private Shared Sub HelloWorld()
    
End Sub
    
<DllImport("mydll.dll")> _
    
Private Shared Function Suma(ByVal value As IntegerByVal value2 As Integer) As Integer
    End 
Function
    <
DllImport("mydll.dll")> _
    
Private Shared Sub getBytes(ByVal value As Long)
    
End Sub


    
Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load

        getBytes
(1)

    
End Sub 
En C, esta es la implementación de la función getBytes:

Código PHP:
DLLIMPORT void getBytes BITDATATYPE value )
{
    
    
BITDATATYPE tmpvalue;
    
int leftshifts;
    
    
tmpvalue value;
    
leftshifts 0;
    
    while ( 
value != )
    {                
        while ( ( ( 
tmpvalue >> __BYTEBITS__ ) << __BYTEBITS__ ) != )
        {
            
tmpvalue >>= __BYTEBITS__;
            
leftshifts += 1;
        } 
        
push getByte tmpvalue ) );
        
rightShift ( (int*)&tmpvalue leftshifts );              
        
value = ( value ^ ( tmpvalue ) ) << __BYTEBITS__;
        
tmpvalue value;
        
leftshifts 0;         
    }    

En donde BITDATATYPE es un tipo de datos definido por mi, de tipo unsigned long; __BYTEBITS__ es una constante. Su valor es 8; rightShift es una función que desplaza un numero de posiciones (2do. parametro) hacia la derecha a un valor (1er parametro).
Saludos!.
__________________
Add, never Remove