![]() |
![]() |
| 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
|
||||
|
||||
|
Sí, sería una copia del otro. Y no olvides liberarlo al final: DSDinamic.Free
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#2
|
|||
|
|||
|
no se si no se entendió.. el código ese no funciona..
|
|
#3
|
||||
|
||||
|
Pues asi no sabría qué decirte, ¿has probado con owner en lugar de self?:
Código:
DSDinamic := TMdoDataset.Create(owner);
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#4
|
|||
|
|||
|
si.. el problema no pasa por ahi, el método Assign es de la clase TPersistent pero la misma no define como se realiza la operación (y con razón, no puede saber como copiar clases que van a descender de ella), simplemente lanza una excepción que es de la q hablo en el primer post
en pocas palabras la clase dataset mdo no lo define, eso lo puse más como ejemplo... yo lo que quiero es usar la información que esta en el .DFM para crear componentes de forma dinámica, sin tener que duplicar todo el módulo completo (y sin tener que asignar las propiedades a manopla) ahora se entiende mejor? |
|
#5
|
||||
|
||||
|
Entonces creo que lo que quieres es algo así:
Código:
procedure TForm1.bt1Click(Sender: TObject);
var
Q2 : TIBDataSet;
begin
try
Q2 := TIBDataSet.Create(Owner);
Q2 := Q1 ; // .Assign(Q1);
ShowMessage(Q2.SelectSQL.Text);
finally
FreeAndNil(Q2);
end;
end;
Edito: Ahora que lo pienso, esa solución no sirve, fallaría la segunda vez que lo asignaras porque al igualar Q2 a Q1, al hacer el FreeAndNil(Q2) también se lo estaría haciendo a Q1. Mejor déjame que saque un poquito de tiempo mañana en el trabajo y lo miro.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal Última edición por Casimiro Noteví fecha: 19-09-2007 a las 21:44:40. |
|
#6
|
|||
|
|||
|
Podrías hacer uso de la RTTI...
Checa este artículo, ahí viene un projecto que tiene un procedimiento llamado CopyObject http://www.blong.com/Conferences/Bor...RTTI/CB140.htm Saludos... |
|
#7
|
||||
|
||||
|
Yo tengo una forma base con una funcion que me crea los datamodulos
Luego en la forma que ocupa crear el datamodulo por ejemplo un catalogo base tengo
Ademas tengo un datamodulo base para los catalogos
Despues solo heredo un frmCatalogo y un dmCatalogo para cada catalogo que voy hacer y les pongo el mismo nombre por ejemplo frmCatalogoArticulos y dmCatalogoArticulos con eso ya se crean solos Ademas pongo en initialization de cada uno que heredé que se registre su clase por ejemplo RegisterClass(TfrmCatalogoArticulos) y RegisterClass(TdmCatalogoArticulos) Espero que te pueda servir saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Componentes Dinamicos (contenedores) | JULIOCTORRESG | Varios | 7 | 22-11-2020 00:48:39 |
| como crear componentes dinamicos | sErgis | .NET | 3 | 06-06-2011 17:10:05 |
| Problemas con componentes dinámicos | mamaro | OOP | 2 | 14-10-2004 17:14:06 |
| Destrucción de componentes dinámicos | rafita | OOP | 5 | 16-04-2004 18:06:17 |
| Crear Forms Dinamicos | diegofhernando | Varios | 1 | 25-01-2004 02:26:19 |
|