jun 122013
 

Buenas

Nueva versión de la GMLib / New version of  the GMLib.

Mensaje en dos idiomas / Post in two languages:


spanish flag Volvemos con una nueva versión de la GMLib, la 1.1.0. No trae muchas novedades, pero sí estudio para futuras versiones…

Continue reading »

abr 152013
 

Buenas,

Post in two languages / Mensaje en dos idiomas:


spanish flag Después de mucho trabajo, tanto en lo laboral como en los componentes, por fin puedo lanzar la versión 1.0.0 final de los mismos. No es que aquí se congelen, sino que he llegado ha realizar todo lo que quería hacer cuando empecé el proyecto. Seguiré evolucionándolos, actualizándolos a las nuevas versiones del API de Google Maps, corrigiendo bugs y, por qué no, añadiendo algún que otro componente/clase/funcionalidad que aun les faltan para terminar de dar cabida a toda el API de Google Maps.

Continue reading »

nov 122012
 

Buenas,

Varios usuarios de la comunidad Delphi me han comentado a ver si existiría la posibilidad de hacer compatible la GMLib con FireMonkey. Recordemos que la GMLib es un conjunto de componentes para Delphi/C++ Builder que encapsulan el API de Google Maps y que necesitan de un navegador para poder mostrar los resultados de las acciones que quiere realizar el usuario. Dado que Delphi sólo trae un navegador (el TWebBrowser), los componentes dependen de él. El problema es que el TWebBrowser sólo está para el framework de la VCL.

Queriendo dar solución a esta parte de la comunidad Delphi y comentando con ellos la necesidad de tener un navegador compatible con FMX, nos «topamos» con los componentes DCEF (Delphi Chromium Embedded Framework), un navegador que encapsula Chrome y que es compatible con los dos frameworks de Delphi, la VCL y FMX (aunque con matices como ahora veremos).

Hay que decir algunas cosas de este navegador. Existen dos versiones, la DCEF1 y la DCEF3, cada una con sus peculiaridades que tendremos que tener en cuenta si queremos usarlos.

DCEF1

Es la primera versión que se ha hecho de estos componentes. Parece una versión que no tendrá más cambios, pero según el autor no es una versión congelada.

Esta versión compila hasta XE2, tanto para VCL como para FireMonkey, pero no lo hace en XE3, al menos el paquete que podemos descargarnos desde su web. Digo ésto porque en los grupos de los componentes he visto una solución para hacerlo compatible con XE3, tanto para VCL como para FireMonkey.

DCEF3

Es la segunda y actual versión de los componentes (no he visto que exista una DCEF2). De momento no tiene todas las características de DCEF1, pero poco a poco se van añadiendo. Esta versión compila hasta XE3, sin embargo no es compatible con FireMonkey, es exclusivamente VCL. Esto es importante saberlo porque si lo que queremos es hacer aplicaciones FireMonkey tenemos que decantarnos sí o sí por DCEF1.

Aparte de lo comentado de cada una de las versiones de TChromium, decir que no existe una versión Win64 para ninguna de las versiones, aunque no porque el autor de los componentes no haya querido, sino porque para Windows aun no hay versión 64 bits de Chrome.

Para terminar los comentarios sobre DCEF, quiero dejar algunos enlaces de interés sobre los mismos:

Con lo que respecta a la GMLib, decir que se hará compatible con la versión DCEF1 dado que es, hasta la fecha, la única versión compatible con FireMonkey. Espero tener pronto preparada esta nueva versión, mientras tanto, a seguir con la VCL jejeje.

Nos leemos

oct 052012
 

Buenas,

Me ha alegrado la noticia de ver que dos sets de componentes opensource con más recorrido en el mundo Delphi como son la JVCL y la ZeosLib han vuelto a cobrar vida.

JVCL Jedi Por lo que a la JVCL respecta, dado que ni en el changelog que acompaña el paquete ni en la web oficial dicen nada de esta nueva versión, entiendo que no trae novedad alguna, «simplemente» se han dedicado a hacerlo compatible con las nuevas versiones de Delphi/C++ Builder.

ZeosLib En cuanto a las Zeos, si bien es cierto que hace pocas horas que ha sido liberada esta nueva versión, en su web oficial tampoco se hace mención a los cambios que pueda llevar. No obstante, en el paquete que nos podemos descargar, en la carpeta doc, sí que tenemos (en formato pdf y html) un listado de las nuevas mejoras. Os invito que le deis un vistazo a las mismas.


Ya puestos, también me gustaría compartir con vosotros una serie de enlaces que puso nuestro compañero Salvador Jover.

Para terminar, decir que nuestro compañero Luis Felipe ha empezado una serie de artículos que hablarán de DataSnap en XE3. El primero es DataSnap: Introducción y ejemplo simple. Documento en Español y Video.

No puedo terminar la entrada sin felicitar a nuestro compañero Juan Antonio (jachguate) por la labor que está realizando traduciendo al castellano el libro Programación paralela con OmniThreadLibrary, el libro.

Ahora sí que ya me despido hasta la próxima.

Nos leemos

oct 052012
 

Buenas,

Hoy liberamos una nueva versión de los componentes GMLib para Delphi/C++Builder. No hay muchos cambios «visibles», pero sí cambios internos y un nuevo componente (y cada vez quedan menos para terminar 🙂 ).

Aquí la lista de cambios:

  • nuevo: compilado para Delphi/C++Buildes XE3.
  • nuevo: nuevo componente TGMElevation para el cálculo de elevaciones de terreno entre diferentes puntos.
  • error: general -> corregidos todos los memory leack encontrados.
  • error: TGMDirection -> no disparaba el evento OnDirectionsChanged.
  • cambio: TBasePolyline -> las clases TLinePoints y TLinePoint se desvinculan de TPolyline y se traspasan a la unit GMClasses.
  • cambio: TBasePolyline -> implementa la interfaz ILinePoint

Como siempre, podéis ver más explicaciones y descargar los componentes en su página.

Qué los disfrutéis!

Nos leemos

sep 122012
 

Buenas,

Estoy aquí de nuevo con otra versión de los componentes GMLib para Delphi/C++ Builder. En esta ocasión no tenemos nuevo componentes (es lo que tiene venir de vacaciones jejejeje), pero al menos he puesto al día los existentes con las nuevas características de la API de Google Maps y les he añadido alguna que otra mejora.

También he incluido un par de librerías OpenSource, la MarkerWithLabel y la StyledMarker. No descarto que en próximas versiones se incluya alguna otra de estas magníficas librerías.

Aquí la lista de cambios:

  • error: algún memory leak corregido (aun queda alguno que miraré de ir corrigiendo) (gracias Donovan)
  • cambio: TGMCircle -> modificados métodos Set y ShowElement para que usen el nuevo método ChangeProperties heredado de TLinkedComponent
  • cambio: GMFunctions -> añadidas nuevas funciones de transformación de tipos
  • cambio: TGMGeoCode-> añadida propiedad booleana PaintMarkerFound. A true se generarán automáticamente los marcadores (si hay un TGMMarker asociado) (por Luis Joaquin Sencion)
  • cambio: TGMGeoCode-> en DoMarkers se codifica la URL generada en UTF8 para evitar problemas con carácteres especiales (ñ, acentos, ….)
  • cambio: TGMMap.TNonVisualProp -> añadida propiedad MapMaker. A true si queremos que los mosaicos de Map Marker se muestren en lugar de los normales
  • cambio: TLatLngEvent -> los eventos de este tipo ahora reciben un nuevo parámetro, X y Y, de tipo Real, con la información del punto (X,Y)
  • cambio: TLinkedComponent -> añadida propiedad booleana ShowInfoWinMouseOver. A true, se mostrará el InfoWindows mientras el ratón esté encima del objeto. Actualmente válido sólo para TMarker (por Luis Joaquin Sencion).
  • cambio: TLinkedComponent -> añadido método protegido ChangeProperties para centralizar en un sólo sitio el cambio de las propiedades de los objectos.
  • cambio: TGMMarker -> modificados métodos Set y ShowElement para que usen el nuevo método ChangeProperties heredado de TLinkedComponent
  • cambio: suprimida clase TMarkerLatLng. Ahora se usa directamente la clase TLatLng
  • cambio: TMarker -> la pripiedad Position ahora es de tipo TLatLng.
  • cambio: TMarker -> añadida propiedad MarkerType para especificar el tipo de marcador a mostrar (mtStandard, mtColored, mtStyledMarker).
  • cambio: TMarker -> añadida propiedad ColoredMarker para especificar la forma del marcador si MarkerType = mtColored.
  • cambio: TMarker -> añadida propiedad StyledMarker para especificar la forma del marcador si MarkerType = mtStyledMarker.
  • cambio: TGMMarker -> añadido método público LoadFromCSV para una carga masiva de marcadores que estén en un archivo CSV (unos 50 marcadores/seg.).
  • cambio: TGMMarker-> 4 nuevos eventos: OnLoadFile y AfterLoadFile para el procesado del fichero CSV, y OnColoredMarkerChange y OnStyledMarkerChange para el cambio de las propiedades
  • cambio: TGMPolygon -> modificados métodos Set y ShowElement para que usen el nuevo método ChangeProperties heredado de TLinkedComponent
  • cambio: creada clase intermedia (TBasePolyline) entre TLinkedComponent y TPolyline. TPolygon desciende ahora de TBasePolyline.
  • cambio: creada clase intermedia (TGMBasePolyline) entre TGMLinkedComponent y TGMPolyline. TGMPolygon desciende ahora de TGMBasePolyline.
  • cambio: TGMPolyline -> modificados métodos Set y ShowElement para que usen el nuevo método ChangeProperties heredado de TLinkedComponent
  • cambio: TPolyline -> nueva propiedad Icon para definir el tipo de linea de la polilinea.
  • cambio: TGMRectangle -> modificados métodos Set y ShowElement para que usen el nuevo método ChangeProperties heredado de TLinkedComponent

Como siempre, podéis ver más explicaciones y descargar los componentes en su página.

Qué los disfrutéis!

Nos leemos

ago 072012
 

Buenas,

Antes de bajar la persiana por vacaciones, quiero presentaros una nueva versión de los componentes GMLib para Delphi. Hay bastantes novedades (sobretodo en el mapa al que se le han añadido varias capas -layers-) y un nuevo componente, el TGMDirections. Aquí la lista de las novedades:

  • Nuevo componente, el TGMDirection, para el cálculo de rutas. Dado que es un componente complejo (por el volumen de clases que intervienen -20 clases nuevas-), agradecería comentarios de funcionalidad.
  • Cambio: se translada a la clase base la función GetConvertedString.
  • Nuevo: TGMObjects -> nueva clase que hereda de TGMBase y de la que heredarán clases como TGMLinkedComponent o TGMDirection
  • Nuevo: TGMMaps -> añadida propiedad Layers para el acceso a las capas (layers) de Google Maps como:
    • Panoramio (clase TPanoramio)
    • Traffic (clase TTraffic)
    • Transit (clase TTransit)
    • Bicyclig (clase TBicycling)
    • Weather (clase TWeather)
  • Nuevo: TGMMaps -> añadidos eventos OnWeatherClick y FOnPanoramioClick.
  • Cambio: TGMMaps -> se cambian los métodos xxToStr y StrToxxx para reducir código.
  • Cambio: TGMMaps -> los métodos Printxxxx y SaveToJPGFile usan los métodos de la unidad WebControls.
  • Error: TGMPolyline -> corregido error cuando se intentaba mostrar una polilineasin TLinePoints.
  • Nuevo: Lang -> añadido el idioma francés (gracias Stéphane).
  • Nuevo: TWebControl -> Se añade método SaveToJPGFile.
  • Nuevo: TSizeable -> añadido método Assign.
  • Error: TSizeable -> cuando no era circular, el radio crecía más que el máximo.
  • Nuevo: TAddressComponent -> añadido método Assign.
  • Nuevo: TAddressComponentsList -> añadido método Assign.
  • Nuevo: TGeometry -> añadido método Assign.
  • Nuevo: TGeoResult -> añadido método Assign.
  • Nuevo: TGoogleBusiness -> añadido método Assign.
  • Nuevo: TGMGeoCode -> se sobreescribe el método Notification para controlar la propiedad Marker.
  • Cambio: TGMGeoCode -> se trasladan los métodos xxToStr y StrToxxx a la clase TTransform de la unidad GMFunctions.
  • Nuevo: TGMGeoCode -> añadido método Assign.
  • Nuevo: TTransform -> nueva clase con transformaciones xxxToStr y StrToxxx para transformar las propiedades tipo Set a string y de string a la propiedad tipo Set.
  • Nuevo: General -> el proyecto se ha dividido en 2 packages para poder compilar en 64 bits en XE2.
  • Nuevo: General -> Compilado para Delphi 2009 y C++ XE2

Como siempre, podéis ver más explicaciones y descargar los componentes en su página.

Qué los disfrutéis!

Nos leemos

jul 122012
 

Buenas,

Pues nada, ya estamos aquí con una nueva versón de la GMLib. Esta nueva versión viene con bastantes cambios y, como no, con un componente nuevo. Aquí tenéis la relación de las novedades:

  • Nuevo componente, el TGMGeoCode, para poder realizar Geocodificaciones (pasar de una dirección a una lat/lng o de una lat/lng a una dirección).
  • Error:  TGMBaseInfoWindow -> la función GetConvertedString ahora tiene en cuenta la comilla simple.
  • Cambio: TGMCircle -> la propiedad Radius pasa a ser un entero.
  • Nuevo: TGMCircle -> añadida propiedad AutoResize.
  • Error: TLatLng -> corregido error en la función LatLngToStr (gracias Erasmo).
  • Cambio: TLatLng -> se controla la posible excepción en la función StringToReal (cambio de string a real).
  • Cambio: TLatLngBounds -> se suprime la función GetCenter.
  • Error: TGMMarker -> se controlan la comilla simple en la propiedad Title.
  • Nuevo: TGMPolyline -> añadida propiedad CountLinePoints.
  • Nuevo: TLinePoint -> añadido método ToStr.
  • Nuevo: TLinePoint -> añadida método StringToReal.
  • Nuevo: TRectangle -> añadido método GetCenter.
  • Nuevo: TGMMap -> añadidos eventos OnActiveChange, OnIntervalEventsChange y OnPrecisionChange.
  • Error: TGMMap -> corregido error en RemoveLinkedComponent cuando se intentaba suprimir un objeto sin estar la lista creada.
  • Cambio: TGMMap -> se controlan los métodos Set de las propiedades Zoom y MapType para actualizar el mapa automáticamente.
  • Cambio: TGMMap -> Zoom, MaxZoom y MinZoom se limitan al rango de 0 a 15
  • Nuevo: TLinkedComponent -> se añade la propiedad Text (visible a todos sus descendientes menos a TMarker porque ya tiene la propiedad Title).
  • Nuevo: TGMLinkedComponent -> añadida propiedad Count.
  • Error: cuando había figuras de diferentes tipos juntas o superpuestas, daba un error de JavaScript al pasar el ratón sobre ellas (gracias Erasmo).
  • Nuevo: mega demo que incluye la gestión de todos los componentes.

Como siempre, más información en la página de los componentes.

Qué los disfrutéis

Nos leemos

jun 262012
 

Buenas,

Siguiendo con los GMLib, hoy os traigo la versión 0.1.4 Pre-Alpha, con los siguientes cambios y novedades:

  • Nuevo componente, el TCircle. Con este componente ya terminamos con las figuras.
  • Nuevo: se ha ampliado la funcionalidad del TGMMap haciéndolo imprimible mediante los métodos PrintNoDialog, PrintWithDialog, PrintPreview y PrintPageSetup, y también la posibilidad de guardar el mapa a un JPG mediante el método SaveToJPGFile.
  • Cambio: cambios en el JavaScript del mapa para evitar duplicidad de código.
  • Error: corregido error en el método LatLngToStr de la clase TLatLng (gracias Shaun)

Como siempre, más información en la página de los componentes.

Que los disfrutéis

Nos leemos