![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Cita:
La aplicacion esta constantemente realizando los chequeos (esta todo el tiempo recorriendo los ActionList y ejecutando los eventos OnUpdate), lo cual puede terminar siendo un gasto innecesario ![]() Saludos |
|
#2
|
||||
|
||||
|
No me parece un argumento sólido. En cualquier aplicación siempre hay algo recorriendo los controles y verificando cosas (ya seamos nosotros mismos o el sistema operativo). Desde luego, si las validaciones son muy complejas (como, por ejemplo, incluir consultas a base de datos) se puede ver afectado el rendimiento de la aplicación, pero bien utilizadas no tiene por qué dar problemas. Y, al final de cuentas, las acciones resumen mucho de lo que uno termina programando en aras de evitar lo que comentas desde un principio.
LineComment Saludos |
|
#3
|
||||
|
||||
|
Sigo pensando que exponer un metodo es mejor
Como ejecutas una accion desde afuera del form en cuestion? |
|
#4
|
||||
|
||||
|
Ah, pero es que yo no estoy peleado con lo que propones. Su usamos el manejador de una acción para todo, terminamos simplemente traslandando el problema a otro lugar.
De todas formas, habría que ver las justificaciones en cada caso particular para llamar desde el exterior un determinado método. Por ejemplo, ¿por qué llamar al método GuardarArchivo? No digo que sea el caso, pero posiblemente GuardarArchivo no debería ser, en primera instancia, un método del formulario, sino de otro objeto al cual llama el formulario. Es decir, ¿por qué anexar el método final para guardar un archivo a la interfaz de usuario que pregunta dónde guardarlo? Repito, no es que sea el caso, pero habría que ver en cada situación las justificaciones. LineComment Saludos |
|
#5
|
||||
|
||||
|
Yo tampoco estoy peleando, es simplemente un intercambio de ideas
![]() Estoy de acuerdo con lo que propones:
Eso es genial, pero lo que a mi me molesta es que si yo quisiera, podria hacer esto:
La "solucion" es meter el ActionList en la parte privada del form e instanciarlo en runtime Pero es muy incomodo, a todos nos gusta diseñar forms con el IDE; por codigo es mucho mas tedioso (una subclase de TForm es "posible" manejar el layout de todo los controles por codigo, pero cuando estas por los tataranietos de TForm?? se hace imposible)
|
|
#6
|
||||
|
||||
|
Ja, ja. Nunca quise decir que estuviéramos peleando. Dije:
Cita:
Cita:
![]() LineComment Saludos |
|
#7
|
||||
|
||||
|
Cita:
Claro que es así. El asunto no es de posibilidades, sino de comodidad , pero mas importante, de claridad y que el código sea correcto. El problema de la GUI es que los datos se "mueven" en el tiempo, y esto muta los objetos. Mantener la coordinación requiere moverse entre varios lugares (que cierto que acciones y demás cosas ayudan). La idea aqui es como evitarlo? Como centralizarlo? Como "aplanar" el proceso? ----- Pensemos por ejemplo, en el caso de la pantalla de login, que ademas chequea en tiempo real si el usuario ya esta tomado, y obtiene el gravatar de ese correo. Debe ademas actualizar la interface de forma correcta, no interrumpir y que ademas cuando le de "Login" cancele cualquier solicitud de red pendiente. En un estilo tipico, esto seria relativamente engorroso de hacer. Veamos como es al estilo de "Programacion Reactiva". Me perdonan la syntaxis inventada pero me di cuenta que si lo hago en otros lenguajes le puedo meter cosas que tocaria explicar. Código PHP:
El estilo anterior tiene la contra de que es un monton de callbacks y eso se pone algo pesado a la vista. Es mucho mas limpio si se hace con Communicating sequential processes, pero lastima no hay mucho de eso en el mundo GUI. El asunto es que se requiere algo de ayuda del lenguaje para que sea natural de operar.
__________________
El malabarista. |
|
#8
|
||||
|
||||
|
No olviden que no es necesario programar "en visual". Me explico: crear componentes con código. Puedes crear toda la aplicación sin usar el diseñador ni los recursos, haciendo herencia, poniendo los componentes en la sección PRIVATE de nuestros objetos de ventana... Mucho más OO, y encima genera ejecutables más pequeños.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi! - BAScript - Multi Language Scriptable Development Environment |
|
#9
|
||||
|
||||
|
Claro que se puede, pero es más difícil
Diseña un reporte con una línea de herencia de 3 o 4 clases, vamos que no está fácil ![]() |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| MDI Forms | karocs | Varios | 8 | 12-07-2007 16:38:03 |
| MDI Forms | La__X | C++ Builder | 3 | 01-06-2006 06:08:00 |
| Forms | nenufer | Varios | 5 | 17-05-2006 22:16:37 |
| dll con forms | Rafa | Varios | 10 | 15-02-2005 20:43:11 |
| Forms.....por fa | buitrago | Varios | 1 | 19-11-2003 22:42:52 |
|