Diferencia entre revisiones de «PrxDataTypes»

De Pragma Wiki
Ir a la navegación Ir a la búsqueda
Línea 92: Línea 92:
===TprxADODataSetMessageType===
===TprxADODataSetMessageType===
Son los tipos de mensaje enviados:
Son los tipos de mensaje enviados:
*msgInsert indica inserción del dataset.
*'''msgInsert''' indica inserción del dataset.
*msgEdit indica edición.
*'''msgEdit''' indica edición.
*msgBeforePost justo antes de hacer post.
*'''msgBeforePost''' justo antes de hacer post.
*msgPost en el momento de hacer post.
*'''msgPost''' en el momento de hacer post.
*msgCancel cuando se cancela la operación corriente.
*'''msgCancel''' cuando se cancela la operación corriente.
*msgBeforeDelete ejecutado justo antes de eliminar un registro.
*'''msgBeforeDelete''' ejecutado justo antes de eliminar un registro.
*msgDelete ejecutado al eliminar.
*'''msgDelete''' ejecutado al eliminar.
*msgApplyUpdates cuando aplica los cambios a la base de datos.
*'''msgApplyUpdates''' cuando aplica los cambios a la base de datos.
*msgEnable habilita algo.
*'''msgEnable''' habilita algo.
*msgDisable deshabilita algo.
*'''msgDisable''' deshabilita algo.
*msgFocus setea foco, normalmente en un control visual.
*'''msgFocus''' setea foco, normalmente en un control visual.
*msgFindFocus busca el foco de un control o del control que representa un campo.
*'''msgFindFocus''' busca el foco de un control o del control que representa un campo.
*msgRepaint indica que hay que volver a dibujar la pantalla.
*'''msgRepaint''' indica que hay que volver a dibujar la pantalla.
*msgScroll cuando se cambia de un registro a otro.
*'''msgScroll''' cuando se cambia de un registro a otro.
*msgNewRecord cuando vamos a insertar un nuevo registro.
*'''msgNewRecord''' cuando vamos a insertar un nuevo registro.
*msgExistingKey enviado cuando estamos insertando e ingresamos una clave primaria ya existente.
*'''msgExistingKey''' enviado cuando estamos insertando e ingresamos una clave primaria ya existente.
*msgTabStop indica que un control puede recibir foco.
*'''msgTabStop''' indica que un control puede recibir foco.
*msgRefresh
*'''msgRefresh''' cuando se refrescan los datos de un dataset.
*msgOnEnter ejecutado cuando el foco entra a un control.
*'''msgOnEnter''' ejecutado cuando el foco entra a un control.
*msgOnExit ejecutado cuando el foco sale de un control.
*'''msgOnExit''' ejecutado cuando el foco sale de un control.
*msgApplyMasterKey ejecutado cuando aplicamos la clave maestra en un detalle.
*'''msgApplyMasterKey''' ejecutado cuando aplicamos la clave maestra en un detalle.
*msgActivate cuando se activa el dataset (cuando se instancia el form y está todo listo para que el usuario lo use).
*'''msgActivate''' cuando se activa el dataset (cuando se instancia el form y está todo listo para que el usuario lo use).


===type TprxADODataSetMessage = record===
===type TprxADODataSetMessage = record===

Revisión del 21:14 16 may 2025

Introducción

Los datasets (al igual que cualquier componente de Delphi) usan activamente el envío de mensajes y eventos entre componentes. Esta unidad define eventos y mensajes específicamente creados para los datasets de Pragma. La unidad solo define declaraciones y no tiene implementación. Se listan las definiciones más importantes.

Identidad

  • Carpeta: C:\DevelopPrx\library
  • Archivo: prxDataTypes.pas

Definiciones generales

type
  TprxOnLocalFrameClose = procedure (aTimeStamp: String) of object;

type
  TprxNotifyEventWithContinue = procedure (Sender: TObject; var aContinue: Boolean) of object;

// Modo de edición de prxDBEdit y prxComboBox...

type
  TprxEditDataType = (edtCombo, edtAlpha, edtInteger, edtFloat, edtBoolean);

// Llamada para cargar valores existentes de un campo en una grilla...

type
  TprxDBGridGetColumnValues = procedure (aFieldName: String; aList: TStringList) of object;

// Llamadas para el OnEnter y OnExit internos (programados)...

type
  TprxADOFieldOnEnterInternal = procedure (aDataSet: TDataset; aFieldName: String) of object;

type
  TprxADOFieldOnExitInternal = procedure (aDataSet: TDataset; aFieldName: String) of object;

type
  Tprx_show_progress_procedure = procedure (a_index: Integer; a_count: Integer) of object;

Definición de mensajes del TprxADODataSetEdit

const
  MSG_PRXADODATASETMESSAGE = WM_USER + 400 + 1001;

type
  TprxADODataSetMessageType = ( msgInsert
                              , msgEdit
                              , msgBeforePost
                              , msgPost
                              , msgCancel
                              , msgBeforeDelete
                              , msgDelete
                              , msgApplyUpdates
                              , msgEnable
                              , msgDisable
                              , msgFocus
                              , msgFindFocus
                              , msgRepaint
                              , msgScroll
                              , msgNewRecord
                              , msgExistingKey
                              , msgTabStop
                              , msgRefresh
                              , msgOnEnter
                              , msgOnExit
                              , msgApplyMasterKey
                              , msgActivate
                              );

type
  TprxADODataSetMessage = record
    Msg: Cardinal;
    Sender: TComponent;
    FieldName: String;
    Operation: TprxADODataSetMessageType;
    Value: Variant;
    Enabled: Boolean;
    end;

type
  TprxADODataSetIdentidadTransaccion = record
    Catalogo: String;
    TipoDato: String;
    end;

MSG_PRXADODATASETMESSAGE = WM_USER + 400 + 1001

Los mensajes se envían dentro de una estructura tipo record y necesitan un número de mensaje que es el definido en esta constante.

TprxADODataSetMessageType

Son los tipos de mensaje enviados:

  • msgInsert indica inserción del dataset.
  • msgEdit indica edición.
  • msgBeforePost justo antes de hacer post.
  • msgPost en el momento de hacer post.
  • msgCancel cuando se cancela la operación corriente.
  • msgBeforeDelete ejecutado justo antes de eliminar un registro.
  • msgDelete ejecutado al eliminar.
  • msgApplyUpdates cuando aplica los cambios a la base de datos.
  • msgEnable habilita algo.
  • msgDisable deshabilita algo.
  • msgFocus setea foco, normalmente en un control visual.
  • msgFindFocus busca el foco de un control o del control que representa un campo.
  • msgRepaint indica que hay que volver a dibujar la pantalla.
  • msgScroll cuando se cambia de un registro a otro.
  • msgNewRecord cuando vamos a insertar un nuevo registro.
  • msgExistingKey enviado cuando estamos insertando e ingresamos una clave primaria ya existente.
  • msgTabStop indica que un control puede recibir foco.
  • msgRefresh cuando se refrescan los datos de un dataset.
  • msgOnEnter ejecutado cuando el foco entra a un control.
  • msgOnExit ejecutado cuando el foco sale de un control.
  • msgApplyMasterKey ejecutado cuando aplicamos la clave maestra en un detalle.
  • msgActivate cuando se activa el dataset (cuando se instancia el form y está todo listo para que el usuario lo use).

type TprxADODataSetMessage = record

Define el registro usado para enviar mensajes, algunos campos son:

  • Sender es el componente que envía el mensaje.
  • FieldName en caso de que el mensaje se relacione con un campo su nombre se pone aquí.
  • Operation indica la operación tomándola de TprxADODataSetMessageType.
  • Value valor informado.
  • Enabled se completa con True o False según el emnsaje.