FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Acceso a la prop State de ClientDataSet en otro Form
Quiero obtener acceso a la propiedad State de un ClientDataSet1 situado en el Form1 (Form Principal) del UMain1.
Estoy situado en el Form2 (UEdit2) y quiero hacer esto: Tengo en el USES del Form2, referencia al Unit1 (Form1) pero aún así me da error dentro de los corchetes, osea en [dsBrowse]. ¿Alguien me puede ayudar? |
#2
|
||||
|
||||
Hola
Agregaste la unidad DB tambien? Saludos
__________________
Caminante, son tus huellas el camino y nada más; Caminante, no hay camino, se hace camino al andar. Antonio Machado |
#3
|
||||
|
||||
Era eso, efectivamente
Has acertado a la primera. Lo acabo de hacer y ya compila.
¿Qué añade la unidad DB que permite acceder a las propiedades del ClientDataSet? Porque al propio CLS sí que accedía, pero no a sus propiedades. ¿Se puede explicar? Muchas gracias por tu agudeza. No sé que sería de mi sin el Club... Saludos, Bulc |
#4
|
||||
|
||||
¿El compilador te dice que dsBrowse no está declarado? Es porque esa constante pertenece a la unidad DB.
La expresión "Form1.ClientDataSet1.State" no era el problema, sino la expresión "[dsBrowse]". Saludos. |
#5
|
||||
|
||||
Ya sabes... tirando del hilo. Espero no pasarme.
Suponía que la constante csBrowse estaba definida en el ClientDataSet.
De todos modos he puesto Data.DB (y no DB a secas), debido a que es el módulo que veo en la unidad principal. Tengo una función en el Form1 de este avío: y quiero llamarla desde la Form2 así: NumGen:=Form1.REVISA_GEN( Form1.IBQuery1, False, Form2.Label1); Pero el REVISA_GEN se queda subrayado en rojo, osea que es erróneo. ¿Cómo se puede llamar a una función que está en un Form1 desde otro Form2-? Y con esto te doy las gracias. Ya está bien por hoy. No me atrevo a preguntar más. Saludos, bulc |
#6
|
||||
|
||||
Cita:
Seria bueno ver el mensaje de error pero aun asi veo que los parametros en la declaracion y en la forma en que llamas a la funcion difieren. Saludos
__________________
Caminante, son tus huellas el camino y nada más; Caminante, no hay camino, se hace camino al andar. Antonio Machado |
#7
|
||||
|
||||
Tal como la tienes declarada, REVISA_GEN es una función y no un método de Form1. Por tanto, deberías poner sólo:
y -claro- agregar la unidad donde esté declarada en el uses de la unidad donde la uses. También atiende a lo que comenta Caminante, pues el número de parámetros de la declaración no coincide con el de la llamada. LineComment Saludos |
#8
|
||||
|
||||
Hola.
Es que cuando tiras un componente TClientDataSet en el formulario se agrega la unidad DB en la cláusula uses automáticamente. Como función independiente, y desde Form2 se la llama:
Como método de Form1,
y desde Form2 se la llama:
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#9
|
||||
|
||||
Cita:
Saludos
__________________
Caminante, son tus huellas el camino y nada más; Caminante, no hay camino, se hace camino al andar. Antonio Machado |
#10
|
||||
|
||||
El miembro de la clase soy yo
He aprendido un montón de cosas en poco tiempo.
Muchas gracias a todos por vuestra ayuda. bulc |
#11
|
||||
|
||||
No consigo acceder al ClientDataSet del DataModul
Tengo el DataModul en Unit UDataModul4 y su Form FDataModul4 pero no consigo acceder al ClientDataSet1 que contiene desde el Form FEdit2. FEdit2 referencia a UDataModul4 en Uses tras Implementation:
Intento ejecutar: Me da el error: Undeclared identifier 'ClientDataSet1'... Ya sé que es parte de lo anterior, pero he revisado todos los nombres y ... nada. Última edición por bulc fecha: 08-12-2016 a las 12:34:41. |
#12
|
||||
|
||||
Autorespuesta
El error se debía a que el nombre del Form del DataModul4 era DataModule4 (con una e de más). Ya funciona, ok.
Gracias a todos. bulc |
#13
|
||||
|
||||
Además...
Como resultado final:
He colocado la declaración de la Función que obtiene el nº de Generator (Get_Gen_Id) dentro del DataModule colocándola en su Interface. De ese modo accede directamente a los componentes de acceso a Datos (Data Access). Y la llamo al inciar la aplicación con su evento onCreate. Por otro lado también se puede llamar desde otros Forms, puesto que el DataModul está en sus Uses. Gracias. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
buscar registros de un ClientDataSet a otro clientDataSet | novato_erick | Conexión con bases de datos | 2 | 02-02-2013 21:48:09 |
Manipular objetos desde otro objeto en otro form | Nicolas_2011 | Delphi para la web | 8 | 17-11-2012 19:12:51 |
Acceso a objetos/propiedades de otro Form | adrall | OOP | 6 | 30-07-2011 11:15:24 |
llamar al evento click de un boton q se encuentra en un form desde otro form | TURBOIGOR | OOP | 6 | 02-12-2008 15:50:16 |
Imposible hacer visible un form desde otro form | SMTZ | .NET | 13 | 16-01-2006 22:41:08 |
|