Pages

lunes, diciembre 30, 2013

Windows XP Error 0x0000007E creando una maquina virtual con VirtualBox

Hice una Máquina Virtual en Virtual Box a partir de una imagen realizada con  Clonezilla. Creé la máquina, puse la imagen de Clonezilla adentro del CD de la máquina virtual y restauré la imagen.
Hasta ahí todo normal. Bootee la máquina virtual y dió una pantalla azul con el error mencionado en el titulo. Como habitualmente ocurre, cuando uno crea una máquina virtual a partir de una existente. 
Bootee nuevamente a prueba de fallos y borré todos los dispositivos de hardware que me permitió Windows para que los redetecte (habitualmente esto funciona.)
Para no hacerlo demasiado largo, diré que sin importar cuanto lo intentase, siempre terminaba booteando con la pantalla azul y reiniciándose inmediatamente. 
Para poder chequear el error sin que la máquina se reinicie:
  1. Botón derecho sobre MiPC y en el menu contextual -> Propiedades
  2. Vayan a Opciones avanzadas -> Inicio y recuperación -> Configuración
  3. Destilden la opción que dice "Reiniciar automáticamentente".

Con eso se quedará en la pantalla azul y podrán comprobar el código de error.

La solución final la encontré en el sitio de soporte de microsoft. Básicamente tiene que ver con que la máquina "real" poseía un procesador Intel, y yo estaba intentando hacerla funcionar sobre un procesador AMD, eso aparentemente no le gusta demasiado al XP.
Dejo el vínculo original para quien lo quiera consultar, no obstante detallo el procedimiento para solucionarlo a continuación.
  1. Reinicien el equipo en modo a prueba de errores.
  2. Hagan clic en Inicio, hagan click en Ejecutar, escriban regedit y, a continuación, hagan click en Aceptar.
  3. Busquen y, a continuación, hagan click en la clave del registro siguiente:
    HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Intelppm
  4. En el panel derecho, haga clic en la entrada de Inicio ó Start y, a continuación, hagan click en Modificar.
  5. En el cuadro información del valor , escriban 4 (no le den importancia a si es decimal o hexa, en realidad, 4 es 4 en ambas bases numéricas) y, a continuación, hagan click en Aceptar.
  6. Salgan del Editor del registro.
Voilá!!



Artículo original: http://support.microsoft.com/kb/953356

lunes, agosto 26, 2013

Transferir variables o datos entre dos HTML, Obtener parametros pasados por GET en HTML

¿Cómo llamar de un HTML a otro enviando informacion y recibirla del otro lado?.


Generalmente uno envía información entre un html y un PHP, por ejemplo, o al lenguaje de servidor que mas les guste. Pero en este caso necesitaba servir una pagina desde PHP y no utilizar un motor de plantillas para reemplazar valores, Envié entonces un header del tipo
"header ('Location: pp.html?parametro='.$variable)", dentro del html, utilice esta funcion para leer este primer parametro que es el valor que me interesaba y transferirlo a una variable de formulario:

function leerGets() {
  var parameters = location.search.substring(1).split("&");
  var temp = parameters[0].split("=");
  document.getElementById("campo").value = unescape(temp[1]);
}
 
Vamos por partes:
 
location.search.substring(1) 

El objeto location, contiene la dirección escrita en el explorador. La propiedad search del objeto contiene el query string. Es decir que suponiendo que la direccion completa fue: http://pp.htm?parametro=xxx&param2=yyy
location.search devolvería ?parametro=xxx&param2=yyy . Al agregarle el método substring con un "1" como parámetro, cortamos el primer caracter de la cadena, en este caso el "?"
 
var parameters = location.search.substring(1).split("&")

al resultado del query string lo dividimos con la funcion split en un array de pares de valores separados por el caracter "&" y lo asignamos a una variable, en este caso parameters.
 
var temp = parameters[0].split("=");

Ahora tomamos el primer conjunto de parametro=valor (es el que me interesa a mi, aunque bien podríamos haber recorrido todo el query string) y lo volvemos a dividir pero en este caso por el carácter "=".
Es decir. parameters[0] contiene "parametro=xxx" ahora tendre un array "temp" que contendra temp[0] = "parametro" y temp[1] = "xxx".
 
document.getElementById("campo").value = unescape(temp[1]);

asignamos el valor a una variable de formulario con id="campo".
unescape(valor) me permite sacar los caracteres de codificación del query string. si por ejemplo, parámetro hubiese contenido espacios entonces habría llegado con un formato parecido a este parametro=Juan%20Perez.

Listo!. Espero que sirva.

Agregado mas tarde...

Y ya que estamos amplio la función y la convierto en algo mucho mas útil.

 
function leerGets() {
  var gets = {}; temp=[];
  var parameters = location.search.substring(1).split("&");

  parameters.forEach(function(entrada) {
              temp = entrada.split("=");
              gets[temp[0]] = unescape(temp[1]);
  });
  return gets;
}