Galería de interfaces de usuario escritas en MQL - página 19

 
Nikolai Semko # :



Bueno Ok no proporcionaste este archivo, por eso hago suposiciones. Esperemos la versión con todos los archivos para poder probarlo en vivo.

Leí cuidadosamente tu conversación a través del traductor, Nikolay Semko creo que tienes razón, espero que mis palabras no ofendan al autor, tus habilidades de programación son excelentes.
La mejor manera de manejar los eventos es utilizar una implementación de puntero que separa el archivo Internal_API.mqh creado por el motor.
Cuando un botón es presionado o liberado, esos son los dos eventos. El motor puede generar una función para el botón, como setButton1Click(void* ptr), y luego llamarla en el evento: ptr() del botón, esta cadena "setButton1Click(void* ptr)" es llamada por el usuario. en su EA, el ptr es un puntero a la función, completamente explicado en el archivo del usuario, por lo que Internal_API seguirá funcionando bien, pero no necesita ningún cambio.
Eso es lo que yo entiendo, de todas formas, sigo esperando la obra maestra del autor.
 
No se si harás open source del motor GUI , si será open source , creo que alguien colaborará para mejorar este proyecto, si no será open source , lo entiendo perfectamente , es tu trabajo.
 
Si escribo gran parte de mi propio código de procesamiento en Internal_API, cuando cambie la interfaz gráfica de usuario, vuelva a añadir botones y genere Internal_API, ¿significa eso que tengo que copiar el código de la antigua Internal_API en el nuevo archivo Internal_API?
 
Trate de convertir en un formato digerible en un artículo.... y proporcionar el material en su totalidad - para que sea más interesante.....

 
hini proyecto, si no es open source lo entiendo perfectamente, es vuestro trabajo.
El motor y el Builder serán de código abierto y cualquiera podrá hacer los cambios que desee, aunque no recomiendo hacerlo sin un conocimiento profundo de su funcionamiento.

El motor es esencialmente una pequeña copia del constructor. Por conveniencia de conexión se coloca en un solo archivo. El motor contiene los mecanismos necesarios para el funcionamiento de los controles y ventanas, pero no los responsables de crear una GUI según las instrucciones del código de marcado. Acepta los eventos de la función OnChartEvent() del asesor/indicador de usuario e implementa las reacciones y el comportamiento de la GUI.
 
hini GUI, añado botones de nuevo y genero Internal_API, ¿significa eso que tengo que copiar el código del antiguo Internal_API en el nuevo archivo Internal_API?
En parte, sí. Cambiar la GUI puede ser diferente. Por ejemplo, si cambias algunas cosas decorativas de la interfaz sin añadir nuevos elementos (esto es importante), no necesitas imprimir un nuevo fichero Internal_API. Pero si creas nuevos elementos, ventanas, tablas, o les cambias el nombre, entonces el fichero API debe ser corregido o reemplazado copiando el código del primero al nuevo. En principio, esto no es muy difícil, pero depende del número de cambios realizados. Por lo tanto, es aconsejable terminar primero la interfaz en el constructor, para no tener que hacer este trabajo repetidamente.
 
Roman Shiredchenko #:
Trate de convertir en un formato digerible en un artículo.... y proporcionar el material en su totalidad - para que sea más interesante.....

Si hay interés público, sí.
 
Реter Konow #:
En parte, sí. Cambiar la GUI puede ser diferente. Por ejemplo, si cambias algunas cosas decorativas en la interfaz sin añadir nuevos elementos (es importante), no necesitas imprimir un nuevo fichero Internal_API. Pero si creas nuevos elementos, ventanas, tablas, o les cambias el nombre, entonces el fichero API debe ser corregido o reemplazado copiando el código del primero al nuevo. En principio, esto no es muy difícil, pero depende del número de cambios realizados. Por lo tanto, es aconsejable terminar primero la interfaz en el diseñador para no tener que hacer este trabajo repetidamente.
Es difícil diseñar la interfaz de antemano, y no es raro mejorar la interfaz mientras se trabaja en ella, a veces eliminando un elemento, o añadiendo algo.
 
hini #:
Es difícil diseñar la interfaz de antemano, y no es raro mejorar la interfaz mientras trabajas en ella, a veces eliminando un elemento, o añadiendo algo.
Como he dicho antes, no es difícil cambiar el archivo API si lo necesitas. Sólo tendrías que copiar bloques de llamadas a funciones del antiguo e insertarlos en el nuevo. En realidad es fácil. Especialmente con la ayuda de cualquier editor de texto. Pero ME seguramente será suficiente.

Por mi experiencia, nunca ha sido un problema. ))
 
Реter Konow #:
Como he dicho antes, no es difícil cambiar el archivo API si lo necesitas. Basta con copiar el bloque de llamada a la función del archivo antiguo e insertarlo en el nuevo. Esto es en realidad bastante simple. Especialmente con la ayuda de cualquier editor de texto. Pero seguro que ME basta.

En mi experiencia, nunca ha sido un problema)).
OK, entendido. ¡A la espera de su lanzamiento!