![]() |
![]() |
| 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
|
||||
|
||||
|
Pues lepe diste justo en el blanco...
Disculpen que habra este hilo desde hace tiempo... lo que pasa es que yo estaba buscando en los foros algo que me ayude a determinar un error.
Hace un tiempo dejé un hilo inconcluso. Pues, empecé a retomarlo... y estuve metiendo código. Veran, estoy declarando un descendiente de TForm ,lo llamé TExpertForm. Pues en dicha forma se encapsulan procedimientos y propiedades que permitan realizar visualizaciones tanto en forma modales como no modales... y que funcionen tanto para aplicaciones MDI como SDI (es asi? )Me leí todo y al llegar aqui: Cita:
Hasta ahora (todavia estoy viendo esto) el código que tengo es como sigue:
Me preguntaba si se podrá realizar lo que pretendo... se que tiene errores... y algunos los veo ahorita. Mi pregunta mas que nada pasa por el hecho de como controlar que se pueda operar tanto para una sola instancia como para varias. Desde ya muchas gracias, Saludos, Última edición por Delphius fecha: 07-01-2007 a las 06:13:07. Razón: EDITO: agregé el link hacia el hilo inconcluso. Correcciones de ortografía |
|
#2
|
||||
|
||||
|
Aclaro algunas cosillas...
Me pareció oportuno aclarar algo sobre el código que expuse anteriormente. Mi intención (pues.. el código está en versión 0.0beta
![]() )no es simplemente contar con un form especializado en mostrarse modal o no, con o sin instancias multiples. Si se fijan bien... tiene en su estructura interna un array del tipo variant. El mismo está pensado para llevar en el cualquier variable que usualmente uno declararía en la unidad. Lo que evitaría tener que estar declarando variables... (eso pretendo yo). Sólo bastaría con asignarles valores a las posiciones que uno desea. Por ejemplo: que Vars[1] indique CantidadActualPedidos. No se si la idea es buena... tiene su defecto... al destruir la forma todo se pierde (por tanto la solución es usar variables globales) [en lo personal... no me gusta emplear demasiada variables globales]. Comento esto ya que para alguno tal vez le sirva... y le de una idea, y para que se me entienda mejor. Entonces, la forma mantiene encapsulada funciones para manejar el vector y va a tener... (pues todavia falla) funciones para mostrarse adecuadamanete según sea necesario. Si alguien ya tiene algo parecido, o si creen que estoy inventando la rueda me avisan. Saludos, |
|
#3
|
||||
|
||||
|
Sobre el Variant.... a ver si esto le ves alguna utilidad
.Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 10-10-2007 a las 20:58:14. |
|
#4
|
||||
|
||||
|
claro... es muy util
Cita:
, jaja. La verdad que esta buena esa unidad. Estaba por ponerle métodos y funciones parecidas a la que tiene. Es que como nunca había utilizado Variant estuve viendo la ayuda sobre este tipo, para darme idea y note que habia funciones para conversiones...Por ahora me estaba por concentrar en tratar de elaborar funciones para que la ventana se muestre modal, no modal, que permita una o mas instancias, MDI, etc... y como esto es algo más para el aspecto estetico de mis aplicaciones es algo que le dedico poco esfuerzo. Mi mayor concentración está por el momento en la lógica y diseño de unidades de bajo y medio nivel. Si bien esta unidad (TExpertForm) me viene barbaro para el aspecto visual... si no me sale.., no hay drama. Lo que importa es que la lógica ande. Si tengo novedades y problemas sobre este aspecto, estaré metiendo dudas. Saludos, |
|
#5
|
||||
|
||||
|
Como bien dices, hay métodos para convertir el variant, pero al usar dichas conversiones en el programa final, se enrolla mucho el código, por eso mismo creé esa unidad, es más práctico.
Yo lo veo usando un TObjectList con cada VariantElement, así quitaríamos el array que se crea siempre. Pero bueno, si de momento no te sirve... ahí queda para cualquiera. En tu código hay algo que no entiendo muy bien: Assigned(Self) se refiere a la instancia de TEXpertForm; como siempre haremos algo así: El ExpertForm siempre estará creado, por tanto, jamás entrará en esa rama. Si el ExpertForm no está creado previamente, delphi nos lanzará un access violation al intentar acceder al método ViewModal (o cualquier otro), antes de intentar ejecutarlo, por ende, tampoco le veo sentido a "With Create(Application)" No entiendo muy bien la filosofía que sigues, ya que en principio debe existir una instancia de ese ExpertForm, quizás viendo el código del "programa de usuario" (el que usa el módulo ExpertForm), entendería la funcionalidad que quieres crear. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#6
|
||||
|
||||
|
Cita:
Cita:
Cita:
Pues, el objetivo es determinar si ha sido creada una instancia de la forma. Si la hay, mostrarla, si no la hay... primero crearla. Y pruebas que hice, esta parte funciona. Haz la prueba: 1. Agrega al dpr la unidad. 2. Hereda la forma y desactivala de las auto-creadas. 3. Al form1 dale un código donde te guste: ¡La forma se crea, y modal! Ha decir verdad... las pruebas que he realizado me han indicado que sólo funcionan (ViewModal y ViewNotModal) siempre y cuando no esté en auto create forms. Eso si... no recuerdo bien si hice cambios y luego verifique, mis disculpas. Ya me pongo a ver si es asì. Pero de las pruebas que hice, es como describo. Utilidad que pretendo es encapsular todo y dejar que sea la misma forma decida como debe mostrarse (según las propiedades seteadas) y ofrecer publicamente sólo algunas de las propiedades y funciones. Por ejemplo: tanto ViewModal como ViewNotModal deben ser declaradas en forma privada y sólo dejar View. El hecho de tener ese array de variables, es para permitir el flujo de datos entre unidades. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Diferencia entre aplicacion Clx y aplicación normal??? | JorgeBec | Varios | 1 | 27-10-2004 17:30:49 |
| aplicacion vertical? aplicacion horizontal? | maruenda | Varios | 3 | 28-02-2004 23:23:20 |
|