-
Antes de empezar, y de que me deis caña de la buena, quiero decir que todo esto son elucubraciones personales mías y que lo más seguro nadie esté de acuerdo conmigo. Dicho esto, vamos al meollo del asunto. Ya sabéis que me he ido distanciando un poco de la plataforma...
Enviado a
.NET o no .NET, esa es la cuestión
por
Rafael Ontivero
a fecha de
3/7/2012
Archivado en:
Archivado en: c++,windows,interop,rationale,C#,lenguajes,Biblioteca de C++,C++ Builder,MAC,QT,Apple,Interoperabilidad
-
Dicho así, a bote pronto, puede parecer una tontería, pero no lo es. Los que hayan estado probando las diferentes versiones alfas, betas y omicrones de Visual C++ 11 se habrán dado cuenta de que no generan código para Windows XP. El motivo no era otro más que se han hecho una serie de mejoras al runtime...
-
Leo en Twitter un par de preguntas más que curiosas sobre dos cosas que se dan por supuestas en el desarrollo orientado a objetos. Aunque una de ellas está formulada al revés, yo aquí le voy a dar el sentido correcto, e intentaré responder, en la medida de mis conocimientos...
-
Bueno, esta es otra de esas entradas nada técnicas y personalísimas, en la que voy a contar varias cosas, respoder a las inquietudes que asertus ha comentado en la entrada anterior . Generalmente los casos de éxito se suelen airear a lo grande, a bombo y platillo, con grandes titulares...
-
Quienes hayan seguido mi podcast sobre Hilos en .NET se habrán dado cuenta de que la concurrencia bien entendida no es trivial ni de lejos, y eso que yo sólo cubrí los aspectos más básicos y por separado, vistos uno a uno. Quien no lo haya hecho y sienta curiosidad...
-
El número 57 de la revista dotNetManía (que se corresponde a marzo del corriente) publica mi artículo de título homónimo a esta entrada que, como su nombre indica, repasa ciertas formas de Interop entre C# y una DLL nativa, así como C++/CLI y la misma DLL. Entre...
-
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...
-
Os cuento una histora que me ha ocurrido esta misma tarde. Aparte de emocionarme al ver el nuevo iLiad con pantalla A4 (gracias, Alfredo Novoa) y de pensar que, pese a haber corregido varios defectos (ahora lleva para pasar página en tres de los cuatro lados), supongo que la velocidad leyendo Mobipocket...
-
Basta que uno plante un circo para que le crezcan los enanos, y como se puede comprobar si uno mira al jardín de la vecina esa que está tan buena, a veces a uno le crecen sin estar bueno ni haber montado la carpa. No sé en qué pensarán estos señores de Microsoft, pero que el bug venga arrastrado desde...
-
Mañana por la tarde se va a desarrollar un evento por difusión Web que seguro no va a dejar indiferente a nadie, ya que, aparte del tema, dos pesos pesados del desarrollo van a pelearse para dirimir cuál de los dos lenguajes estrella del .NET es el mejor. El que quiera suscribirse al evento, que no es...
-
Las propiedades en C++/CLI tienen un tratamiento similar, por no decir idéntico, con su equivalente en C#, con la diferencia de que son algo más potentes, no porque lo hayan hecho así, sino por las características notacionales del C++. El concepto de propiedad no nace con el .NET, sino que existe desde...
-
Acabo de leer en uno de los blogs a los que estoy suscrito un tema que considero bastante curioso e interesante, no porque sea una cosa que se vaya a utilizar todos los días (de hecho desaconsejo su uso), pero tiene su aplicación y su motivo. El artículo se titula " Sharing enums across C# and C...
-
Charles Petzold autor de varios libros que son 'la biblia' para los desarrolladores en plataforma Windows, ha escrito un libro, .Net Book Zero (en inglés) que se puede descargar gratuitamente en pdf o xps , en el que guia a los programadores de C/C++ hacia el desarrollo en plantaforma .Net con C#. Por...
-
Con la liberación de Microsoft Visual Studio 2005 IDE Enhancements hace pocas semanas, los code snippets han llegado a Visual C++. Para insertarlos podemos usar los nuevos menus contextuales que nos aparecerán: La otra opción para insertarlos es escribir el identificador del Code Snippet y pulsar dos...
-
Es una pregunta que me hacen o leo frecuente. Utilizando el Api de Win32, lo mejor es usar la función EnumProcs que esta disponible en este articulo de la Knowledge Base de Microsoft. En el mundo .net es algo más sencillo, basta utilizar el método GetProcesses de la clase Process . Tambien hay una entrada...
-
El Just-in-time debugger básicamente es un hook, que cuando algún programa falla, por ejemplo, con una excepción no controlada o una violación de acceso a memoria, hace que el depurador que tienes instalado y regitrado en la máquina se active. Tambien es cierto que en ocasiones puede ser un poco molesto...
-
Aqui va una función que permite averiguarlo: //Comprueba que el usuario que inicio el proceso sea administrador bool UserIsAdmin(void) { bool bSuccess = false; //Obetenemos el token del proceso HANDLE hToken = NULL; if ( !OpenProcessToken ( GetCurrentProcess ( ), TOKEN_QUERY, &hToken ) ) return false;...
-
En las aplicaciones nativas un enfoque que se utiliza bastante es el de tener una dll de recursos para cada idioma que se desea soportar. Esta dll se carga dinamicamente con LoadLibray (o AfxLoadLibray en MFC) y se establece como origen de los recursos. Para saber como crear esta dll lee Creating a Resource...
-
Tienes que usar las funciones del API de Win32 habituales para trabajar con ficheros, OpenFile, ReadFile, WriteFile, expecificando como nombre de fichero el nombre del puerto que quieres usar "LPTx" o "COMx". Este articulo sobre el tema es muy intersante Serial Communication in Windows By Ashish Dhar...
-
Si estas programando una aplicación nativa (en C++) debes usar la función SHGetFolderPath, si quieres añadir un subdirectorio al valor devuelto (p.e.: C:\Archivos de programa\Tu applicacion) lo puedes hacer directamente con la función SHGetFolderPathAndSubDir. Estas funciones tienen como requisito Windows...