Cuales son las diferencias entre una bpl delphi de expertos y una dll en delphi de expertos

StackOverflow https://stackoverflow.com/questions/6062588

Pregunta

Estoy trabajando en un IDE de delphi de expertos , ahora para evitar problemas de dependencias, estaba pensando en la reconstrucción de este experto como un archivo dll de expertos como se sugirió en uno de estos respuestas, ahora mi experto (compilado como bpl) de acceso a la Screen y Application las variables globales (instancias de la IDE de Delphi), así que me preguntaba si puedo compilar mi experto como un archivo dll todavía puedo accesar a estas variables y también quiero saber which are the main differences between a bpl delphi expert and a dll delphi expert?

¿Fue útil?

Solución

Debo compilar mi asistente como una DLL o un Paquete? Los paquetes son más fáciles de cargar y descargar sin necesidad de reiniciar el IDE (y por lo tanto más fácil de depurar), pero se puede crear la unidad de conflictos de nombres en el IDE.Los conflictos se dan cuando el nombre de un asistente de la unidad coincide con el nombre de de una unidad en otra cargado el diseño del paquete de tiempo.En este caso, ambos paquetes no se puede cargar en el mismo tiempo.La solución recomendada es prefijo de todos los de su unidad de nombres con un "único" como prefijo.GExperts, para ejemplo, utiliza "GX_" como el prefijo de nombre para sus unidades.

De este muy buena fuente de información acerca de la OTA:GExperts

Otros consejos

Cuando tiene acceso a una variable global que esas serían las variables globales que son globales para su archivo DLL no global a la principal BDS.exe.No estoy seguro pero creo que el archivo DLL haría tener su propia Pantalla y la Aplicación de la variable global, si se unen en las Formas, y el núcleo de la VCL.

Las cosas que pertenecen a la IDE de sí mismo se accede a través de las Herramientas de la Api (OTA).Creo que normalmente no compartir objetos entre el IDE de su experto de todos modos, y si usted fuera a tratar de hacerlo, sería problemático.Nada que hacer que no pasa por la OTA va a ser vulnerables a la rotura de manera extraña, especialmente en futuras versiones del IDE.

Los problemas de dependencia son, por supuesto, una gran razón para no utilizar este servicio basado en paquetes, pero creo que incluso más razón es para mantener una separación completa entre la herramienta del interior, y la parte interna de la IDE.

Recuerde que un archivo DLL de destino, como un ejecutable de destino, se enlaza estáticamente.Ese es el núcleo de la diferencia.Si el experto proporciona la funcionalidad que utiliza el derecho público documentado OTA sólo interfaces, para luego mudarse a una DLL debe estar libre de problemas.Si usted usa alguna puerta trasera hacks que son posibles con BPLs, entonces yo no puedo aconsejar más.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top