Programación General > Visual C++

 Problema Apis

<< < (2/4) > >>

Eternal Idol:
Eso que cambiaste no tiene nada que ver, lo solucionaste usando el A que fuerza al programa a llamar a la funcion de tipo ANSI. En realidad para casi todas las funciones de Windows que reciban una cadena como parametro existen dos funciones una terminada en A (ANSI) y otra terminada en W (WIDE que es Unicode en este caso). El FindWindow es un define que cuando esta definido UNICODE "apunta" a FindWindowW como en este caso, lo que hacemos para solucionarlo es obviar el define y llamar a la funcion directamente.

En las propiedades del proyecto tenes que cambiar donde dice Character Set, Use Unicode Character Set por Use multibyte-character set. Eso esta en las propiedades generales y no en las de C/C++.

Eternal Idol:

--- Cita de: "JuanK" --- Por funciona al compilarlo con UNICODE =NO, y porque no funciona al compilarlo con UNICODE=SI???


No me acabo de aclarar con eso :huh:
--- Fin de la cita ---
En este caso lo compilo siempre con UNICODE definido. Las cadenas ocupan 2 bytes por caracter en Unicode en vez de 1 como en ANSI. Y cuando llamas a las funciones de Unicode tenes que pasarles una cadena de Unicode y cuando llamas a las de ANSI una de ANSI ... El problema aca es que tiene definido UNICODE entonces por defecto, como explique antes, llama a FindWindowW que pide una cadena necesita una cadena Unicode y no una ANSI ("CADENA" es ANSI mientras que L"CADENA" es Unicode).

JuanK:
eso lo explica todo, ahora si me quedo claro, no sabia de eso en unicode  :wacko:


gracias.!!

Eternal Idol:

--- Cita de: "JuanK" --- eso lo explica todo, ahora si me quedo claro, no sabia de eso en unicode  :wacko:


gracias.!!
--- Fin de la cita ---
Basicamente eso es Unicode  B) Windows NT esta desarrollado para trabajar internamente con Unicode y cada vez que se hace una llamada de tipo ANSI esa cadena es transformada en Unicode mucho antes de llegar al Kernel (de hacerlo claro).

robokop:
Bien  :D  ahora ya me funciona bien y tambien funciona perfecto otros codigos que antes no me servian .
Pero otra duda cuando lo compilo en modo debug no da errores ,pero asi no me gusta ya que deja el programa algo pesado y si lo compilo en modo release me da errores que podria hacer hay ?
gracias por todo.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa