.NET o no .NET, esa es la cuestión

Artículos, comentarios, noticias e ideas sobre la programción .NET y nativa, generalmente sobre C++ y C++/CLI, aunque siempre habrá un poco de todo.

Ver por etiquetas

Todas las etiquetas » tips (RSS)
Win/MAC: arranque dual y jodimiento de particiones
Os lo juro. Estoy hasta los putísimos cojones de Windows, de MAC y de la madre que los parió a todos. El primero por pensarse que todo le pertenece, incluyendo las particiones HFS+, y el segundo por pensar que todos los usuarios son tontos del culo. No tengo muchas ganas de escribir, así que voy a ser bastante escueto. Escenario: Windows/MAC con Boot Camp y arranque dual. Como Windows asigna las unidades como le sale de los cojones, entro en el Administrador de Discos y las cambio a los valores que...

Publicado: 19/11/2011 13:14 por Rafael Ontivero | con no comments

OS X Lion: Activar la repetición de teclas
Sin muchas ganas de escribir una nueva entrada, voy a poner algo interesante que corrige una de las cagadas de OS X Lion: la repetición de las teclas que llevan caracteres especiales. Como os comenté en la entrada anterior, Apple la había cagado a base de bien con el tema de la repetición de teclas. Supongo que para un usuario Ruso o Báltico, la cosa puede resultarle interesante, pero no para la mayoría del resto del mundo. Si la opción fuera configurable no habría problema: se cambia y ya está,...

Publicado: 31/7/2011 20:38 por Rafael Ontivero | con no comments

GetWindowText() en ropa interior
Justo he empezado a leer The old new thing de Raymond Chen, que es un libro entresacado a partir de las entradas más interesantes del blog del autor . Y me está gustando tanto que lo estoy leyendo como si fuera una novela de aventuras, sección tras sección. En él hay un curioso capítulo que trata de las interioridades de la función de Win32 GetWindowText() que no he podido reprimirme en parafrasearlo aquí. Para aquel que no lo sepa, dicha función devuelve en uno de sus parámetros el título de la...

Publicado: 18/1/2011 21:44 por Rafael Ontivero | con 5 comment(s)

Archivado en: ,,

El RFOG se renueva, por dentro y por fuera
Sí, pese a lo que dijo sobre su MAC, al final se ha comprado un PC que sin ser lo último de lo último, tiene su cosa. El MAC está bien, pero le echa a faltar muchas cosas, muchos programas y otros temas, así que, al final, en lugar de comprarse un MAC PRO, se ha decidido por un clónico. Si os preguntáis qué le ha pasado con su ordenador viejo, no lo hagáis directamente a él, porque va a coger un cabreo de cojones y posiblemente os deje con la palabra en la boca… si no os suelta alguna fresca. Básicamente...

Publicado: 2/12/2010 21:40 por Rafael Ontivero | con 3 comment(s)

¡Los diccionarios personalizados de Visual Assist no funcionan con Visual Studio 2010!
Si tenéis esta estupenda herramienta de Whole Tomato seguro que os puede pasar lo que a mí. En su WEB tienen bien explicado, y clarito, cómo instalar otros diccionarios aparte del inglés que viene de serie. Los diccionarios sirven para que el programa encuentre errores ortográficos en los comentarios y otras partes. Yo suelo escribirlo todo en inglés cuando pico código (en mi macarrónico, inigualable e increíblemente culto inglés...

Publicado: 16/9/2010 18:42 por Rafael Ontivero | con no comments

Archivado en: ,

Detectando fugas de memoria en Visual C++
A veces nos encontramos con que nuestro programa “chorrea” memoria, y hasta hace poco tiempo no había nada tan terrible para un programador como encontrar dónde se producía el problema, máxime cuando se trataba de aplicaciones con múltiples hilos. Hubo una época en la que incluso había herramientas de terceros y analizadores de código para encontrar este tipo de problemas. Pero recientemente (creo que a partir de la versión...

Publicado: 1/7/2010 13:21 por Rafael Ontivero | con no comments

Archivado en: ,,

Qué hacer cuando a Visual C++ se le va la pinza en el editor de diálogos
Supongo que le habrá pasado a más de uno, que está haciendo cosas en el editor de diálogos de Visual C++ y de repente se le va la pinza y deja de funcionar como debe, a veces dando un error que no es un error. Esto normalmente se debe a que hay algo mal en el código fuente que impide al parser actuar debidamente. Quizás hemos añadido una entrada mal en el mapa de mensajes, o en el DDX o simplemente el fichero de recursos esté mal. Pero otras...

Publicado: 17/2/2010 13:25 por Rafael Ontivero | con 1 comment(s)

Archivado en: ,,,

Conversión ANSI a Unicode y viceversa
Seguro que no es la primera vez que te pasa que te dejan una serie de rutinas (generalmente en formato DLL) que reciben cadenas en formato ANSI y tu aplicación está escrita en Unicode, y cuando preguntas si tienen versión Unicode te responden que no y que no la van a tener… Y como no quiero perder mi empleo, voy a parar aquí. Pues bien, existe una forma muy sencilla de pasar cadenas entre ambos formatos sin tener que liarnos con las funciones de conversión...

Publicado: 3/2/2010 12:51 por Rafael Ontivero | con 4 comment(s)

Archivado en: ,,,

Obtener el propio número de versión desde MFC y Win32 (y II)
Hace poco expliqué cómo obtener el número de versión del propio ejecutable desde C++ Builder utilizando la VCL (su biblioteca de clases) y dejé como pendiente el obtenerla desde Win32 o MFC. Como lo he necesitado, he modificado el código y lo presento aquí: TCHAR appName[MAX_PATH]; GetModuleFileName(AfxGetApp()->m_hInstance,appName,MAX_PATH-1); DWORD handle; DWORD size = GetFileVersionInfoSize(appName, &handle); if(size!=0) { TCHAR *buffer = new TCHAR[size + 1]; GetFileVersionInfo(appName...

Publicado: 26/1/2010 13:30 por Rafael Ontivero | con no comments

Vídeo de introducción al MFC Feature Pack de Microsoft en Microsoft
Bueno, como podéis ver, aunque me queden un par de entradas sobre el Kindle, el RFOG sigue en la brecha de sus cosas de C++ y demás zarandajas, que fue el origen de este Blog. El que haya escrito poco sobre mis temas últimamente se debe a que he tenido mucho trabajo y he estado enormemente ocupado... ¿Qué? ¿No te lo crees? Pues yo tampoco, para serte sincero. Esto de las ganas de escribir en el blog va y viene, y unas veces hay más y otras menos, y...

Publicado: 17/6/2009 15:47 por Rafael Ontivero | con no comments

Cómo abrir máquinas virtuales vmWare en ventanas independientes
Esta es una tarea pendiente que llevaba bastante tiempo detrás de conseguir. Quizás lo que cuente aquí sea evidente para todos menos para mi, pero por si acaso -y para que no se me olvide-, voy a dejar constancia de ello. ¿Qué desarrollador moderno no tiene varias máquinas virtuales para hacer sus experimentos y pruebas? Yo al menos tengo una buena espuerta de ellas, y si bien antes usaba Virtual PC, que no es un mal producto ni de lejos, al carecer de soporte...

Publicado: 25/2/2009 16:00 por Rafael Ontivero | con 6 comment(s)

Hemos leído: John Lakos: Large-Scale C++ Software Design
Bueno, realmente no lo hemos leído del todo , ya que nos quedan cien de las ochocientas páginas que componen este mamotreto, pero que si no pasa nada caerán esta noche de forma rápida, ya que son varios apéndices. ¿Por dónde empezar? Uf. Es un libro difícil de leer, no por la prosa, sino por el contenido, altamente –muy altamente- técnico. El autor parte de que ya sabes C++, pero no el C++ que puedas aprender en la escuela, sino...

Publicado: 19/2/2009 17:10 por Rafael Ontivero | con 1 comment(s)

Archivado en: ,,,

La estructura intraducible, I (de Interop y otras yerbas)
A veces resulta curioso cómo algo tan sencillo como mapear una estructura de C en .NET se puede convertir en un algo muy cercano a una pesadilla dependiendo del lenguaje que hayamos elegido para realizarlo. Partamos de la siguiente estructura de C: typedef struct { BYTE byOut[4]; // Outputs [0..3] BYTE byAux; // Aux output } usbOutput; A simple vista es algo muy elemental: un array de cuatro bytes y uno más después. Esto en una máquina Intel en realidad termina ocupando 8 bytes, 4 para el primer...

Publicado: 19/12/2008 20:23 por Rafael Ontivero | con no comments

C++: Insertar un ejecutable dentro de otro… y luego ejecutarlo
Vamos a explicar cómo tomar un ejecutable (o cualquier otro fichero binario), insertarlo dentro de un ejecutable y posteriormente cómo recuperar ese ejecutable embebido, soltarlo a disco y ejecutarlo. El escenario típico es borrar el propio ejecutable que actúa como hospedante, pero seguro que a las mentes calenturientas de mis lectores se les ocurren más aplicaciones. El problema no existía en Windows 95 y siguientes: un programa podía borrar su propio ejecutable y terminar sin ningún problema ...

Publicado: 11/9/2008 17:10 por Rafael Ontivero | con 5 comment(s)

Archivado en: ,,,

Singleton con y sin Singleton
Ahora que están de moda los antipatrones, voy a explicar un patrón que es muy famoso pero que no me gusta absolutamente nada, no por el diseño del mismo, sino por los efectos laterales no deseados que genera. Por ello también voy a explicar otra forma de construirlo que me gusta más, aunque adolece de otras limitaciones. Singleton es un patrón que nos obliga a tener una sola instancia de una clase, es decir, globalmente sólo podremos disponer de un objeto de ese...

Publicado: 3/3/2008 19:20 por Rafael Ontivero | con 21 comment(s)

Archivado en: ,,,

La que os espera... (ji ji)
Hará como una hora que he recibido de Amazon mis últimas adquisiciones, que son los seis libros situados en la parte inferior que se pueden contemplar en la foto que acompaña esta entrada... casi 200 euros en libros, sumados a otros doscientos y pico de varios pedidos anteriores... A los de la foto hay que añadir el "Reverse Engineering" sobre el que he comentado y otro sobre patrones, en los que creo poco, por lo menos tal y como se presentan habitualmente (quizás se deba a que en las...

Publicado: 1/2/2008 11:37 por Rafael Ontivero | con 5 comment(s)

C++/CLI y C# VII: GetLastError en escenarios de interop
Introducción Hay un tema que ha aparecido indirectamente en algunos mensajes del grupo de C# relativo al tema de Interop mediante atributos (que es el único que puede hacer C# y VB.NET), y que desde que estoy leyendo dicho grupo nadie ha advertido o ha tenido algún problema con él, o al menos yo no me he dado cuenta de ello. Cuando uno hace una llamada al API de Win32, muchas funciones devuelven un estado de error a través de un handle inválido o simplemente devolviendo FALSE . Es una consecuencia...

Publicado: 25/11/2007 20:59 por Rafael Ontivero | con no comments

Archivado en: ,,

C++/CLI VI: Delegados e hilos
Esta no va a ser una entrada larga explicando qué es un delegado y cómo hacer cositas con él. Esta va ser una entrada de hombres para hombres, es decir, una entrada en la que explico algo que he leído en C++/CLI in Action y que considero muy interesante y muy cuca. Vamos a utilizar un delegado para crear un hilo... pero sin hilos; voy a explicar cómo utilizar un delegado asíncrono para bifurcar el hilo principal de la aplicación y realizar dos tareas simultáneas. Seguro que más de uno en sus programas...

Publicado: 17/10/2007 19:06 por Rafael Ontivero | con 3 comment(s)

Archivado en: ,,

TIP: Filtrar números en un campo de edición
Si uno quiere aplicar una máscara dentro de un campo de edición, tiene a su disposición el componente MaskEdit, que posee una propiedad llamada Mask y que, asignando ahí una serie de símbolos predefinidos, nos guiará a la hora de qué texto podemos introducir. Perfectamente válida en muchas situaciones, en otras es un engorro de lo más complicado, ya que, aunque la potencia del filtrado es enorme, a veces no nos permite una flexibilidad adecuada. En mi caso no he podido encontrar la máscara adecuada...

Publicado: 2/10/2007 17:56 por Rafael Ontivero | con 1 comment(s)

Al rico video fresquito
Estaba yo aburrido en un lugar de la Mancha oriental, de cuyo nombre sí que me acuerdo pero no quiero citar, cuando trasteando aquí y allí, sin rocín flaco y con la adarga en la casa de campo de mis padres, vi una entrada curiosa por los interneses: Una espuerta de vídeos que enseñan cómo hacer un montón de cosas con las herramientas de Microsoft. Dado que el que suscribe, sin lanza y sin Yelmo de Mambrino, se dedica al mundo del C++, sólo pone el enlace para vídeos relacionados con temas que le...

Publicado: 11/9/2007 17:16 por Rafael Ontivero | con no comments

Archivado en: ,,,

Más artículos Página siguiente >