Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Duda OnValidate (https://www.clubdelphi.com/foros/showthread.php?t=63050)

Kipow 27-01-2009 20:20:11

Duda OnValidate
 
Bueno mas que una duda es una pregunta estoy haciendo esto:

Código Delphi [-]
var
   Guarda : TFieldNotifyEvent;
begin
    S := 'Cualquier cosa';
    Guarda := CDSDet_MovPRODUCTO.OnValidate;
    CDSDet_MovPRODUCTO.OnValidate := nil;
    CDSDet_MovPRODUCTO.AsString := S;
    CDSDet_MovPRODUCTO.OnValidate := Guarda;
end;

en el evento onvalidate de un campo de un clientdataset, necesito modificar el mismo valor de ese campo, considerando ciertas condiciones mias. la situacion es que al asignar el valor de S al campo simplemente no lo asigna.

PD. El codigo esta resumido pero basicamente ahi es donde tengo el fallo.

luisgutierrezb 27-01-2009 21:54:49

Dentro del evento OnValidate nunca te va a asignar valores, el evento es solo para saber si el contenido es valido o no esto si lanzas una excepcion o no, podrias usar el evento beforepost para asignar valores

Kipow 27-01-2009 22:46:46

Te explico un poco mejor para que se comprenda porque lo necesito hacer ahi.

Tengo mi tabla de articulos que tiene 2 llaves unicas, articulo_id y cod_barra, en la tabla de detalle de movimientos la llave principal es articulo_id, pero en la captura de movimientos el usuario puede ingresar o bien el articulo_id o cod_barra, en el segundo de los casos necesito reemplazar el cod_barra ingresado por el articulo_id respectivo. Ya he probado y si me lo modifica al momento de hacer el Post. pero no se porque no lo hace desde el principio. si te podes fijar anulo el evento onvalidate para no caer en un loop infinito y luego lo restauro.

Saludos.


La franja horaria es GMT +2. Ahora son las 12:29:25.

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