Buscar en este blog....

Mostrando entradas con la etiqueta problemas. Mostrar todas las entradas
Mostrando entradas con la etiqueta problemas. Mostrar todas las entradas

lunes, 22 de mayo de 2017

Some online programming languages..

For the Code-Catas I'm organizing in the company, I found this site, which allows the users not only to choose a language among a lot of languages, but also to work with projects and files.

This was a "must have" because in the catas we wanted also to try design patterns, and good programming techniques, what sometimes means to use more than just one file.
The idea of using an online tool came because of licensing issues by installing  some languages in the laptops. There were not supposed to be used to develop productive code (code that will be sold) so buying a license just for that was a lot of money and time installing all the languages.

 The page I found is:

https://www.tutorialspoint.com/codingground.htm

Let's see how it work for our purposes!

viernes, 8 de julio de 2011

Error: Clase No Registrada.

Tenía un proyecto en .NET que en una máquina compilaba y corría sin problemas. Pero al querer pasar el proyecto a otra máquina, luego de compilar, me aparecía la siguiente excepción:

Clase no registrada (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))

La solución es simple: además de agregar las referencias al proyecto, debemos hacer click derecho (desde un adminsitrador de archivos) en los archivos DLLs que hemos referenciado, y luego click en "Registrar".

Con eso se soluciona el problema.

S2

martes, 12 de abril de 2011

Instalar AspectJ en NetBeans 6.9.1

English version

Hola. Finalmene, después de horas de intentos, logré copilar AspectJ en NetBeans 6.9.1.
Ahora les muestro la forma de hacerlo. Pero quiero aclarar que no voy a instalar un plug-in de netbeans, sino que voy a mostrar la forma de compilar aspectos en netbeans con AspectJ. Veamos los pasos:

1) Descargar la última versión estable de AspectJ en este sitio.
2) Descomprimir el archivo ".jar" en algún directorio donde pongan librerías. No debería ser en el directorio de librerías del proyecto, ya que quizás quieras usar esta librería en otros proyectos.
3) Crear un proyecto en netbeans, basta con un simple "Java Project".

Ahora, los próximos pasos deben seguirlos en cada nuevo proyecto que hagan:

4) Ir a las propiedades del proyecto, y en el panel de "librerias", seleccionar "Add Jar/Folder". Ahora, seleccionar los siguientes archivos del archivo descomprimido:
  • aspectjrt.jar
  • aspectjtools.jar
  • org.aspectj.matcher.jar

5)Una vez que se agregaron estos archivos, hay que editar el archivo build.xml creado en el directorio del proyecto.
6) Entre los tags <project> y </project> pegar el siguiente código:


<taskdef classpath="/home/ignacio/NetBeansProjects/lib/aspectj/aspectjtools.jar"
resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties"/>

<target name="aspectj">
<echo level="info">--- aspectj (start) ---</echo>
<iajc destDir="${build.classes.dir}">
<inpath>
<pathelement location="/home/ignacio/NetBeansProjects/lib/aspectj/aspectjrt.jar"/>
<pathelement location="${build.classes.dir}" />
</inpath>
<sourceroots>
<pathelement location="${src.dir}"/>
</sourceroots>
<classpath>
<pathelement location="${javac.classpath}"/>
<pathelement location="${j2ee.platform.classpath}"/>
</classpath>
</iajc>
<echo level="info">--- build.xml by Ignacio Rigoni email: {name}.{lastname}@gmail.com ---</echo>
</target>

<target name="-post-compile" depends="aspectj"></target>


De forma tal que el archivo build.xml les quede así:


<?xml version="1.0" encoding="UTF-8"?>

<project name="pruebaAspectJ_nb6.9.1" default="default" basedir=".">
<description>Builds, tests, and runs the project pruebaAspectJ_nb6.9.1.</description>
<import file="nbproject/build-impl.xml"/>

<taskdef classpath="/home/ignacio/NetBeansProjects/lib/aspectj/aspectjtools.jar"
resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties"/>

<target name="aspectj">
<echo level="info">--- aspectj (start) ---</echo>
<iajc destDir="${build.classes.dir}">
<inpath>
<pathelement location="/home/ignacio/NetBeansProjects/lib/aspectj/aspectjrt.jar"/>
<pathelement location="${build.classes.dir}" />
</inpath>
<sourceroots>
<pathelement location="${src.dir}"/>
</sourceroots>
<classpath>
<pathelement location="${javac.classpath}"/>
<pathelement location="${j2ee.platform.classpath}"/>
</classpath>
</iajc>
<echo level="info">--- build.xml by Ignacio Rigoni email: {name}.{lastname}@gmail.com ---</echo>
</target>

<target name="-post-compile" depends="aspectj"></target>

</project>


7) Ahora, modificar las lineas 7 y 14. En la línea 7 hay que especificar la ruta completa del archivo "aspectjtools.jar". Esto se hace donde descomprimiste aspectj. En la línea 14 hay que hacer lo mismo, pero apuntando al archivo "aspectjrt.jar".

8) Eso es todo!

Consideraciones

1) Bajar el archivo aspect{version}.jar, no el archivo aspectj{version}-src.jar.
2) Tener cuidado con las rutas de los archivos, siempre causan problemas!
3) No estoy seguro, pero es posible que las otras lineas que agregaron en build.xml tengan errores. A mi me funcionaron bien, pero puede que esto dependa del proyecto creado, así que si esto les causa problemas, hay que chequear los directorios a los que apunta el resto del archivo, y otras causas posibles de errores.

Espero que esto te ayude. Vuelvan a comentar si anduvo y/o si tienen sugerencias que crean que puede mejorar esto.

lunes, 11 de abril de 2011

Install AspectJ in NetBeans 6.9.1

Versión en español

Hi. First, sorry my English, it's not my native languaje.
Second, after hours trying, I managed to compile with AspectJ in NetBeans 6.9.1
Now I'll show the way to make it possible. But I want to clarify that I wont install a NetBeans's plugin, but it is the way to make it possible to compile aspects in netbeans with AspectJ. Now, let's go on the steps:

1) Download the AspectJ Latest Stable Release, on this page.
2) Unzip de ".jar" file in the directory you like to put your libraries. It should not be in the proyect's lib directory, because you may want to use it in other projects too. You will unzip about 4 ".jar" files.
3) Create a project in netbeans, just a simple "Java Project".

Now listen, you have to follow the next steps in every new project you make:

4) Go to the project's propierties and in the libraries panel, select the "Add Jar/Folder". Now, select this files from the unzipped file:
  • aspectjrt.jar
  • aspectjtools.jar
  • org.aspectj.matcher.jar

5) Once this files were added, you must edit the build.xml file created inside you project directory.
6) Between the tags <project> and </project> paste this code:


<taskdef classpath="/home/ignacio/NetBeansProjects/lib/aspectj/aspectjtools.jar"
resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties"/>

<target name="aspectj">
<echo level="info">--- aspectj (start) ---</echo>
<iajc destDir="${build.classes.dir}">
<inpath>
<pathelement location="/home/ignacio/NetBeansProjects/lib/aspectj/aspectjrt.jar"/>
<pathelement location="${build.classes.dir}" />
</inpath>
<sourceroots>
<pathelement location="${src.dir}"/>
</sourceroots>
<classpath>
<pathelement location="${javac.classpath}"/>
<pathelement location="${j2ee.platform.classpath}"/>
</classpath>
</iajc>
<echo level="info">--- build.xml by Ignacio Rigoni email: {name}.{lastname}@gmail.com ---</echo>
</target>

<target name="-post-compile" depends="aspectj"></target>


So the complete build.xml file can be like this:


<?xml version="1.0" encoding="UTF-8"?>

<project name="pruebaAspectJ_nb6.9.1" default="default" basedir=".">
<description>Builds, tests, and runs the project pruebaAspectJ_nb6.9.1.</description>
<import file="nbproject/build-impl.xml"/>

<taskdef classpath="/home/ignacio/NetBeansProjects/lib/aspectj/aspectjtools.jar"
resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties"/>

<target name="aspectj">
<echo level="info">--- aspectj (start) ---</echo>
<iajc destDir="${build.classes.dir}">
<inpath>
<pathelement location="/home/ignacio/NetBeansProjects/lib/aspectj/aspectjrt.jar"/>
<pathelement location="${build.classes.dir}" />
</inpath>
<sourceroots>
<pathelement location="${src.dir}"/>
</sourceroots>
<classpath>
<pathelement location="${javac.classpath}"/>
<pathelement location="${j2ee.platform.classpath}"/>
</classpath>
</iajc>
<echo level="info">--- build.xml by Ignacio Rigoni email: {name}.{lastname}@gmail.com ---</echo>
</target>

<target name="-post-compile" depends="aspectj"></target>

</project>


7) Now, modify the lines 7 and 14. In line 7 you must specify the "aspectjtools.jar" with the full path. This is where you unzipped aspectj. In line 14 you must do the same, but pointing to the "aspectjrt.jar" file.

8) That's all.

Considerations

1) Use the aspect{version}.jar file, no the aspectj{version}-src.jar file.
2) Be careful with the paths, it always cause problems!
3) I'm not shure, but may be possible that the other lines you added in build.xml could have errors. It worked fine for me, but may be it depends on the project, so if that causes a problem, you should check the dirs, and other possible error sources.

I wish this helps you! Please, come back and comment or suggest if you think this could be improved in any way.

sábado, 9 de abril de 2011

Colorear código fuente en Bolgger con "Syntax HighLighter"

Esto si que me costo encontrarlo, y mas aun hacerlo funcionar. ¿Por que? Porque en la mayoria de las web esta mal explicado, como en esta.

Luego encontré cómo se configura blogger para que realmente funcione esto: es muy facil. Lo pasos son los siguientes:

1º) Modificamos la plantilla de Blogger.
Para esto vamos a Diseño -> Edición de HTML. Ahi buscamos la etiqueta </head>. Y justo una linea encima de esta agregamos el siguiente código:


<!--SYNTAX HIGHLIGHTER BEGINS-->
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/>
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCpp.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCSharp.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushRuby.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushVb.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPerl.js' type='text/javascript'></script>
<script language='javascript'>
SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.config.clipboardSwf = 'http://alexgorbatchev.com/pub/sh/current/scripts/clipboard.swf';
SyntaxHighlighter.all();
</script>
<!--SYNTAX HIGHLIGHTER ENDS-->


2º) Verificar si todo anduvo bien haciendo click en "Ver Blog".

3º) Agregar el código fuente que quieras.
Para esto, cuando estamos editando una entrada, tenemos que hacer click en la pestaña que dice "Edicion de HTML" y ahi agregar las siguientes líneas:


<pre class="brush:java">
Aca va tu codigo en java
</pre>


Donde dice java, ponen el lenguaje que esten usando. Para ver una lista de lenguajes disponibles y como se nombran, vean este link.

Por ultimo, me gustaria recalcar algo. Conviene formatear el codigo fuente, al final de la edición del post, ya que si se hace cambiando el tipo de edición (de "Edicion de HTML" a "Redactar") se pierde el formato de saltos de lineas y espaciados del codigo fuente. Por lo tanto, recomiendo escribir el post completo, y al final poner todo el código fuente que se quiera.

Saludos!

jueves, 7 de abril de 2011

Instalar AspectJ en NetBeans

UPDATE 1: Para compilar AspectJ en NB 6.9.1, leer esta entrada.

Bueno, este es un punto que me tenía un poco molesto porque no encontraba una buena página que describiera cómo hacerlo. Resultó mucho más fácil de lo que imaginé. La instalación no es precisamente difícil, pero creo que nunca está demás mostrar como hace, sobre todo porque lamentablemente el plugin de AspectJ para NetBeans dejó de desarrollarse oficialmente. Ramón Ramos hizo una nueva versión compatible con está versión del IDE, y es ésta versión del plugin la que instalaremos. Bien, vamos:


1º) Instalar el IDE NetBeans 6.1. Probé de instalarlo en Netbeans 6.9.1 pero no me reconocía algunas partes del plugin, y no las instalaba por un problema de versiones. Como no soy muy ducho con esos temas, opté por directamente instalarlo en la versión 6.1. Ahora, si alguien puede instalarlo en una versión más reciente, que comente y lo agregamos a este pequeño tutorial.

2º) Descargar los plugins de AspectJ. Desde la misma página de NetBeans, vamos a la sección de plugins y buscamos en el catálogo todos los plugins que coincidan con "aspectj". Descargamos el más nuevo.

3º) Agregar los plugins a NetBeans. Descomprimimos el archivo descargado del paso anterior en una carpeta temporal. Luego vamos a NetBeans, y al menú "Herramientas | Complementos". Allí seleccionamos la pestaña "Descargados" y agregamos todos los archivos que salieron de la extracción del archivo comprimido. Luego los instalamos y listo.


En este punto ya tenemos instalado el plugin de AspectJ, es decir, ya podemos agregar aspectos a nuestros proyectos. Ahora queda un últimp paso, que es configurar el proyecto que al que queremos añadir aspectos. Esto es muy simple:


1º) Añadir la librería "AspectJ-Runtime". Para esto vamos a las propiedades del proyecto, y en Librerías seleccionamos la pestaña "Compilación". Le damos click a "Añadir librería" y seleccionamos la que se llama AspectJ-Runtime.


Listo, con esto ya podemos empezar a hacer uso de los aspectos en Java bajo NetBeans. Simple, ¿no? A mi me costó al no encontrar una buena página que describiera los pasos. Al final recién di con la que mencioné al principio.

S2!

lunes, 4 de mayo de 2009

Sincronizar carpetas para trabajar en RED

En este post quiero comentar un esquema -y un programa que permite implementarlo- para la sincronización de recursos que nos facilite el trabajo en red.

Hace tiempo que estaba buscando un buen programa para sincronizar carpetas con un servidor en internet. La finalidad era mantener mis archivos actualizados en cualquier equipo que yo quisiera, sin tener que copiarlos y mantener esa actualización "a mano".

Este problema se vio incrementado aún más, cuando comenzamos a hacer trabajos de campo en quipo en la facultad. Por ahi se necesita tener demasiados archivos al alcance de todo el equipo (de unas 10 personas en mi caso) y donde no resulta cómodo pasarse los archivos por mail, pendrives, o de alguna otra manera. Es decir, lo que se busca es que todo este al alcance de todos sin hacer esfuerzo.


Generalmente, cada intgrante del equipo tendra su propio equipo para trabajar (pc, portatil, etc) y dentro de su equipo tendrá un directorio para cada proyecto. ¡Que bueno si ese directorio puediera compartirse con el resto del equipo!

Bueno... de hecho, se puede: Windows XP lo permite. Pero hay una gran contra: sólo un equipo puede compartir su recurso (una carpeta por ejemplo), y todos los miembros tendrán que acceder a esa carpeta para leer o modificar archivos. Pero lo peor, es que ese equipo tendrá que estar encendido y conectado a la red cada vez que un integrante "remoto" quiera acceder a él para trabajar. Con esto desechamos el "compartir carpetas" de windows y lo enviamos a la papelera de reciclaje ;)

Después de probar bastante (y buscar muchisimo), di con un programa que hasta ahora no me da motivos de queja: Allways Sync. Es licencia freeware, muy fácil e intuitivo. Solo hay que tener claro qué es lo que se quiere hacer (como pasa siempre, ¿no? xD).

Ahora explico con un esquema cual era mi objetivo para trabajar:


El funcionamiento de este esquema es adecuado porque que cualquier equipo puede realizar modificaciones sobre sus carpetas. Estas carpetas se sincronizacn con el servidor -probablemente un servicio de FTP- y cada uno de los otros equipos, cuando se encienda -o si ya está encendido- sincronizará con el servidor y actualizará los archivos. Algo así:


Con este programa que mencioné esto es posible, e incluso el mismo software da muchas más posibilidades que no voy a describir pero están en la página del mismo.

Su configuración para este esquema es muy sencilla, básicamente:

Instalamos All Sync en cada equipo, y por cada equipo realizamos los siguientes pasos.

  1. Seleccionamos el "origen" y el "destino". El origen será la carpeta de nuestro equipo que queremos mantener sincronizada con el "destino", que en este caso será el sitio FTP.
  2. Configuramos el acceso al servidor FTP (servidor, usuario, password, etc).
  3. Opcionalmente, podemos ir a las opciones de esta tarea y marcar la opción de que se realice una sincronización cada vez que se modifique algún archivo e incluso que se haga una sincronización cada cierto tiempo.
  4. Listo!
Increiblemente, es asi de sencillo. Hay muchas más opciones, pero esas son las principales para este esquema.

Las ventajas principales son:
  • No es necesario que un equipo en particular esté prendido para trabajar, ya que los datos están en el mismo equipo que los necesite.
  • Si un equipo o el servidor falla y pierde sus archivos, existen copias en los otros equipos.
  • Es posible trabajar remotamente sin necesidad de preocuparse por nada, excepto porder acceder a la red de comunicaciones (en este caso se supone que es internet).
  • Aún sin una conexión, se puede realizar todos los cambios que se desee, y éstos se actualizaran en el resto de los nodos de trabajo (equipos, servidor, etc) cuando haya una conexión disponible.
La desventajas principales son:

  • Se requiere una buena política de versionado y posiblemente backups para evitar que un equipo realice modifiaciones indeseables (borrado de archivos, actualizaciones erroneas, etc)
  • Si no se cuenta con una conexión a la red de comunicaciones, no se pueden actualizar los archivos de forma indemdiata.
Espero que ésto les sea de utilidad.

martes, 16 de septiembre de 2008

Problema para actualizar registro en Access: "La operacion debe usar una consulta actualizable"

Estoy usando access 2007 para un proyecto bastante pequeño, y estoy trabajando en dos maquinas al mismo tiempo, utilizando una carpeta sincronizada. Con la PC que comence el trabajo podia insertar, eliminar y actualizar registros tranquilamente. Pero al tiempo, a esa máquina se le quemo la fuente, asique empecé a usar la otra.

Resulta que en esta otra, podía ingresar y eliminar registros sin problema, pero al momento de querer actualizar un registro, me surgio el siguiente error de la base de datos:


"La operación debe usar una consulta actualizable"
Chan! Por supuesto, como siempre el tiempo juega en contra, no podía perder tiempo asique me dedique inmediatamente a forear. Las respuestas mas comunes, hacían alusión a un tema de permisos sobre el archivo de access, el .accdb, o .mdb (versiones anteriores). Intente modificarlo, pero no tenía sentido porque tenia todos los permisos habilitados. Tambien hacían referencia a cambiar los permisos de toda la carpeta, pero tampoco tenia sentido por la misma razón.

Finalmente, me llamó la atención el nombre del equipo que figuraba en la ventana de los permisos, ya que este diferia en una sola letra respecto del de la descripción del equipo.

(La descripcion del equipo la podemos ver haciendo click derecho en "Mi PC", "propiedades" y "Nombre del Equipo"; y para ver el nombre, hacemos click ahi mismo y ponemos "Cambiar").

Bueno, opté por corregir uno (que estaba mal escrito) para que coincidieran ambos, reincié mi Windows XP y funcionó perfectamente.

No pensé que el error viniera por ese lado... no se realmente que pudo ser. Pero anduivo! ¡Se agradece luz en el tema! ;)

domingo, 18 de mayo de 2008

Instalar Windows XP en ACER ASPIRE 5520

Con la adquisición de esta notebook, pude por fin comprobar lo que significa estar en presencia de Windows Vista más de una hora (aunque efectivos fueron solo 30 minutos, porque hay que descontar el arranque y el apagado ;) y realmente me decidí a instalar XP, pese a conocer las recomendaciones sobre lo difícil que podía ser conseguir los drivers. Pero finalmente, no era para tanto. Al menos con la Acer.

Es cierto que es un problema encotrar los drivers, pero es porque en ningún lado aparecen como "Drivers para XP". De hecho, en la página de Acer donde uno usualmente los buscaría, solo figuran los de Windows Vista. (Véase: http://support.acer-euro.com/drivers/notebook/as_5520.html)

Pero por suerte, en un foro chileno que no recuerdo ahora cual era, un chabón tenía el mismo problema y había encontrado la página que solucionaba todo:

http://www.acerpanam.com/flex/acerdrivers/bin/drivers.html?CFID=5488433&CFTOKEN=61523158

O sino:

http://gd.panam.acer.com/home/


Una vez que entran, hay que seleccionar los daros correspondientes de producto y modelo (Notebook y Aspire 5520 para este caso) y aparece la lista de drivers.

Lo lindo de esto, es que cuando seleccionamos un elemento de la lista, al final de la página nos da información referida al driver seleccionado. Y entre esa información, el sistema operativo al que corresponde. Así es como me enteré de que SÍ existen los controladores para XP.

Bueno, lo que hice fue bajar todos lo de XP. Los copié en donde tengo mi trsite XP recién instalado. (Ojo, los bajé desde otra máquina porque la notebook quiere hacer andar la placa de red sin su controlador nVIDIA).
Ahi los ejecuté. Pero me encotré con que uno de ellos, llamado 03.VGA_NVIDIA_v6.14.11.145_XP32 no lo podía instalar porque faltaba el archivo nv4_mini.sy_ y a pesar de que archivo estaba existía y todo, no lo reconocía.

Asique preferí dejar la instalación de ese driver para el final, e instalé las demás.

Al final, cuando tuve que vovler a encarar al driver de video y me volvió a tirar el error, lo que hice fue lo siguiente: hice una copia del driver en el escritorio, y luego donde me pide "EXAMINAR", le dije que buscara en ese directorio, donde además vemos que si está el archivo que nos pide. Después, sigue solo sin problemas.

Una vez hecho esto, reconfugré la pantalla y ya tenía todo andando a la perfección.

En realidad, lo difícil, obviamente consiste en encotrar los drivers necesarios. Pero por suerte di con ese foro chileno que me salvó las papas. :)

domingo, 26 de agosto de 2007

Componente Shockwave Flash en .NET

Éste fue un problema que me surgió cuando que intenté agregar un componente Shockwave Flash en Visual Studio 2005.

Ésto debería tradicionalmente ser así:

1) Hacemos click derecho sobre el Cuadro de Herramientas, y seguidamente, click en "Elegir Elementos".
2) A continuación, seleccionamos la pestaña "Componentes COM" y buscamos el componente que queremos insertar (en nuestro caso: Shockwave Flash Object).

A partir de aquí, en teoría, al crear el objeto sobre el formulario se debería agregar el componente en las referencias automáticamente. Sin embargo, esto no sucede así.

Al menos, en parte. Ya que intenta referenciarlo, pero larga el siguiente error:

"No se pudo importar el control ActiveX. Asegúrese de que está registrado correctamente."

Busqué en miles de foros, y no encotré la solución, lo único que logré fue especificar el problema (lo cual no es poca cosa). Ese problema no existe en Visual Studio 2003, solo en la versión 2005. Cuál es el error precisamente, no lo sé. Lo único que encontré entre un proyecto que creaba Visual Studio 2003 y uno que creaba Visual Studio 2005, era que el primero, copiaba un archivo llamado "AxInterop.ShockwaveFlashObjects.dll" en el directorio "obj\debug" del proyecto; y VS2005 no lo copiaba. Lo que si copiaba VS2005 era un archivo llamado "Interop.SWDIRLib.dll" que VS2003 no lo copia. Supongo desde ya que esto es un bug de la versión 2005.

Lo que hice, fue copiar el archivo "AxInterop.ShockwaveFlashObjects.dll" en el directorio antes mencionado; y una vez terminado esto, en el menú Proyecto -> Agregar Referencia -> Examinar, lo seleccionamos.

Cabe destacar que por una, u otra razón que desconozco, el archivo no se encuentra en la PC, xq lo que hay que buscarlo en internet. Les dejo a continuación el link para descargarlo:

LINK

Envíen cualquier sugerencia, comentario, o duda que surja. Saludos.

martes, 21 de agosto de 2007

Ingresar como root en modo gráfico.

Hace un par de días que instalé el Ubuntu 7.04 con GNome y ya metí la pata.

Tengo 3 usuarios:

nacho: como soy el instalador del SO, tengo muchos permisos.
root: el super usuario, grosso.
carlos: para mi viejo, con cero permisos. Solo puede jugar y ver losandes.com ;)

El tema es que estaba tratando de modificar los permisos de 'nacho' para poder escribir en los discos duros (exactamente el '/media/sda1' qué es donde tengo Windows XP, para poder guardar archivos ahí y/o modificar los ya existentes) y ahí llegó el problema: Me saqué todos los permisos que tenía.

¡¡Entonces, no podía hacer practicamente nada!! ¡Estaba al nivel de mi viejo! Entonces quise revertir la situación entrando como 'root', pero ¡oh, sorpresa!,
Mi querido Ubuntu no me dejaba entrar como root en el modo gráfico.
Aparecía un mensaje que decía algo así como:

"Usuario 'root' no puede ingresar desde esta pantalla"


Asique intenté entrar desde la consola pero no tenía idea. Después de indagar por algunos foros y probar (y arriesgar) mucho, lo conseguí. También noté que mucha gente necesitaba saber esto, asi que por eso lo publico.

Lo que hay que hacer es, desde la Terminal (o consola), tipear:

$ su

Entonces te pregunta la pass (que supongo que es la del root).

Una vez que la ingresás y te da el ok, te parece algo asi:

root@blabla:-$

Entonces escribis:

$ startx -- :1

Obviamente los '$' no se escriben...

Con eso, logramos acceder como 'root' al modo gráfico.

Pero también leí en varios foros que es 0% aconsejable hacerlo, ya que se tiene control total sobre el sistema y puede ser peligroso si no sé es un arduo conocedor del tema.

Por otro lado, si los permisos lo permiten, se puede habilitar al root a entrar al modo gráfico haciendo:

1º) Sistema -> Administración -> Ventana de Entrada
2º) Pestaña: Saguridad -> "Permitir Entrada Local al Administrador del Sistema"
3º) Listo!

Espero que les haya servido mi experiencia y publicación de la misma.

Saludos!!

miércoles, 15 de agosto de 2007

Problema en MySQL desde .NET 2.0

Hola. Coméntoles que me encuentro actualmente desarrollando un proyecto bastante interesante para la H. Legislatura de Mendoza. Es un proyecto grande, pero yo sólo estoy en la parte de Software.

Como plataforma, estoy desarrollando en .NET, utilizando C#. La aplicación en cuestión, hace consultas frecuentemente (cada medio segundo aprox.) a la base de datos (MySQL).

En esta aplicación me conecto con un servidor de base de datos MySQL a través del conector oficial {MySQL ODBC 3.51 Driver}, la cadena de conexión que utilizo es:


DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; PORT=3306; DATABASE=dbint; UID=root; PWD=********;


Pero obtuve un gran error: Cuando dejo el programa corriendo (y por ende, haciendo consultas cada medio segundo), surge un error que dice:

ERROR [HY000] [MySQL][ODBC 3.51 Driver]Can't connect to MySQL server on 'localhost' (10048)

Esos errores que uno no tiene ni la más mínima idea por que aparecen. Busqué en algunos foros y una de las mejores respuestas, fue esta página. Igualmente, indagando solo, creo que el problema era que eso que yo llamo "una consulta" son en realidad, más de 100 consultas, y cada una en medio segundo. Supongo que la dB se caía por no soportar tanto tráfico. Supongo que era algo así como que las consultas se iban "superponiendo", es decir, se abrían nuevas consultas antes de cerrar las anteriores, y esto generaba el error.

Lo que hice (previo a conocer la existencia de esa web que linkee recién) fue aumentar el intervalo de tiempo de consulta a la base de datos a 1 segundo. El resultado fue notable: NO HUBO MÁS ERROR.

Igualmente, voy a volver a los 500ms de tiempo que tenía antes y probar la solución que propone la web, aunque estoy seguro que lo mejor es pegarle una revisada al código que hace las consultas y optimizarlo para evitar ese "revalsamiento" de consultas.


Saludos!