<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>xailer.info (esp)</title>
	<atom:link href="http://xailer.info/esp/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://xailer.info/esp</link>
	<description>Official Xailer WebBlog site</description>
	<lastBuildDate>Thu, 17 May 2012 11:56:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Nueva versión de Xailer 2.6</title>
		<link>http://xailer.info/esp/?p=864</link>
		<comments>http://xailer.info/esp/?p=864#comments</comments>
		<pubDate>Thu, 17 May 2012 11:04:01 +0000</pubDate>
		<dc:creator>Ignacio OZ</dc:creator>
				<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Xailer 2.6]]></category>

		<guid isPermaLink="false">http://xailer.info/esp/?p=864</guid>
		<description><![CDATA[¡¡Nueva versión de Xailer disponible!!
Ya está disponible la nueva versión de Xailer 2.6  que incorpora importantes mejoras y correciones sobre la versión 2.5.
En primer lugar comentaros que el IDE ha cambiado completamente de apariencia; se han modificado completamente todas las imágenes e iconos de la aplicación y se han incorporado muchas nuevas. Esperamos que os [...]]]></description>
			<content:encoded><![CDATA[<p>¡¡Nueva versión de Xailer disponible!!</p>
<p>Ya está disponible la nueva versión de Xailer 2.6  que incorpora importantes mejoras y correciones sobre la versión 2.5.</p>
<p>En primer lugar comentaros que el IDE ha cambiado completamente de apariencia; se han modificado completamente todas las imágenes e iconos de la aplicación y se han incorporado muchas nuevas. Esperamos que os guste.</p>
<p>En lo que respecta al IDE , el sistema de &#8216;plugins&#8217; está completamente operativo. Os recomendamos utilizar los plugins que hemos incluido a modo de ejemplo (los fuentes de los mismos se han incluido en \samples), como &#8216;Quickfind&#8217;, &#8216;MoreEdit&#8217; y &#8216;MiniBrowse&#8217;. Y os animamos a que hagáis vuestroso propios plugins y si os apetece los compartáis con el resto de la comunidad Xailer subiéndolo a nuestra web de descargas en <a href="http://www.xailer.com/download/">http://www.xailer.com/download/</a></p>
<p>Otra mejora en el IDE que muchos aplaudiréis seguramente es la posibilidad de pedir confirmación cuando se vaya a borrar un control de un formulario pulsando la tecla &#8216;Supr&#8217;.</p>
<p>A nivel general se han hecho grandes mejoras y nuevos controles, de los cuales destacaría los siguientes:</p>
<ul>
<li>Nuevo control <strong>TCefBrowser </strong>basado en Chromium pero completamente nativo, para integrar un navegador Web en su propia aplicación. (sólo disponible en versión Enterpise)</li>
<li>Nuevo control <strong>TLabelEx </strong>con funcionalidad extendida tipo HTML</li>
<li>Soporte nativo a través de GDI+ de imagenes en formato PNG y TIFF por lo que ya no es necesario incluir FreeImage.dll</li>
<li>Soporte de imágenes transparentes (sólo PNG) en propiedad TControl:oBkgnd</li>
<li>Más posibilidades para establecer la posición de imágenes de fondo con las propiedades nBkgndMode y nBkgndMarginX y nBkgndMarginY</li>
<li>Soporte de gradientes en gran cantidad de controles y formularios con las propiedades nGradient y nClrPaneEnd</li>
<li>Nueva propiedad TPrinter:nPdfPrinter que permite establecer la existencia de una impresora virtual tipo PDF . Cuando esta propiedad tiene valor en la ventana de previsualización de impresión se activará directamente el botón de enviar a PDF. En el arranque de vuestras aplicaciones Xailer buscará alguna impresora que contenga los caracteres &#8216;PDF&#8217; y si lo encuentra asignará la propiedad nPdfPrinter a dicha impresora.</li>
</ul>
<p>A continuación os incluimos el detalle del archivo LoNuevo.htm:</p>
<p><span id="more-864"></span></p>
<li><strong>IDE:</strong></li>
<ul>
<li><strong>Nuevo look para el IDE</strong></li>
<li>Correcciones y mejoras en el manejo de Plugins</li>
<li>Correcciones en visualización de calltips</li>
<li>Comportamiento errático de TUpDown en modo diseño</li>
<li>Error de Intellisense cuando se cambiaba de ámbito de clases sin provocar edición alguna</li>
<li>Error de Intellisense cuando la definición del método incluía un comentario</li>
<li>Error de intellisense con &#8216;componentes&#8217; del proyecto</li>
<li>Mostrar los tabuladores como espacios en el menú del historial del portapapeles</li>
<li>Opciones de menú-especial no funcionaban con selecciones rectangulares</li>
<li><strong>SQLite Editor</strong>: Mostrar sentencias CREATE VIEW en ventana SQL</li>
<li>Incluidos algunos tipos en menú contextual &#8216;Cambiar a&#8230;&#8217;</li>
<li>Mejoras en el editor de menús</li>
<li>Nueva opción de &#8216;Confirmar borrado de controles&#8217; en la configuración</li>
<li>Error en construcción de &#8216;Ejecutable final&#8217;: No funcionaban los parámetros del instalador</li>
<li>Mostrar y llevar a primer plano el gestor de proyectos al abrir un proyecto</li>
<li>Bug esporádico al editar una propiedad con botón &#8220;&#8230;&#8221;</li>
</ul>
<li><strong>General:</strong></li>
<ul>
<li><span style="color: red;">Es necesario recompilar todos los fuentes (incluidas librerías) debido a cambios en constants.ch</span></li>
<li>Errores de ejecución en Windows 98</li>
<li>Añadidas funciones del API de GDI+ 1.1</li>
<li>Soporte de transparencia en imágenes de fondo (sólo PNG)</li>
</ul>
<li><strong>Controles</strong>
<ul>
<li><strong>TLabelEx</strong>: Nuevo control tipo TLabel con funcionalidad extendido tipo HTML</li>
<li><strong>TCefBrowser</strong>: Nuevo control nativo tipo Web browser basado en Chromium (Solo disponible para versión Enterprise)</li>
<li><strong>TWinControl</strong>: Nuevas propiedades nGradient y nClrPaneEnd</li>
<li><strong>TWinControl</strong>: Nuevas propiedades nBkgndMarginX y nBkgndMarginY</li>
<li><strong>TWinControl</strong>: Nuevos valores de nBkgndMode: blTOPLEFT (sinonimo de blCOPY), blFIT, blFITSMOOTH, blFILL y blFILLSMOOTH</li>
<li><strong>TClipboard</strong>: Devolver el contenido como cadena de texto cuando se manejan formatos no soportados nativamente por el portapapeles como HTML, RTF, etc.</li>
<li><strong>TUpDown</strong>: Typo en valor de retorno de OnChange</li>
<li><strong>TMenu</strong>: No se destruían los menús popup en entornos del tipo TFormFolder</li>
<li><strong>TStatusBar</strong>: Bug en GetItemRect(): no se calculaba correctamente el ancho de los paneles sin texto y con imagen</li>
<li><strong>TListView</strong>: Nuevo método SetBkImage() para poner una imagen de fondo</li>
<li><strong>TReport</strong>: Error en cálculo de coordenadas en PrintAtCol()</li>
<li><strong>TReport</strong>: Incorrecta ejecución de evento en PrintTotal()</li>
<li><strong>TReport</strong>: Restablecer orientación de página cuando la cambiaba el propio TReport</li>
<li><strong>TPrinter</strong>: Nueva propiedad nPDFPrinter</li>
<li><strong>TPreviewControl</strong>: Mostrar botón de exportación a PDF cuando Printer:nPDFPrinter &gt; 0</li>
<li><strong>TPage</strong>: Permitir cambiar la transparencia, el color y el fondo de cada TPage individual</li>
<li><strong>TListView</strong>: El evento OnCheckStateChanged no se disparaba con teclado</li>
<li><strong>TListView</strong>: Al hacer doble click sobre un checkbox, no cambiaba de estado</li>
<li><strong>TControl</strong>: Nuevo evento OnDispTooltip( oSender, @cText, @cTitle, @nIcon, nItem )</li>
<li><strong>TFileSaveDlg</strong>: No funcionaban las propiedades lNoTestFileCreate y lOverwritePrompt</li>
<li><strong>TBrowse</strong>: No se recalculaba bien la barra de scroll cuando estaba activa la edición automática</li>
<li><strong>TFileOpenImageDlg</strong>: Agregados PNG y TIFF a las mascaras</li>
<li><strong>TEdit</strong>: Los edit con lTabStop = .F. disparaban dos veces el evento OnExit</li>
<li><strong>TShiftPanel</strong>: Los controles dentro de un shiftpanel cerrado seguían recibiendo el foco</li>
<li><strong>TTooltip</strong>: Pérdida de memoria</li>
<li><strong>TPicture</strong>: Nuevas propiedades nImageType y nImageIndex</li>
<li><strong>TPicture</strong>: Añadido parámetro adicional para forzar la carga a través de GDI+ en  Load(), LoadFromFile(), LoadFromResource() y LoadFromStream()</li>
<li><strong>TPicture</strong>: Soporte de PNG y TIFF por medio de GDI+ (ya no es necesario FreeImage.dll)</li>
<li><strong>TPicture</strong>: Save() y SaveToStream() no tenían en cuenta el parámetro de tipo de imagen</li>
<li><strong>TExplorerBar</strong>: Nueva propiedad oPicture (muestra una imagen en la esquina inferior derecha)</li>
<li><strong>TControl</strong>: Pérdida de memoria en WMHelp</li>
<li><strong>TSysVer</strong>: Nueva propiedad lIsWow64</li>
</ul>
</li>
<li><strong>DataControls</strong>
<ul>
<li><span style="color: red;">No cancelar la edición cuando el evento OnSave retorna falso</span></li>
<li><strong>TSQLiteDataSource</strong>: Nueva propiedad lReadToCache</li>
<li><strong>TMySQLDataSource</strong>: Añadido soporte para el tipo de datos BIGINT</li>
</ul>
</li>
<li><strong>Funciones</strong>
<ul>
<li>Nueva función XA_lIsWow64</li>
</ul>
</li>
<li><strong>Ejemplos</strong>
<ul>
<li><strong>samples\DragDrop</strong>: Actualizado con operaciones con browses</li>
<li><strong>samples\labelex</strong>: Ejemplo del control TLabelEx</li>
<li><strong>samples\cefbrowser</strong>: Ejemplo del control TCefBrowser</li>
</ul>
</li>
<li><strong>Documentación</strong>
<ul>
<li>Actualizada a los últimos cambios</li>
</ul>
</li>
<p>Os recordamos que al igual que ocurrió con la versión anterior se requiere volver a registrar el producto ya que ha cambiado la clave de activación.  El registro sólo será posible realizar en máquinas que estén activas y además la licencia tenga la suscripción igualmente activa.</p>
<p>Podrá comprobar hasta que versión puede actualizar consultando su información de registro desde la opción de menú Ayuda-&gt;Información de registro.</p>
<p>Para simplificar el proceso de registro para todas aquellas personas que no puedan acceder vía Web al sistema de registro de Xailer, cada vez que se lance una nueva versión todos los usuarios activos recibirán un Email con la clave de registro para todas las máquinas que tienen activas.</p>
<p>No intente actualizarse a esta versión hasta que tenga absoluta certeza de que tiene derecho a recibirla.<br />
Un cordial saludo,</p>
<p>[El equipo de Xailer]</p>
]]></content:encoded>
			<wfw:commentRss>http://xailer.info/esp/?feed=rss2&amp;p=864</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Buscar en la web</title>
		<link>http://xailer.info/esp/?p=805</link>
		<comments>http://xailer.info/esp/?p=805#comments</comments>
		<pubDate>Sun, 04 Mar 2012 20:21:08 +0000</pubDate>
		<dc:creator>José Lalín</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Xailer 2.5]]></category>
		<category><![CDATA[Buscar]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://xailer.info/esp/?p=805</guid>
		<description><![CDATA[A los que necesitamos acudir a menudo al navegador para hacer búsquedas en la web mientras trabajamos con Xailer este complemento será, sin duda, de gran utilidad.
Una vez instalado se añade una nueva opción al menú contextual del editor de código que servirá para lanzar una búsqueda con el texto seleccionado o con la palabra [...]]]></description>
			<content:encoded><![CDATA[<p>A los que necesitamos acudir a menudo al navegador para hacer búsquedas en la web mientras trabajamos con Xailer este complemento será, sin duda, de gran utilidad.</p>
<p><span id="more-805"></span>Una vez instalado se añade una nueva opción al menú contextual del editor de código que servirá para lanzar una búsqueda con el texto seleccionado o con la palabra sobre la que está el cursor en su defecto.</p>
<p><img class="alignnone size-full wp-image-809" title="WebSearchMenu" src="http://xailer.info/esp/wp-content/uploads/2012/01/WebSearchMenu.png" alt="WebSearchMenu" width="502" height="151" /></p>
<p>Desde la opción <em>Búsqueda Web-&gt;Opciones</em> se pueden añadir  todos los motores de búsqueda que se necesiten usar desde el editor de  código. Así será posible usar desde la MSDN para buscar información  relativa a cualquier API hasta resolver dudas consultando directamente  los foros de soporte de Xailer.</p>
<p><img title="WebSearchOptions" src="http://xailer.info/esp/wp-content/uploads/2012/01/WebSearchOptions.png" alt="WebSearchOptions" width="128" height="154" /></p>
<p>El formulario de configuración de <em>WebSearch </em>muestra la lista de motores de búsqueda con los controles habituales:</p>
<p><img class="alignnone size-full wp-image-807" title="WebSearchSettings" src="http://xailer.info/esp/wp-content/uploads/2012/01/WebSearchSettings.png" alt="WebSearchSettings" width="587" height="271" /></p>
<ul>
<li>El botón [Añadir] permite introducir un nuevo elemento.  Una vez pulsado muestra dos guías de ayuda a la edición para permitir escribir directamente el nombre y el patrón URL sobre la lista:</li>
</ul>
<p style="text-align: left;"><img class="size-full wp-image-808 aligncenter" title="WebSearchAdd" src="http://xailer.info/esp/wp-content/uploads/2012/01/WebSearchAdd.png" alt="WebSearchAdd" width="477" height="60" /></p>
<p>Para añadir un motor nuevo necesitamos conocer su URL y el formato en el que espera recibir los datos. Por ejemplo, la URL para buscar la cadena <em>Ejemplo</em> en la <em>Wikipedia</em> es la siguiente:</p>
<p style="text-align: center;">http://en.wikipedia.org/wiki/Special:Search?search=Ejemplo</p>
<p>Para convertirla en un patrón que podamos usar desde el plugin sólo necesitamos cambiar la palabra <em>Ejemplo</em> por <em>%1</em> para que el IDE sepa dónde incluir el texto a buscar, así que introduciremos:</p>
<p>&lt;Nombre&gt; <em>Wikipedia </em><br />
&lt;URL&gt; http://en.wikipedia.org/wiki/Special:Search?search=%1</p>
<p>Para insertar un separador entre las opciones basta con dejar la columna &lt;URL&gt; en blanco.</p>
<ul>
<li>El botón [Editar], así como el doble click y la tecla F2, permite cambiar el nombre y/o el patrón de la URL.</li>
<li>El botón [<em>Eliminar</em>] borra el motor seleccionado  de la lista. Antes de proceder a eliminar  se pide siempre confirmación previa.</li>
<li>Los botones [FlechaArriba] y [FlechaAbajo] permiten establecer la posición que ocupará cada elemento en el menú contextual.</li>
</ul>
<p>El plugin se entrega con un archivo WebSearch.ini preconfigurado con los buscadores mostrados en la imagen del menú popup anterior. Para usarlo basta con copiarlo al mismo directorio de instalación del plugin. Si no se desea usar este archivo puede borrarse y el IDE añadirá automáticamente las opciones para buscar en Google y en la MSDN al menú contextual.</p>
<p><span style="color: #ff0000;">El plugin funciona con Xailer 2.5 y Xailer 2.5.1 y también con XEdit 2.5.1<br />
</span></p>
<p>El enlace para la descarga: <a href="http://www.xailer.com/download?file=53">WebSearch</a></p>
]]></content:encoded>
			<wfw:commentRss>http://xailer.info/esp/?feed=rss2&amp;p=805</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FTPFile para Xailer 2.5</title>
		<link>http://xailer.info/esp/?p=784</link>
		<comments>http://xailer.info/esp/?p=784#comments</comments>
		<pubDate>Mon, 06 Feb 2012 16:33:28 +0000</pubDate>
		<dc:creator>José Lalín</dc:creator>
				<category><![CDATA[Componentes]]></category>
		<category><![CDATA[Xailer 2.5]]></category>
		<category><![CDATA[FTP]]></category>

		<guid isPermaLink="false">http://xailer.info/esp/?p=784</guid>
		<description><![CDATA[Esta es una actualización del componente FTPFile para Xailer 2.5 con los siguientes cambios:

Componente TFTPFile:

 Ampliado el tamaño de la propiedad nBuffer a 32kb.


Nueva propiedad oFtp para poder usar directamente el objeto TFtp.  Esta propiedad permite enviar comandos directamente al servidor ftp como oFTP:CreateDirectory(), oFTP:RenameFile(), etc. igual que al usar el componente TFtp nativo.

Componente TCDOMail:

 [...]]]></description>
			<content:encoded><![CDATA[<p>Esta es una actualización del componente <a title="FTPFile" href="http://xailer.info/esp/?p=161">FTPFile</a> para Xailer 2.5 con los siguientes cambios:</p>
<p><a href="http://xailer.info/esp/wp-content/uploads/2012/01/FtpFile25.png"><img class="size-full wp-image-785 aligncenter" title="FtpFile25" src="http://xailer.info/esp/wp-content/uploads/2012/01/FtpFile25.png" alt="" width="451" height="58" /></a></p>
<p>Componente TFTPFile:</p>
<ul>
<li> Ampliado el tamaño de la propiedad nBuffer a 32kb.</li>
</ul>
<ul>
<li>Nueva propiedad oFtp para poder usar directamente el objeto TFtp.  Esta propiedad permite enviar comandos directamente al servidor ftp como oFTP:CreateDirectory(), oFTP:RenameFile(), etc. igual que al usar el componente TFtp nativo.</li>
</ul>
<p>Componente TCDOMail:</p>
<ul>
<li> lHTML, permite el envío de mensajes con formato HTML.</li>
</ul>
<ul>
<li>cCharSet, establece el conjunto de caracteres para la codificación del mensaje.</li>
</ul>
<ul>
<li> nPriority,  prioridad del mensaje. Sus valores están definidos en include\CDOMail.ch.</li>
</ul>
<ul>
<li> lReceipt, establecer acuse de recibo.</li>
</ul>
<ul>
<li>cReceiptTO, dirección de envío para el acuse de recibo.</li>
</ul>
<ul>
<li> nTimeOut, tiempo de espera máximo del objeto CDO para establecer la conversación con el servidor de correo.</li>
</ul>
<p>También se incluye la clase TBlatMail de la RTL de Xailer para poder establecer sus propiedades visualmente desde el inspector de objetos del IDE y se añaden tres nuevas clases descendientes de TCDOMail con los datos de conexión ya preconfigurados para poder usar estos servicios de correo de forma sencilla.</p>
<ul>
<li> TCDOYahooMail</li>
</ul>
<ul>
<li> TCDOHotMail</li>
</ul>
<ul>
<li> TCDOAOLMail</li>
</ul>
<p>El <a href="http://www.xailer.com/download?file=46">zip</a> incluye la DLL y la librería para Xailer 2.5 o superior.</p>
]]></content:encoded>
			<wfw:commentRss>http://xailer.info/esp/?feed=rss2&amp;p=784</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CheckMenu</title>
		<link>http://xailer.info/esp/?p=827</link>
		<comments>http://xailer.info/esp/?p=827#comments</comments>
		<pubDate>Tue, 31 Jan 2012 10:00:13 +0000</pubDate>
		<dc:creator>José Lalín</dc:creator>
				<category><![CDATA[Componentes]]></category>
		<category><![CDATA[Xailer 2.5]]></category>
		<category><![CDATA[CheckMenu]]></category>

		<guid isPermaLink="false">http://xailer.info/esp/?p=827</guid>
		<description><![CDATA[El control TCheckMenu representa un control tipo menú utilizando botones Checkbox y es prácticamente idéntico en funcionalidad al control TRadioMenu nativo del IDE con la diferencia que aquí podemos seleccionar varias opciones.


Las únicas diferencias a tener en cuenta son dos:

Se añade una propiedad aChecked que sirve tanto para establecer qué elementos están seleccionados cuando se [...]]]></description>
			<content:encoded><![CDATA[<p>El control <em>TCheckMenu </em>representa un control tipo menú utilizando botones <em>Checkbox </em>y es prácticamente idéntico en funcionalidad al control <em>TRadioMenu </em>nativo del IDE con la diferencia que aquí podemos seleccionar varias opciones.</p>
<p><span id="more-827"></span></p>
<p style="text-align: center;"><img class="size-full wp-image-828 aligncenter" title="CheckMenu" src="http://xailer.info/esp/wp-content/uploads/2012/01/CheckMenu.png" alt="CheckMenu" width="189" height="122" /></p>
<p>Las únicas diferencias a tener en cuenta son dos:</p>
<ul>
<li>Se añade una propiedad aChecked que sirve tanto para establecer qué elementos están seleccionados cuando se crea el control y para obtener la lista de elementos que se han seleccionado.</li>
<li>El evento OnChange( oSender, nIndex, lChecked ) añade un nuevo parámetro lChecked que informa si el elemento que acaba de cambiar está seleccionado o no.</li>
</ul>
<p>En el <a href="http://www.xailer.com/download?file=52">ZIP </a>se incluye la DLL y la librería para Xailer 2.5</p>
]]></content:encoded>
			<wfw:commentRss>http://xailer.info/esp/?feed=rss2&amp;p=827</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Error.log</title>
		<link>http://xailer.info/esp/?p=794</link>
		<comments>http://xailer.info/esp/?p=794#comments</comments>
		<pubDate>Wed, 25 Jan 2012 20:03:42 +0000</pubDate>
		<dc:creator>José Lalín</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Xailer 2.5]]></category>
		<category><![CDATA[Error log]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://xailer.info/esp/?p=794</guid>
		<description><![CDATA[Cuando lanzamos una aplicación desde el IDE y aparece un error en tiempo de ejecución sucede que, por motivos que van desde el cansancio o la falta de concentración hasta directamente porque se ha producido un error no recuperable (recursión, GPF, etc.), se cierra la aplicación sin darnos tiempo a anotar en qué lugar del [...]]]></description>
			<content:encoded><![CDATA[<p>Cuando lanzamos una aplicación desde el IDE y aparece un error en tiempo de ejecución sucede que, por motivos que van desde el cansancio o la falta de concentración hasta directamente porque se ha producido un error no recuperable (recursión, GPF, etc.), se cierra la aplicación sin darnos tiempo a anotar en qué lugar del código estaba el error.</p>
<p><span id="more-794"></span><br />
<img class="alignnone size-full wp-image-796" title="ErrorLogError" src="http://xailer.info/esp/wp-content/uploads/2012/01/ErrorLogError.png" alt="ErrorLogError" width="600" height="139" /></p>
<p>Para evitar tener que reproducir otra vez cada uno de los pasos para llegar al error usaremos este plugin que añade una nueva opción al menú <em>Ver </em>del IDE que permite mostrar la información de error completa o resumida  así como borrar el archivo del disco cuando ya no es necesario.</p>
<p><img class="size-full wp-image-797 alignnone" title="ErrorLogMenu" src="http://xailer.info/esp/wp-content/uploads/2012/01/ErrorLogMenu.png" alt="ErrorLogMenu" width="396" height="331" /></p>
<p>Desde la <em>vista error.log</em> es posible copiar la información del error al portapapeles en el mismo formato en que se está mostrando, completa o resumida, para, por ejemplo, enviarla por correo:</p>
<p><img class="alignnone size-full wp-image-798" title="ErrorLogView" src="http://xailer.info/esp/wp-content/uploads/2012/01/ErrorLogView1.png" alt="ErrorLogView" width="747" height="186" /></p>
<p>El archivo para descargar: <a href="http://www.xailer.com/download?file=54">ErrorLog</a></p>
<p><span style="color: #ff0000;">El plugin sólo funciona con Xailer 2.5 y Xailer 2.5.1</span></p>
<p>Actualización: 10/02/2012</p>
<p>* Corregido un bug que impedía localizar correctamente la ubicación del archivo log. Gracias a IOZ.</p>
]]></content:encoded>
			<wfw:commentRss>http://xailer.info/esp/?feed=rss2&amp;p=794</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Quick Open</title>
		<link>http://xailer.info/esp/?p=769</link>
		<comments>http://xailer.info/esp/?p=769#comments</comments>
		<pubDate>Mon, 16 Jan 2012 19:34:49 +0000</pubDate>
		<dc:creator>José Lalín</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Xailer 2.5]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Quick Open]]></category>

		<guid isPermaLink="false">http://xailer.info/esp/?p=769</guid>
		<description><![CDATA[En esta ocasión traemos a un complemento para el IDE similar a SessionManager SessionManager, pero que en vez de manejar grupos de archivos como sesiones nos permite filtrar y abrir archivos de un proyecto rápidamente.

Al seleccionar la opción del menú:

Se lanza un formulario que contiene un control de edición y la lista de archivos que [...]]]></description>
			<content:encoded><![CDATA[<p>En esta ocasión traemos a un complemento para el IDE similar a SessionManager <a href="http://xailer.info/esp/?p=750">SessionManager</a>, pero que en vez de manejar grupos de archivos como sesiones nos permite filtrar y abrir archivos de un proyecto rápidamente.</p>
<p><span id="more-769"></span></p>
<p>Al seleccionar la opción del menú:</p>
<p><img class="alignnone size-full wp-image-771" title="QuickOpenMenu" src="http://xailer.info/esp/wp-content/uploads/2012/01/QuickOpenMenu.png" alt="Quick open menu" width="254" height="135" /></p>
<p>Se lanza un formulario que contiene un control de edición y la lista de archivos que forman parte del proyecto.</p>
<p>En el control de edición se puede escribir una máscara para filtrar los archivos. Se permite el uso de comodines como <strong>? </strong>y <strong>* </strong>y su funcionamiento es idéntico a la función Directory() estándar de Harbour.</p>
<p><img class="size-full wp-image-770 alignright" style="margin: 10px;" title="QuickOpen" src="http://xailer.info/esp/wp-content/uploads/2012/01/QuickOpen.png" alt="Quick open" width="205" height="460" /></p>
<p>En la lista de archivos se pueden seleccionar más de uno con <em>Ctrl+Click</em> o varios seguidos con<em> Shift+Click/Shift+Cursores</em>. Su funcionamiento es idéntico a un control Listbox estándar.</p>
<p>Haciendo doble click o pulsando [<em>Enter</em>] sobre el nombre de un archivo se abrirá en el editor de código o se seleccionará si ya estaba abierto. Si hay varios archivos seleccionados al pulsar [<em>Enter</em>] se abrirán todos en el editor.</p>
<p>Si se cambia a otro proyecto, al hacer click en el formulario se recarga automáticamente la lista de archivos del nuevo proyecto por lo que no es necesario cerrar y volver a abrirlo para actualizarlo.</p>
<p>El formulario se puede redimensionar y mover al lugar de la pantalla que se prefiera y su posición y tamaño será recordado la próxima vez que se utilice.</p>
<p><span style="color: #ff0000;">El plugin sólo funciona con Xailer 2.5 y Xailer 2.5.1</span></p>
<p>El enlace para la descarga: <a href="http://www.xailer.com/download?file=45">QuickOpen</a></p>
]]></content:encoded>
			<wfw:commentRss>http://xailer.info/esp/?feed=rss2&amp;p=769</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Gestionando Sesiones</title>
		<link>http://xailer.info/esp/?p=750</link>
		<comments>http://xailer.info/esp/?p=750#comments</comments>
		<pubDate>Fri, 13 Jan 2012 18:58:53 +0000</pubDate>
		<dc:creator>José Lalín</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Xailer 2.5]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Session manager]]></category>

		<guid isPermaLink="false">http://xailer.info/esp/?p=750</guid>
		<description><![CDATA[El IDE de Xailer nos permite guardar el estado del proyecto en el que estamos trabajando de modo que la próxima vez que arranque se carguen los mismos archivos que teníamos abiertos y podamos seguir en el mismo punto donde lo dejamos.


La única pega de esta opción es que no nos permite agrupar los archivos [...]]]></description>
			<content:encoded><![CDATA[<p>El IDE de Xailer nos permite guardar el estado del proyecto en el que estamos trabajando de modo que la próxima vez que arranque se carguen los mismos archivos que teníamos abiertos y podamos seguir en el mismo punto donde lo dejamos.</p>
<p><img class="alignnone" src="http://xailer.info/esp/wp-content/uploads/2012/01/savexdt.png" alt="" width="417" height="144" /><br />
<span id="more-750"></span></p>
<p>La única pega de esta opción es que no nos permite agrupar los archivos del proyecto para poder trabajar con ellos más cómodamente. En el caso de proyectos grandes o con muchos archivos solemos tener muchas pestañas abiertas en el editor de código para no tener que estar acudiendo continuamente al gestor de proyectos para abrir y cerrar archivos.</p>
<p>Para resolver esta incomodidad vamos a usar un plugin escrito expresamente para gestionar grupos de archivos comunes a los que llamaremos <em>sesiones</em>.</p>
<p>Una sesión estará formada por aquellos archivos que nosotros queramos y podemos agruparlos como mejor nos convenga o más cómodo nos parezca. Por ejemplo, supongamos un proyecto que contiene los siguientes archivos:</p>
<ul>
<li>Clientes.prg</li>
<li>FrmClientes.prg</li>
<li>LstClientes.prg</li>
<li>EtiClientes.prg</li>
<li> Articulos.prg</li>
<li>FrmArticulos.prg</li>
<li>LstArticulos.prg</li>
<li>EtiArticulos.prg</li>
</ul>
<p>Según la manera de trabajar de cada uno, habrá quien prefiera tener abiertos sólo un par de archivos como Clientes y Artículos, otros se decantarán por tener siempre abiertos todos los archivos relacionados con el módulo de Clientes o Artículos y otros abren y cierran archivos según se necesita.</p>
<p>Si a la lista anterior le añadimos los módulos de Agentes, Proveedores, Pedidos, Albaranes, Facturas, etc., la cosa empieza a complicarse exponencialmente y el manejo de los fuentes se vuelve incómodo y propenso a errores.</p>
<p>Aquí es donde entra en acción el plugin <em>SessionManager</em> para poner un poco de orden:</p>
<p><img class="alignnone" src="http://xailer.info/esp/wp-content/uploads/2012/01/sessionmenu.png" alt="" width="242" height="353" /></p>
<p>El plugin añade una nueva opción &#8220;Sesiones&#8221; al menú Archivo que nos permite guardar la lista de archivos abiertos en el editor de código en un momento dado (una sesión) para poder usarla cuantas veces queramos.</p>
<p>Siguiendo con el ejemplo anterior, podemos abrir todos los archivos del proyecto que estén relacionados con el módulo de Clientes:</p>
<ul>
<li>Clientes.prg</li>
<li>FrmClientes.prg</li>
<li>LstClientes.prg</li>
<li>EtiClientes.prg</li>
</ul>
<p>Y mediante la opción <em>Archivo-&gt;Sesiones-&gt;Guardar sesión</em> podemos grabar esta lista como &#8220;Clientes.ses&#8221; de modo que cuando queramos editar alguno de estos archivos sólo hay que abrir la sesión con A<em>rchivo-&gt;Sesiones-&gt;Cargar sesión</em> y volveremos a tener los archivos abiertos igual que en el momento en que creamos la sesión.</p>
<p>La opción <em>Guardar sesión </em>graba la información relacionada con los archivos abiertos en el editor en un archivo de sesión pero no graba los archivos del editor que puedan haber sido modificados.</p>
<p>Además de las opciones para cargar y guardar sesiones, el menú ofrece una lista de <em>archivos recientes </em>que muestra las últimas sesiones a las que se ha accedido:</p>
<p><img class="alignnone" src="http://xailer.info/esp/wp-content/uploads/2012/01/sessionmenu2.png" alt="" width="160" height="106" /></p>
<p>Y un <em>gestor de sesiones</em> para organizarlas a nuestro gusto:</p>
<p><img class="alignnone" src="http://xailer.info/esp/wp-content/uploads/2012/01/sessmgr.png" alt="" width="598" height="272" /></p>
<p>El gestor muestra todas las sesiones disponibles para el proyecto, incluyendo el número de archivos que hay en cada sesión y la fecha/hora de su grabación.</p>
<p>Para cargar una sesión se puede utilizar tanto el botón [<em>Cargar</em>] como el doble click sobre un elemento de la lista de sesiones.</p>
<p>El botón [<em>Renombrar</em>] (y la tecla F2) permite cambiar el nombre a un archivo de sesión.</p>
<p>El botón [<em>Duplicar</em>] crea una copia del archivo seleccionado.</p>
<p>El botón [<em>Eliminar</em>] borra el archivo de sesión seleccionado pero no borra los archivos contenidos en la sesión y antes de eliminar se pide siempre confirmación.</p>
<p>El checkbox [X] <em>Cerrar todos los archivos abiertos</em> indica si al cargar una sesión se deben mostrar en el editor de código sólamente los archivos que están incluidos en la sesión o si se quieren conservar abiertos los archivos que ya están abiertos al cargar la sesión.</p>
<p>Para instalar el plugin, se debe descomprimir el ZIP en la carpeta Plugins que esté configurada en <em>Herramientas-&gt;Opciones generales-&gt;Directorios-&gt;Archivos de usuario-&gt;Plugins</em> y reiniciar el IDE.</p>
<p>Si se ha cargado correctamente aparecerá la nueva opción <em>Archivo</em>-&gt;Sesiones tal como se explicó antes, el plugin será visible desde <em>Componentes-&gt;Gestor de plugins</em> y haciendo doble click sobre su nombre aparecerá información sobre su nombre, versión, créditos, etc.</p>
<p><img class="alignnone" src="http://xailer.info/esp/wp-content/uploads/2012/01/sessionpluginman.png" alt="" width="543" height="107" /></p>
<p><span style="color: #ff0000;">El plugin sólo funciona con Xailer 2.5 y Xailer 2.5.1</span></p>
<p>El enlace para la descarga: <a href="http://www.xailer.com/download?file=51">SessionManager</a></p>
<p>Actualización 25/01/2012</p>
<ul>
<li>Corregido bug en fecha/hora en el gestor de sesiones (Thanks Dionisis).</li>
<li>Eliminado el parpadeo al abrir el submenú Sesiones</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://xailer.info/esp/?feed=rss2&amp;p=750</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Actualización de Xailer 2.5</title>
		<link>http://xailer.info/esp/?p=745</link>
		<comments>http://xailer.info/esp/?p=745#comments</comments>
		<pubDate>Fri, 23 Dec 2011 12:00:41 +0000</pubDate>
		<dc:creator>Ignacio OZ</dc:creator>
				<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Xailer 2]]></category>

		<guid isPermaLink="false">http://xailer.info/esp/?p=745</guid>
		<description><![CDATA[
¡¡Nueva versión de Xailer disponible!!
Ya está disponible la nueva versión de Xailer 2.5.1  que incorpora importantes correciones sobre la versión 2.5 y algunas mejoras:
IDE:

Correcciones varias en Intellisense
Mejoras en la gestión de Plugins
Al copiar controles, se duplicaban sus eventos en el .xfm
Error al intentar borrar un ExplorerGroup
Ajustes en el guardado de la propiedad oFont de los [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>¡¡Nueva versión de Xailer disponible!!</p>
<p>Ya está disponible la nueva versión de Xailer 2.5.1  que incorpora importantes correciones sobre la versión 2.5 y algunas mejoras:</p>
<li><strong>IDE:</strong>
<ul>
<li>Correcciones varias en Intellisense</li>
<li>Mejoras en la gestión de Plugins</li>
<li>Al copiar controles, se duplicaban sus eventos en el .xfm</li>
<li>Error al intentar borrar un ExplorerGroup</li>
<li>Ajustes en el guardado de la propiedad oFont de los controles</li>
<li>Error al copiar elementos con aItems que no eran objetos (p.ej. listbox)</li>
<li><strong>SQLite Editor</strong>: Nueva funcionalidad en editor para ejecutar procesos BATCH</li>
</ul>
<li><strong>General:</strong></li>
<ul>
<li><span style="color: red;">Debido a cambios internos en el sistema de Plugins es necesario reconstruirlos</span></li>
</ul>
<li><strong>Controles</strong>
<ul>
<li><strong>TOcx</strong>: No dejaba escribir caracteres acentuados dentro de un OCX</li>
<li><strong>TControl</strong>:<span style="color: red;"> Al hacer click fuera de un menu popup,         siempre se disparaba la opcion por defecto.</span> Usar nuevo parámetro lCanceled para conseguir misma funcionalidad</li>
<li><strong>TControl</strong>: Nuevo parametro lCanceled en ShowPopupMenu(), que se recibe por referencia y se rellena a .T. si el usuario ha cerrado el menu sin seleccionar una opcion</li>
<li><strong>TControl</strong>: Usar oFont del formulario si oFont = Nil y lParentFont = .F.</li>
</ul>
</li>
<li><strong>Ejemplos</strong>
<ul>
<li><strong>samples\MetaControls\Office2007Buttons</strong>: Ejemplo de metacontrol que crea un boton con estilo Office2007 a partir de un TGlassBtn</li>
<li><strong>samples\Plugins\MoreOptions</strong>: Nuevas opciones y mejoras. Ahora utiliza un diálogo en vez de un menú</li>
<li><strong>samples\Plugins\HelloWord</strong>: Plugin basico para usar como plantilla o como punto  de partida de otros plugins</li>
</ul>
</li>
<li><strong>Documentación</strong>
<ul>
<li>Actualizada a los últimos cambios</li>
</ul>
<p>En esta ocasión no hemos habilitado el sistema de &#8216;Auto Update&#8217; debido a los grandes cambios existentes: nuevo IDE, nuevas ayudas y nuevos ejemplos.</p>
<p>Un cordial saludo,</p>
<p>[El equipo de Xailer]</li>
</div>
]]></content:encoded>
			<wfw:commentRss>http://xailer.info/esp/?feed=rss2&amp;p=745</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xailer 2.5</title>
		<link>http://xailer.info/esp/?p=742</link>
		<comments>http://xailer.info/esp/?p=742#comments</comments>
		<pubDate>Mon, 05 Dec 2011 13:15:01 +0000</pubDate>
		<dc:creator>Ignacio OZ</dc:creator>
				<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Xailer 2]]></category>
		<category><![CDATA[intellisense]]></category>

		<guid isPermaLink="false">http://xailer.info/esp/?p=742</guid>
		<description><![CDATA[¡¡Nueva versión de Xailer disponible!!
Ya está disponible la nueva versión de Xailer 2.5 que incorpora importantes novedades:

IDE:

Nuevo: Sistema de copiar/pegar controles en los formularios que corrige problema de controles con objetos en aItems
Nuevo: Soporte de Intellisense
Nuevo: Soporte de Plantillas (Archivo-&#62;Nuevo-&#62;Desde plantilla y Archivo-&#62;Guardar como plantilla)
Nuevo: Soporte de Metacontroles
Nuevo: Soporte de Plugins y gestor de Plugins [...]]]></description>
			<content:encoded><![CDATA[<p>¡¡Nueva versión de Xailer disponible!!</p>
<p>Ya está disponible la nueva versión de Xailer 2.5 que incorpora importantes novedades:</p>
<ul>
<li><strong>IDE:</strong>
<ul>
<li><strong>Nuevo</strong>: Sistema de copiar/pegar controles en los formularios que corrige problema de controles con objetos en aItems</li>
<li><strong>Nuevo</strong>: Soporte de Intellisense</li>
<li><strong>Nuevo</strong>: Soporte de Plantillas (Archivo-&gt;Nuevo-&gt;Desde plantilla y Archivo-&gt;Guardar como plantilla)</li>
<li><strong>Nuevo</strong>: Soporte de Metacontroles</li>
<li><strong>Nuevo</strong>: Soporte de Plugins y gestor de Plugins en menú Componentes-&gt;Plugins</li>
<li>Nueva ventana de inicio cuando no hay ningún proyecto cargado</li>
<li>Actualizado scintilla a 2.1.2</li>
<li>Soporte de hotspots (URLs) en los comentarios en Herramientas-&gt;Opciones del editor-&gt;Apariencia</li>
<li>Nuevo botón para restaurar los colores por defecto desde el formulario de configuración del IDE</li>
<li>Arreglado bug al guardar propiedad TOptionItem:Cargo</li>
<li>Error de salvado en la propiedad oExplorerGroup:Cargo</li>
<li>Error esporádico al cerrar proyecto</li>
<li>Error al cambiar el color de la fuentes de más de un control a la vez</li>
<li>Busqueda de TODO/TOFIX en comentarios multilínea</li>
<li>Completadas las traducciones en todos los idiomas soportados</li>
<li>Nueva opción &#8220;Establecer módulo principal&#8221; en el árbol del gestor de proyectos</li>
<li>Reescrito el editor de valores numéricos con decimales en el inspector de objetos para que funcione en línea sin mostrar ningún formulario</li>
<li>Mostrar información sobre el fichero en curso en la tooltip de las pestañas del editor</li>
<li>Nueva opción &#8220;Cerrar todas las pestañas&#8221; en el menú contextual del área de mensajes</li>
<li>Al pulsar F2 sobre un control en el editor de formularios se entra a editar la propiedad &#8216;cText&#8217;</li>
<li>Al pulsar F2 en el inspector se activa la edición &#8216;extendida&#8217;, si la propiedad lo soporta</li>
<li>Indicar el número de ocurrencias y ficheros en &#8216;Buscar en ficheros&#8217;</li>
<li>SQLite editor: mostrar las sentencias DDL que se ejecutan en cambios de tabla</li>
<li>Mostrar el número de elementos que contienen las vistas ToDo, Puntos de ruptura y Marcas como tooltip de la pestaña</li>
<li>Al hacer doble click en una línea de error de un .h, no se mostraba en el editor</li>
<li>Al hacer doble click en la pestaña del editor seleccionar el archivo en el gestor de proyectos</li>
<li>Detener la compilación al intentar cerrar la pestaña &#8220;Compilar&#8221; del área de mensajes</li>
<li>No lanzar la compilación si ya se está compilando</li>
<li>Mostrar las calltips alineadas con la función</li>
<li>Recordar la altura de la ventana Output entre sesiones</li>
<li>Permitir cerrar la ventana Output con ESC desde el editor de código</li>
<li>Bug al seleccionar código entre paréntesis con Ctrl+E</li>
<li>Opción para configurar carpetas de usuario en Herramientas-&gt;Opciones-&gt;Carpetas-&gt;Carpetas de usuario</li>
<li>Permitir personalizar la fuente para Intellisense en Herramientas-&gt;opciones del editor-&gt;Calltips e Intellisense</li>
<li>Usar Enter para pasar al editor de código desde el visor de marcas, puntos de ruptura y tareas</li>
</ul>
</li>
<li><strong>General</strong>
<ul>
<li><strong>Colors.ch</strong>: <span style="color: red;">La definición de colores del tipo CLR_nombre son obsoletos y se eliminarán en la siguiente versión de Xailer</span></li>
<li><strong>Controls.ch</strong>: <span style="color: red;">Eliminado #translate ?</span></li>
</ul>
</li>
<li><strong>DataControls</strong>
<ul>
<li><strong>TDbfDataset</strong>: Error en uso lReuseDel</li>
<li><strong>TDbfDataset</strong>: Mejorar la información del error en el método OrdSetFocus()</li>
<li><strong>TMySQL</strong>: Soporte de DateTime y TimeStamp</li>
</ul>
</li>
<li><strong>Formularios</strong>
<ul>
<li>Nuevo evento OnCopyData()</li>
</ul>
</li>
<li><strong>Controles</strong>
<ul>
<li><strong>TGlassBtn</strong>: Nuevo control tipo botón utilizando GDI+</li>
<li><strong>TShiftPanel</strong>: Nuevo control tipo TPanel</li>
<li><strong>TOcx</strong>: Correcciones en el control del foco y otros problemas</li>
<li><strong>TRichEdit</strong>: Error en método GetLine()</li>
<li><strong>TRichEdit</strong>: Corregida forma de crear oFont en método Create</li>
<li><strong>TRichEdit</strong>: Cargar filtros de conversión de Office 2010</li>
<li><strong>TRichedit</strong>: Buscar los filtros de conversión en el directorio de la aplicación</li>
<li><strong>TMessagebox</strong>: Corregido valor de retorno en Run()</li>
<li><strong>TMessagebox</strong>: Permitir mostrar el timeout también en el título</li>
<li><strong>TStatusPanel</strong>: Ajuste en el cálculo de la posición de controles embebidos en paneles</li>
<li><strong>TEditBtn</strong>: Nuevos estilos ebARROW y ebPROMPT</li>
<li><strong>TEditBtn</strong>: Nueva propiedad cPrompt</li>
<li><strong>TBtnBmp</strong>: Nuevos estilo fsRAISED</li>
<li><strong>TColorComboBox</strong>: Nueva propiedad lAddColor</li>
<li><strong>TDBBrowse</strong>: Evitar posible error en destrucción del formulario</li>
<li><strong>TAdoDataSource</strong>: Bug en método Execute() al devolver un recordset</li>
<li><strong>TBrwCol</strong>: Incorrecto posicionamiento del menú contextual en oHeader</li>
<li><strong>TListViewGroup</strong>: Establecer correctamente cHeader, cFooter, nHeaderAlign y nFooterAlign</li>
<li><strong>TListViewColumn</strong>: Establecer correctamente nAligment</li>
<li><strong>TListViewColumn</strong>: Mostrar correctamente la imagen al cambiar nAlignment</li>
</ul>
</li>
<li><strong>Otras clases</strong>
<ul>
<li><strong>TBlatMail</strong>: Error en lReceipt</li>
<li><strong>TBlatMail</strong>: Nuevas propiedades: lUndisclosedRecipients, nTimeOut, nTries y nAuth</li>
<li><strong>TMailSlotServer y TMailSlotClient</strong>: Nuevas clases para intercambio de datos entre aplicaciones</li>
<li><strong>TCanvas</strong>: Nuevos métodos AngeArc, Arc, ArcTo, Chord y Pie</li>
<li><strong>TCanvas</strong>: Nuevo método GetPos()</li>
<li><strong>TMenu</strong>: Nuevo método Refresh()</li>
</ul>
</li>
<li><strong>TComboBox</strong>: No quitar los espacios al añadir elementos
<ul>
<li><strong>TCalculator</strong>: Nuevo parámetro para pegar el resultado de la calculadora al control activo</li>
<li><strong>TRecentList</strong>: No se refrescaba la lista al establecer las propiedades lAutoSave y lAutoRemove</li>
<li><strong>TFileOperationDlg</strong>: Nuevas propiedades lFilesOnly y lNoCopySecurityAttrib</li>
</ul>
</li>
<li><strong>Funciones</strong>
<ul>
<li>Nuevas funciones AngleArc(), Arc(), ArcTo(), Chord() y Pie()</li>
<li>Nueva funcion SendWMCopyData()</li>
<li>Nueva funcion SHGetFolder()</li>
<li>Función MakeNestedDir() devuelve código de error compatible con DirMake()</li>
<li>Función GetFileVersionInfo() obtiene información de versión de ejecutables y DLLs</li>
<li>Soporte íntegro del api GDI+ (609 funciones)</li>
</ul>
</li>
<li><strong>Ejemplos</strong>
<ul>
<li><strong>samples\MetaControls\PanelOkCancel</strong>: Ejemplo de metacontrol que construye un panel que contiene un botones Aceptar y otro Cancelar con varias propiedades preestablecidas</li>
<li><strong>samples\GlassBtn</strong>: Ejemplo de control TGlassBtn</li>
<li><strong>samples\ShiftPanel</strong>: Ejemplo de control TShiftPanel</li>
<li><strong>samples\Plugins\MoreEdit</strong>:Ejemplo de un plugin con dos extensiones:
<ul>
<li>Menu MoreEdit: agrega un menú al menú Edit con las opciones SetCaseUpper/Lower/Capitalize, iguales a las del menu Especial, opción de invertir mayúscuals y minúsculas, opción de ordenar líneas A-Z o viceversa y opción de renumerar defines numéricos</li>
<li>Opcion QuickFind: agrega una opción al menú Buscar que muestra un formulario para buscar y/o marcar interactivamente como en Firefox</li>
</ul>
</li>
<li><strong>samples\Plugins\MoreOptions</strong>:Ejemplo de un plugin que añade una opción &#8220;Opciones extra del editor&#8221; al menú Herramientas y permite personalizar varios aspectos del editor de código</li>
<li><strong>samples\MailSlot\Server y samples\MailSlot\Client</strong>:Ejemplo de uso de Inter Process Communications (IPC) usando MailSlots</li>
<li><strong>samples\WMCopyData\Server y samples\WMCopyData\Client</strong>:Ejemplo de uso de Inter Process Communications (IPC) usando SendWmCopyData y evento TForm:OnCopyData</li>
<li><strong>samples\GdiPlus\Exif</strong>: Mostrar informacion EXIF de imágenes</li>
<li><strong>samples\GdiPlus\Convert</strong>: Conversión entre formatos de imágenes</li>
</ul>
</li>
</ul>
<ul>
<li><strong>Documentación</strong>
<ul>
<li>Actualizada a los últimos cambios</li>
</ul>
</li>
</ul>
<p>Os recordamos que al igual que ocurrió con la versión anterior se requiere volver a registrar el producto ya que ha cambiado la clave de activación.  El registro sólo será posible realizar en máquinas que estén activas y además la licencia tenga la suscripción igualmente activa.</p>
<p>Podrá comprobar hasta que versión puede actualizar consultando su información de registro desde la opción de menú Ayuda-&gt;Información de registro.</p>
<p>Para simplificar el proceso de registro para todas aquellas personas que no puedan acceder vía Web al sistema de registro de Xailer, cada vez que se lance una nueva versión todos los usuarios activos recibirán un Email con la clave de registro para todas las máquinas que tienen activas.</p>
<p>No intente actualizarse a esta versión hasta que tenga absoluta certeza de que tiene derecho a recibirla.</p>
<p>Un cordial saludo,</p>
<p>[El equipo de Xailer]</p>
]]></content:encoded>
			<wfw:commentRss>http://xailer.info/esp/?feed=rss2&amp;p=742</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intellisense (auto completado de código) en Xailer</title>
		<link>http://xailer.info/esp/?p=728</link>
		<comments>http://xailer.info/esp/?p=728#comments</comments>
		<pubDate>Mon, 31 Oct 2011 13:09:06 +0000</pubDate>
		<dc:creator>Ignacio OZ</dc:creator>
				<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Xailer 2]]></category>

		<guid isPermaLink="false">http://xailer.info/esp/?p=728</guid>
		<description><![CDATA[Estimados usuarios de Xailer,
Como bien podéis imaginar por el título de esta publicación, la próxima versión de Xailer (2.5) incluirá soporte de &#8216;Intellisense&#8217; o completado de código al igual que hacen otras herramientas de desarrollo de más renombre.
Xailer será posiblemente el primer entorno de desarrollo basado en [x]Harbour que aporte &#8216;Intellisense&#8217; o completado de código, y [...]]]></description>
			<content:encoded><![CDATA[<p>Estimados usuarios de Xailer,</p>
<p>Como bien podéis imaginar por el título de esta publicación, la próxima versión de Xailer (2.5) incluirá soporte de &#8216;Intellisense&#8217; o completado de código al igual que hacen otras herramientas de desarrollo de más renombre.</p>
<p>Xailer será posiblemente el primer entorno de desarrollo basado en [x]Harbour que aporte &#8216;Intellisense&#8217; o completado de código, y no sólo de funciones, sino también de clases y miembros de las mismas con cualquier nivel de herencia, tanto a nivel de la RTL de Xailer como de los propios proyectos o subproyectos que tenga el usuario abiertos.</p>
<p><span id="more-728"></span></p>
<div>
<p>Entendemos que hoy por hoy es una funcionalidad casi imprescindible en cualquier entorno de desarrollo que quiera realmente ser profesional y de hecho ha sido una de las grandes peticiones que nos han hecho desarrolladores provenientes de otros entornos como Visual FoxPro o Visual Basic, entre otros.</p>
<p>El trabajo no ha sido fácil, ya que como seguro sabréis [x]Harbour, como Clipper, no es un lenguaje estrictamente tipado por lo que todo el trabajo se ha tenido que hacer analizando el código fuente en profundidad y todo ello, con la mayor rapidez posible para que el funcionamiento del editor de código no se resintiese en absoluto del trabajo adicional a realizar.</p>
<p style="text-align: center;"><a href="http://xailer.info/esp/wp-content/uploads/2011/10/Intellisense.png"><img class="aligncenter" title="Intellisense" src="http://xailer.info/esp/wp-content/uploads/2011/10/Intellisense.png" alt="" width="273" height="300" /></a></p>
<p style="text-align: left;">Debido precisamente a que [x]Harbour no es un lenguaje estrictamente tipado, para que el Intellisense funcione correctamente es necesario ayudarle a veces indicándole el tipo de las variables que estamos utilizando o cuando creemos clases indicando el tipo de cada uno de sus miembros.</p>
<p>Como se puede observar en la imagen, al definir la variable oVar hemos indicado que su tipo es <strong>TForm2</strong>. De está forma el IDE es capaz de saber que dicha clase tiene una propiedad de nombre <strong>oLabel1 </strong>que es del tipo <strong>TLabel </strong>y por lo tanto nos muestra todos los miembros de dicha clase, indicándonos si son propiedades, métodos o eventos. La cláusula <strong>AS</strong> puede ser utilizada en la declaración de variables, parámetros de funciones y declaración de miembros de clases.</p>
<p>Para realizar el completado código tan sólo hay que pulsar bien la tecla &#8216;:&#8217; indicando la inclusión de un nuevo objeto, la tecla &#8216;(&#8216; para comenzar el paso de parámetros o simplemente la tecla Intro.</p>
<p>El soporte de &#8216;Calltips&#8217; que hasta ahora veníamos ofreciendo únicamente en funciones de [x]Harbour y Xailer, se amplía con los métodos y eventos de toda la jerarquía de clases de Xailer e incluso con las funciones y clases de usuario que hayan sido creadas en el propio proyecto o subproyectos. Si desea que los &#8216;calltips&#8217; sobre sus propias funciones o métodos indiquen el tipo de dato que retornan puede utilizar la siguiente construcción que como podrá observar se utiliza constantemente en los fuentes de Xailer: <code><span style="color: #0000ff;">// --&gt;</span></code></p>
<p><span style="color: #0000ff;">FUNCTION AtoC( aData ) // &#8211;&gt; cString</span></p>
<p>Actualmente, la versión preliminar de Xailer 2.5 está siendo fuertemente probado por un grupo de usuarios seleccionado, pero esperamos que esté listo en breve.</p>
<p>Un cordial saludo</p>
<p>El equipo de Xailer</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://xailer.info/esp/?feed=rss2&amp;p=728</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

