Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problemas al migrar de D7 a D2010 (https://www.clubdelphi.com/foros/showthread.php?t=73169)

g_ferrada 05-04-2011 04:23:44

Problemas al migrar de D7 a D2010
 
Estimados, estoy migrando de D7 a D2010, no sin dificultades (y algunas estupideces mías cuando se me pega el cerebro). Mi consulta de hoy es por el siguiente problema.

Tengo un formulario con varios DBEdit conectados a un DataSource para asociar los campos de la tabla que quiero mantener. Algunos valores se modifican directamente en el DBEdit, otros mediante DBCombox, DBLookUpComboBox, y otros mediante código modificando la propiedad .Text del DBEdit. Esto lo tengo funcionando hace mucho en D7, pero al migrar a D2010 no me funcionan correctamente los cambios hechos por código, y me ocurre lo siguiente:
  1. El código modifica el valor del DBEdit (el ejemplo más simple sería un botón que haga DBEdit1.Text:= 'Nuevo nombre'.
  2. Recupero el foco sobre el DBEdit haciendo click con el mouse sobre él
  3. El DBEdit vuelve al valor anterior.

Los cambios realizados con DBComboBox o DBLookUpComboBox, o escritos directamente sobre el DBEdit si se mantienen.

En un principio pensé que podía deberse a alguna particularidad de los DBExpress que comencé a usar en D2010, pero lo hice con Zeos y ocurre lo mismo. No sé si hay alguna propiedad o un procedimiento que llamar, pero llevo un día entero en esto y no sé como solucionarlo.

Agradeceré alguna ayuda.

g_ferrada 05-04-2011 04:25:30

... Obviamente, el valor se pierde antes de hacer el Post sobre la tabla

guillotmarc 05-04-2011 10:24:52

Hola.

Sería mejor que hubieses abierto un hilo nuevo.

Cita:

Empezado por g_ferrada (Mensaje 395837)
Estimados, estoy migrando de D7 a D2010, no sin dificultades (y algunas estupideces mías cuando se me pega el cerebro). Mi consulta de hoy es por el siguiente problema.

Tengo un formulario con varios DBEdit conectados a un DataSource para asociar los campos de la tabla que quiero mantener. Algunos valores se modifican directamente en el DBEdit, otros mediante DBCombox, DBLookUpComboBox, y otros mediante código modificando la propiedad .Text del DBEdit. Esto lo tengo funcionando hace mucho en D7, pero al migrar a D2010 no me funcionan correctamente los cambios hechos por código, y me ocurre lo siguiente:
  1. El código modifica el valor del DBEdit (el ejemplo más simple sería un botón que haga DBEdit1.Text:= 'Nuevo nombre'.
  2. Recupero el foco sobre el DBEdit haciendo click con el mouse sobre él
  3. El DBEdit vuelve al valor anterior.
Los cambios realizados con DBComboBox o DBLookUpComboBox, o escritos directamente sobre el DBEdit si se mantienen.

En un principio pensé que podía deberse a alguna particularidad de los DBExpress que comencé a usar en D2010, pero lo hice con Zeos y ocurre lo mismo. No sé si hay alguna propiedad o un procedimiento que llamar, pero llevo un día entero en esto y no sé como solucionarlo.

Agradeceré alguna ayuda.

Es que eso no es lo aconsejable (a pesar de que en D7 pudiera funcionar).

En realidad lo que tendrías que modificar es el valor del campo asociado a ese DBEdit. Por ejemplo, si el DBEdit muestra el teléfono, entonces tendrías que hacer :

TuDataset.FieldValues['TELEFONO'] := '+34';

Saludos.

Casimiro Notevi 05-04-2011 11:58:44

Amigo, en estos casos se debe crear un nuevo tema, no se deben mezclar porque entonces luego es un desastre encontrar cualquier cosa.

Ya lo he pasado a un tema nuevo en varios y le he puesto un título más o menos descriptivo.

Por favor, échale un vistazo a nuestra guía de estilo, muchas gracias por tu colaboración.

g_ferrada 05-04-2011 15:33:47

Gracias guillotmarc, de la forma que señalaste funciona apropiadamente (aunque personalmente pienso que "debería" funcionar de la otra forma, así lo hacía en D5, D7, y si mal no recuerdo, hasta en D1)

Casimiro, gracias por las indicaciones.
Los vuelvo a molestar luego, de seguro...
Saludos a todos.

Casimiro Notevi 05-04-2011 16:34:03

Cita:

Empezado por g_ferrada (Mensaje 395875)
[..]
Los vuelvo a molestar luego, de seguro...
Saludos a todos.

No hay problema :)


La franja horaria es GMT +2. Ahora son las 20:26:17.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi