PDA

Ver la Versión Completa : como duplico intancias TtabSheet


orfeo
11-05-2003, 07:13:28
hola, Uso Delphi 6 y nesecito crear un TtabSheet de otro TtabSheet, (una copia de una instancia ya existente).

Supongamos que el siguiente procedimiento, devuelve un puntero de la instancia TtabSheet original de un formulario llamado from1

from1.getTabSheet(pubTabSheet);

luego con un

pubTabSheet.PageControl:= pcMensual;

hago que aparesca en el pageControl 'pcMensual', pero esto no hace una copia de la instancia pubTabSheet, solo cambia quien hace el control;
Si yo realizo un from1.close; se pierde la instancia direccionada por pubTabSheet y nesecito que esta quede.

No se si se entendio, lo que quiero es duplicar una instacia? es posible hacer esto en delphi?

__marcsc
11-05-2003, 11:32:44
Hola,



Si yo realizo un from1.close; se pierde la instancia direccionada por pubTabSheet y nesecito que esta quede.



No acabo de entender exactamente lo que quieres, pero si trabajas con instancias de forms creadas en tiempo de ejecución es normal que esto ocurra... Sin embargo, si intentas crear tu nuevo TabSheet en el evento OnShow del form, simpre que hagas un Close y luego lo vuelvas a mostrar, volverás a crear la instancia.

Podrías explicar un poco más lo que quieres? No acabo de entender si lo que quieres es simplemente agregar una página del PageControl en tiempo de ejecución, si quieres tener una copia de una página con todos los componentes que contiene...

Saludos.

orfeo
12-05-2003, 05:15:04
>Podrías explicar un poco más lo que quieres? No acabo de
>entender si lo que quieres es simplemente agregar una
>página del PageControl en tiempo de ejecución, si quieres
>tener una copia de una página con todos los componentes
>que contiene...

Lo que quiero es lo segundo, tener una copia de una página (solapa) con todos los componentes que contiene.

susece asi: tengo fromA con una solapa llamada solapa1, luego en otro formulario fromB, deceo que tenga una solapa llamada solapa2 y que solapa2 sea una copia de solapa1 del formA, solapa2 debera tener todos los componentes de solapa1, pero no como punteros a intancias del fromA. , sino como una instancia nueva

la secuncia de creacion es:

creo a fromB
creo a fromA
trabajo con fromA, modifico la solapa solapa1
destruy a fromA
quiero segir trabajando con los datos de solapa1
en solapa2


Se que es medio dificil explicar lo que quiero, porque es una chanchada de programacion...
pero yo quiero:

Solapa1: TtabSheet;
Solapa2: TtabSheet;

solapa2:= hacerCopia( Solapa1);

y ahora tener dos TtabSheet independiantes, tener dos instancias de TtabSheet, a diferencia de hacer un solapa2:= Solapa1; que solo tengo una untancia con dos puntetos a ella.

existe en delphi una funcion hacerCopia que haga lo que yo quiero?
y si no es asi, como puedo hacer que no se destrulla la instancia apuntada por solapa1, cuando destrullo a fromA