Foros del Web » Programación para mayores de 30 ;) » .NET »

[SOLUCIONADO] Problemas con el uso de fixed en este código

Estas en el tema de Problemas con el uso de fixed en este código en el foro de .NET en Foros del Web. Todos los errores son por el uso de fixed que no se bien lo que hace y la explicacion que veo no me entero de ...
  #1 (permalink)  
Antiguo 29/12/2017, 14:47
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 1 mes
Puntos: 3
Problemas con el uso de fixed en este código

Todos los errores son por el uso de fixed que no se bien lo que hace y la explicacion que veo no me entero de mucho. Estos son los errores:
Código:
Error        1        No se puede declarar una variable local denominada 'ptr' en este ámbito, porque daría un significado diferente a 'ptr', que ya se utiliza en un ámbito 'secundario' con otra denotación        C:\Documents and Settings\BlueDeep\Mis documentos\Visual Studio 2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs        225 
Error        2        No se puede declarar una variable local denominada 'ptr2' en este ámbito, porque daría un significado diferente a 'ptr2', que ya se utiliza en un ámbito 'secundario' con otra denotación        C:\Documents and Settings\BlueDeep\Mis documentos\Visual Studio 2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs        227 
Error        3        No se puede declarar una variable local denominada 'ptr' en este ámbito, porque daría un significado diferente a 'ptr', que ya se utiliza en un ámbito 'primario o actual' con otra denotación        C:\Documents and Settings\BlueDeep\Mis documentos\Visual Studio 2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs        245 
Error        4        No se puede declarar una variable local denominada 'ptr2' en este ámbito, porque daría un significado diferente a 'ptr2', que ya se utiliza en un ámbito 'primario o actual' con otra denotación        C:\Documents and Settings\BlueDeep\Mis documentos\Visual Studio 2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs        247 
Error        5        No se puede utilizar la instrucción fixed para adquirir la dirección de una expresión de tipo fixed        C:\Documents and Settings\BlueDeep\Mis documentos\Visual Studio 2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs        266 
Error        6        No se puede declarar una variable local denominada 'ptr2' en este ámbito, porque daría un significado diferente a 'ptr2', que ya se utiliza en un ámbito 'secundario' con otra denotación        C:\Documents and Settings\BlueDeep\Mis documentos\Visual Studio 2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs        283 
Error        7        No se puede declarar una variable local denominada 'ptr' en este ámbito, porque daría un significado diferente a 'ptr', que ya se utiliza en un ámbito 'secundario' con otra denotación        C:\Documents and Settings\BlueDeep\Mis documentos\Visual Studio 2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs        285 
Error        8        No se puede declarar una variable local denominada 'ptr' en este ámbito, porque daría un significado diferente a 'ptr', que ya se utiliza en un ámbito 'primario o actual' con otra denotación        C:\Documents and Settings\BlueDeep\Mis documentos\Visual Studio 2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs        303 
Error        9        No se puede utilizar la instrucción fixed para adquirir la dirección de una expresión de tipo fixed        C:\Documents and Settings\BlueDeep\Mis documentos\Visual Studio 2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs        303 
Error        10        No se puede declarar una variable local denominada 'ptr2' en este ámbito, porque daría un significado diferente a 'ptr2', que ya se utiliza en un ámbito 'primario o actual' con otra denotación        C:\Documents and Settings\BlueDeep\Mis documentos\Visual Studio 2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs        305 
Error        11        No se puede utilizar la instrucción fixed para adquirir la dirección de una expresión de tipo fixed        C:\Documents and Settings\BlueDeep\Mis documentos\Visual Studio 2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs        305 
Error        12        Se esperaba un identificador        C:\Documents and Settings\BlueDeep\Mis documentos\Visual Studio 2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs      93
y aqui el codigo como lo tengo ahora mismo: https://pastebin.com/EM1AknZe
Os estaria muy agradecido si me pudierais echar un cable con esto.
  #2 (permalink)  
Antiguo 01/01/2018, 10:37
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 1 mes
Puntos: 3
Respuesta: Problemas con el uso de fixed en este código

¿Esto sería correcto?
Código PHP:
public unsafe byte[] DecryptAll(byte[] eData)
{
    
byte[] array = new byte[(int)eData.Length];
    
intptrInt1;
    
intptrInt2;
    
    if (
eData != null && (int)eData.Length !=0)
    {
        
fixed (byteptrByte1 = &eData[0])
        {
            
ptrInt1=(int*)ptrByte1;
        }
    }
    else
    {
        
fixed (byteptrByte1 = (byte[]) null)
        {
            
ptrInt1=(int*)null;
        }
    }
    
byte[] array2;

    if ((
array2 = array) != null &&(int)array2.Length != 0)
    {
        
fixed (byteptrByte2 = &array2[0])
        {
            
ptrInt2=(int*)ptrByte2;
        }
    }
    else
    {
        
fixed (byteptrByte2 = (byte[])null)
        {
            
ptrInt2=(int*)null;
        }
    }
    for (
int i 0< (int)eData.Length >> 3;+= 1)
    {
        
int num1 ReverseDWORD(*ptrInt1);
        
ptrInt1++;
        
int num2 ReverseDWORD(*ptrInt1);
        
ptrInt1++;
        
this.Desencriptar(ref num1ref num2);
        
num1 = (*ptrInt2 ReverseDWORD(num1));
        
ptrInt2++;
        
num2 = (*ptrInt2 ReverseDWORD(num2));
        
ptrInt2++;
    }
    return array;

La idea es ir cogiendo del array eData 2 enteros y encriptarlos, voy incrementando los punteros para ir accediendo al siguiente lugar de la memoria donde estará el siguiente entero.

Última edición por aguml; 01/01/2018 a las 10:43
  #3 (permalink)  
Antiguo 03/01/2018, 01:34
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 1 mes
Puntos: 3
Respuesta: Problemas con el uso de fixed en este código

Solucionado

Etiquetas: errores, fixed, windows
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:27.