Taller
>> Taller >> Plugins para FireBird by Danko

NOTA DEL EDITOR: Este texto se escribió hace bastante tiempo ya y se refiere al FireBird original, probablmente a la versión 0.80. Ahora está en desarrollo el FireBird 2 de mano de Javis y Danko.

Debido a que la nueva versión dispone de la posibilidad de utilizar plugins, he decidido escribir este documento que explica como sería posible crear un plugin desde Visual Basic.
No es que sea una tarea muy difícil, pero necesitarás tener un buen nivel de Visual Basic si quieres ir más allá de lo que este documento explica.

Para crear un plugin necesitaremos crear un proyecto del tipo dll Active X, el cual por defecto nos añade un módulo de clase (aunque podemos añadir todos los módulos, formularios, y demás cosas que queramos), que deberemos renombrar a clsPluginInterface y modificar su propiedad Instancing a 6 – GlobalMultiUse. En este módulo deberemos escribir dos funciones que serán llamadas por el Firebird en el momento de la carga de los plugins:

Public Function Run(FormX As Object) As String
On Error GoTo errtrap
......‘Código extra
......Run = vbNullString
......Exit Function
errtrap:
......Run = Err.Description
End Function

La función Run es la que llamará Firebird tras cargar el objeto, FormX representa el objeto del formulario de Firebird, el cual nos servirá si queremos interactuar con el entorno en sí. Sin embargo, sería necesario conocer el nombre de todos los objetos a los que quisiéramos acceder del Firebird para poder realizar esto. Por ejemplo, podríamos cambiar el título de la ventana principal usando FormX.Caption= “Hola”.
En esta función también es donde deberemos escribir todo aquello que se deba ejecutar cuando ejecutemos el plugin. Por ejemplo, si tenemos un formulario llamado Form1 y queremos que se muestre deberemos sustituir el “código extra” por Form1.Show. Puedes mostrar el formulario tanto modal, como no, pero sería aconsejable que el propietario del mismo (segundo parámetro de la función Show) fuese el objeto FormX.

La otra función a escribir sería:

Public Function Identify() As String
......Identify = "Plugin de ejemplo version " & App.Major & "." & App.Minor & "." & App.Revision
End Function

Que solamente sirve para informar al Firebird que nombre debe utilizar en el menú Plugin del mismo.

Y ya está, con estas dos funciones ya tenemos todo lo necesario para que Firebird detecte nuestra dll como un plugin, ahora sólo queda compilar la dll, meterla en la carpeta plugin de Fiirebird y registrarla (inicio->ejecutar: regsvr32 c:\Firebird\plugin\nombre.dll). La próxima vez que cargues Firebird, tu dll estará disponible para usar.

Por último, sería aconsejable que en las propiedades del proyecto que hemos creado, en la ficha componente, estableciésemos “Compatibilidad de la versión” a “Compatibilidad Binaria” y seleccionáramos la dll que hemos creado. De este modo no tendremos que registrar la dll cada vez que la compilemos.

Esto es todo, espero que os sirva y que creéis muchos plugins. Para cualquier duda: amd_danko_k7@terra.es.