Solucion al: Error de la aplicacion 0xc000007b

lunes, diciembre 05, 2011 · 0 comentarios





Si haz compilado un programa con wxWidgets (solo la version 2.9.x soportan 64bits) para la arquitectura de 64bit usando el compilador de Visual Studio pero compilando dicho programa desde otra IDE como por ejemplo: DialogBlocks, wxDev-C++, etc... en mi caso he usado en este ejemplo el DialogBlocks 4.40

No hay mensaje de error en la compilacion ni del vinculador (link.exe), la compilacion es perfecta pero cuando ejecutas el programa te aparece el dichoso error 0xc000007b

Buscando y buscando en internet di con la solucion, el error es culpa del archivo¿? COMCTL32.DLL o mas bien culpa del Windows que no carga la version 64bits de dicho DLL, como lo muestra esta imagen de la dependencias del programa compilado en 64bits usando el programa Dependency Walker



Como pueden ver en la imagen el archivo COMCTL32.DLL que se carga es la version x86/32bits y como puedes ver los demas archivos dependendientes son de 64bits

En Visual Studio se encarga de incrustar el archivo manifest que es, el que se encarga de "decirle" al ejecutable de 64bits que cargue el archivo COMCTL32.DLL en su version de 64bits

Pero como dije anteriormente si usas un IDE que no es Visual Studio pero usas su compilador (cl.exe, link.exe, nmake.exe), hasta los momentos no he podido incrustar el archivo manifest ya sea pasando un parametro al vinculador (link.exe) o usando el Makefile.vc (en el link muestran como hacerlo con un makefile pero no me ha dado resultado :(

Por los momentos se puede hacer usando un archivo .bat que llame al archivo mt.exe, como indican aqui

Si no está realizando una generación incremental (/INCREMENTAL:NO), puede incrustar directamente el manifiesto utilizando una línea de comandos similar a la siguiente como paso posterior a la generación:

Para un ejecutable EXE:

mt.exe -manifest MyApp.exe.manifest -outputresource:MyApp.exe;1


Para una libreria dinamica DLL:

mt.exe -manifest MyLibrary.dll.manifest -outputresource:MyLibrary.dll;2


El ejecutable mt.exe esta en el directorio Bin\x64 de el Microsoft SDKs, este es el contenido del archivo manifest.bat que tengo en el directorio ejecutable:


"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64\mt.exe" -manifest wx64.exe.manifest -outputresource:wx64.exe;1


Y ya luego el porgrama se ejecuta como debe ser:





WX64.rar es el proyecto de ejemplo

La version wxWidgets que use fue la 2.9.2 compilado(compile la solucion wx_vc7.sln que esta en el directorio build\msw con unicode, estatico, release, 64bits, de todas maneras en el makefile veras las opciones y recuerda editar los directorios


Publicado en tttony.blogspot.com

Reacciones:

Instalar Mac OS X Snow Leopard 10.6 en VirtualBox desde Windows 7 x64

jueves, noviembre 24, 2011 · 3 comentarios

Por fin pude instalar el sistema operativo Mac OS X 10.6 Snow Leopard en VirtualBox que por cierto escribo desde el xD

¿Diferencias entre un Mac y un PC?

La principal diferencia entre un Mac y un PC es la interfaz firmware:

  • Basic Input/Output System (BIOS) en los PC
  • Extended Firmware Interface (EFI) en los Mac.

Esta diferencia imposibilita la instalación del sistema operativo Mac OS X en los PC


Como pueden ver en esta imagen:




¿Que tuve que hacer para instalarlo?

Bueno, este es mi PC:

Intel Core i5 2500K
MSI P67A GD65
HIS 6950
4GB RAM

No es necesario descargarse una version modificada de Mac OS X **, en mi caso la descargue de taringa gracias al usuario malibumanya en este post (debes estar registrado), me descargue la version 10.6 Snow Leopard que pesa unos 6.58GB, si consigues una version mas actual mejor, pero como esa version es una imagen original del DVD de Snow Leopard te la recomiendo 100%, ademas viendo que se puede actualizar a 10.6.8 ya luego puedes actualizarlo a 10.7 Mac OS X Lion (como minimo debes tener 10.6.6 para actualizar a 10.7 Lion)

** NOTA: No se si las versiones modificadas para trabajar con Intel/AMD funcionan, esas versiones son solo para instalarlas directamente en la PC sin necesidad de virtualizar


¿Que se necesita?

- Que tu procesador soporte virtualizacion Intel VT-x/AMD-v, para saber si lo tienes activado puedes usar CPU-Z





He encontrado una aplicacion mejor para detectar si tienes des/activado la virtualizacion, se llama VirtualChecker

***Esta caracteristica puede estar deshabilitada asi que la puedes habilitar desde la BIOS***

- *** Descargar iBoot 3.2(debes estar registrado), esta aplicacion emula el EFI de un Mac
- Descargar VirtualBox la version actual al escribir este es VirtualBox 4.1.6
- Tambien debes descargarte el extensionPack (Esto es muy IMPORTANTE ya que ayuda con el USB)
- Si te descargastes la version original del Mac, debes convertir esa imagen ISO de Mac en una imagen ISO que VirtualBox pueda leer, con esta utilidad

*** NOTA: existen otras utilidades que puede ayudarte a iniciar Mac OS X (modificado o no) en VirtualBox, pero mucho depende de la PC que tengas, existe una utilidad llamada empireEFI que tambien ayuda a la instalacion de Mac OS X


Procedimientos para la instalacion:

Crea una maquina virtual:

- Abre VirtualBox
- Click en Nueva
* Nombre: Mac OS X (escribe el que quieras)
* Sistema Operativo: Mac OS Server
- Click (en la parte izquierda) en Sistema
* Memoria base: 1500MB o 2000MB
* Orden de arranque:
1. CD/DVD-ROM
2. Disco duro
* Chipset: ICH9
* Habilitar IO APIC
* Habilitar dispositivo apuntador absoluto
- Click en la pestaña Procesador
* Procesador(es): 2
* Habilitar PAE/NX
- Click (en la parte izquierda) en Pantalla
* Memoria video: 128MB
* Habilitar aceleracion 3D
- Click (en la parte izquierda) en Almacenamiento
* Controlador IDE: (agrega una unidad de CD y selecciona el iBoot-3.2 previamente descargado)
* Controlador SATA: (crea un disco de 20GB con expansion dinamica)
- Click (en la parte izquierda) en Audio
* Controlador de audio anfitrion: Windows DirectSound
* Controlador de audio: Audio Intel HD
- Click (en la parte izquierda) en Red
* Conectado a: Adaptador puente (aqui hay varias opciones prueba la que mejor te va)
* Nombre: (escoge el adaptador de red que tengas activado en windows)
- Click (en la parte izquierda) en USB
* Habilitar controlador USB
* Habilitar controlador USB 2.0 (EHCI)

- Listo!!(por ahora) click en Aceptar

Siguiente paso:

- Inicia la maquina virtual de Mac OS X
- Te aparecera un manzanita roja y en el centro un icono iBoot
- iBoot se ha cargado en la memoria, ahora debes cargar la imagen ISO de Mac OS X previamente descargada y convertida con dmg2img
- En la ventana de la maquina virtual haz click en el menu que esta situado en la parte superior izquierda en Dispositivos -> Dispositivos CD/DVD -> Seleccionar un archivo de disco virtual de CD/DVD: Busca y selecciona la imagen de Mac OS X (no te olvides de convertirla con dmg2img de lo contraio no abrira y te arrojara un error)
- Espera unos 5 segundos y presiona la tecla F5 y te aparecera algo como: Mac OS X install DVD
- Selecionalo y presiona Enter
- Alli ya deberia de aparecerte la pantalla de instalacion
- Sigue los pasos de instalacion y listo!!

Este post se actualizara

Publicado en tttony.blogspot.com

Reacciones:

Extraer icono de un ejecutable en C# y VB.NET

jueves, agosto 11, 2011 · 0 comentarios

C#:



// Extraer el icono de la misma aplicacion
this.Icon = Icon.ExtractAssociatedIcon(Application.ExecutablePath);
// O de otra
this.Icon = Icon.ExtractAssociatedIcon(@"C:\dev\app\ejecutable.exe");


VB.NET:


' Extraer el icono de la misma aplicacion
Me.Icon = Icon.ExtractAssociatedIcon(Application.ExecutablePath)
' O de otra
Me.Icon = Icon.ExtractAssociatedIcon("C:\dev\app\ejecutable.exe")



Publicado en tttony.blogspot.com

Reacciones:

Video: Las dimensiones

domingo, julio 31, 2011 · 0 comentarios

He encontrado un video de dos partes muy interesante en youtube que explica de una forma simple lo que son las dimensiones:

Primera parte:




Segunda parte:




Y si no lo entendieron bien, aqui les dejo un link donde sus ejemplos son excelentes


Publicado en tttony.blogspot.com

Reacciones:

Convertir/abrir archivos .dmg en .iso en Windows

sábado, julio 23, 2011 · 0 comentarios

En Mac OS X las imagenes de CDs son en archivos .dmg, si deseas por ejemplo abrir esas imagenes en Windows existen tres opciones:

1. Descargar esta aplicacion llamada dmg2iso o dmg2img

Uso:

dmg2img [-s] [-v] [-V] [-d] []


Ejemplo:
dmg2img imagen.dmg salida.iso


2. Con PowerISO puedes convertirlo a una imagen .iso
3. Abrir el archivo .dmg con 7zip


Publicado en tttony.blogspot.com

Reacciones:

Lista de desinstaladores de antivirus

viernes, julio 22, 2011 · 0 comentarios

He hecho un recopilacion de links para descargar las herramientas de desinstalacion de antivirus:

Utilidades:

IObit Uninstaller

RevoUninstaller

AppRemover (aplicaciones soportadas)

Unlocker (100% recomendado) Cierra aplicaciones que esten en uso

Herramientas de desinstalacion:

Norton Removal Tool

McAfee Consumer Products Removal tool (ingles)

Kaspersky

AVG Remover

Trend Micro (ingles)

WebRoot (ingles)

BitDefender (ingles)

ESET

Avast

Avira


F-secure (buscando...)


Panda


Live One Care (buscando...)


Comodo (ingles)

Lavasoft AdAware (pasos para desinstalar, en ingles)

** Es posible usar el programa RevoUninstaller

Sophos (por ahora no tienen una utilidad para removerlo, en ingles)

SuperAntiSpyware

SuperAntiSpyware (x86/32) (descarga directa)
SuperAntiSpyware (x64) (descarga directa)

ZoneAlarm (paso a paso pero algo fastidioso, en ingles)

ZoneAlarm Cleaner (descarga directa) (NO FUNCIONA)

Microsoft Security Essentials

Pasos para desinstalar Microsoft Security Essentials: (ingles)

1. Download the MSE installer for your Operating System from the Home Page: http://microsoft.com/security_essentials

2. Save the file to your Desktop. This will ensure that you can find it easily after the download is done.

3. Now press the Windows Key and R all at the same time. This will open the RUN dialog box.

4. Make sure that you delete any entries inside RUN. Now drag the MSE installer into the RUN dialog box.

5. Depending on your Operating System, after dragging the file into RUN it should appear as any of the three below:

"C:\Documents and Settings\[YOUR USERNAME]\Desktop\mssefullinstall-x86fre-en-us-xp.exe"

C:\Users\[YOUR USERNAME]\Desktop\mssefullinstall-x86fre-en-us-vista-win7

C:\Users\[YOUR USERNAME]\Desktop\mssefullinstall-amd64fre-en-us-vista-win7.exe

6. Now put a space in between the whole line and put /U as seen below:

"C:\Documents and Settings\[YOUR USERNAME]\Desktop\mssefullinstall-x86fre-en-us-xp.exe" /U

C:\Users\[YOUR USERNAME]\Desktop\mssefullinstall-x86fre-en-us-vista-win7 /U

C:\Users\[YOUR USERNAME]\Desktop\mssefullinstall-amd64fre-en-us-vista-win7.exe /U

7. Hit OK.


G DATA (traducido del aleman a español)

Norman Security Suite (pasos en ingles)

Microsoft OneCare
(descarga directa)

Dr.Web

Sunbelt CounterSpy (ingles)

Sunbelt CounterSpy (descarga directa)
Sunbelt Vipre (descarga directa)

ACTUALIZADO: 22/07/2011


Publicado en tttony.blogspot.com

Reacciones:

Saber el tipo de variable en C/C++

martes, julio 12, 2011 · 2 comentarios



// No me salen los signos mayor que y menor que aqui en blogspot no se porque
// Asi que cambien

#include "iostream"
#include "typeinfo"

int main()
{
wchar_t *strCadena = L"Hola a todos!!";
cout << typeid(strCadena ).name() << endl;

return 0;
}



Salida:

wchar_t *



Publicado en tttony.blogspot.com

Reacciones:

Acerca de mi

En este blog tratare en lo posible de publicar experiencias personales de la vida cotidiana relacionada con la tecnologia y la programacion tales como:

PHP & MySQL
VB.NET, C#.NET
C/C++

Jugar ajedrez

Juega ajedrez en ChessCube.com


Online chess
Juega ajedrez online en chessworld.net



CU.CC: Free Domain Registration + FREE DNS Services

Consigue un dominio tunombre.co.cc gratis!!

Consigue un dominio .co.cc gratis!!