FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
LLamar procedimiento de creación de Objetos.
Un gran saludo a todos.
Bueno, como había comentado en otros hilos, trabajo en la realización de un proyecto que debe crear en tiempo de ejecución algunos componentes, tales como Nuevos Tab, Webbrowsers, etc. El tema es que la aplicación ya está hecha, y funciona de maravilla. Ahora, me alisto, para publicar una segunda versión, con algunas nuevas características que el usuario ha pedido. Revisando un poco, el código de la aplicación, el cual de momento es muy extenso, veo que sería posible en lugar, de repetir en distintos procedimientos las mismas instrucciones, podría en una Funcion, o procedimiento dar la instrucción, y luego en cada instancia del programa, hacer un llamado a esta. El caso es que tengo problemas, para hacer esto, en lo refernte a la creación de objetos en tiempo de ejecución. Aqui pongo un ejemplo del procedimiento que crea nuevos tabs en el formulario del programa... Código:
procedure TForm1.NewTab1Click(Sender: TObject); begin NewTab := TTabSheet.Create(Self); NewTab.Caption := ' New Tab ' + IntToStr(PageControl1.PageCount + 1); NewTab.PageControl := PageControl1; PageControl1.ActivePage := NewTab; end; Ahora bien, resulta que tengo que llamar este procedimiento unas 25 veces, por lo cual, en la primara versión del programa, simplemente copié y pegué las veces necesarias las líneas de codigo. Esta mañana intentaba entonces, llamar desde los otros 24 procedimientos, este en particular, pero siempre de algún modo obtenía un error, siendo el más comun, el compilador no reconocer el término "Self", luego de la palabra "Create". Agradecería mucho, si alguien pudiese explicarme un poco, el modo de llamar procedimientos, para reducir un poco código que hace por momentos, enredado, y redundante, un programa propenso a errores. Mil gracias, y nuevamente, un gran saludo. Julián. |
#2
|
||||
|
||||
Cita:
En caso de no tener claro qué es en sí un constructor, la sugerencia sería averiguarlo entonces primero. Y si es necesario que repases las bases de POO, pues adelante, partir desde ahí. Por la forma en que describes el problema, no pareces estar muy preparado para llevar a cabo la reorganización de código que señalas. Pero no te desanimes. Entre estos foros, la estupenda ayuda de las versiones decentes de Delphi y un montón de tutoriales y libros que hay por ahí lo lograremos. Pregunta con confianza (temas nuevos en hilos nuevos, de preferencia). Al González. |
#3
|
|||
|
|||
Mil gracias por responder.
Muchas gracias, por ayudarme.
Verás, no encontré mucha información sobre el tema específico que buscaba, de modo que realicé algunas pruebas, hasta dar yo mismo con la solución. Encontré que, para llamar estos procedimientos, desde otros, los llamaba por su nombre, y agregaba (Sender); Funcionó de maravilla. Ahora bien, no se si, este es un modo legal de llamar ´rocedimienros, o por el contrario, puede ser sujeto a errores. Un gran abrazo, y nuevamente mil gracias. Julián |
#4
|
||||
|
||||
Para reducir codigo en tu aplicacion yo te recomendaria usar el componente TActionManager (pestaña Additional de la paleta), este componente te permite crear acciones que luego puedes engancharlas a cualquier evento, en el caso tuyo al evento Onclik de tu button, eso se consigue utilizando la propiedad Action de tu boton y seleccionando la accion creada en tu TActionManager.En otras palabras es como escribir un procedimiento y llamo a ese procedimiento desde cualquier parte del programa de esa manera me ahorro lineas de codigo repetitivas, pero en este caso tan solo seleccionando la accion especifica se hace todo..
Hechale una miradita al TActionManager y veras que tambien sirve para mejorar el aspecto visual de una aplicacion para lo cual te aconsejo un buen tutorial de dicho componente. Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
llamar Procedimiento almacenado en una consulta | tcp_ip_es | MySQL | 3 | 17-06-2008 12:47:38 |
creacion objetos | MOCOSO07 | Varios | 4 | 04-04-2008 22:35:04 |
Ayuda, como llamar a un procedimiento desde otro procedimiento? | Ariatna | Varios | 1 | 01-02-2005 04:05:35 |
ayuda al llamar un procedimiento... | ronimaxh | Firebird e Interbase | 8 | 27-04-2004 01:53:33 |
llamar procedimiento | cmgenny | Varios | 2 | 12-08-2003 00:28:13 |
|