Ver Mensaje Individual
  #1  
Antiguo 15-02-2012
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Reputación: 18
richy08 Va por buen camino
Access Violation con dato tipo record

buenos dias compañeros tengo una duda que no he podido resolver y no encuentro informacion sobre esto, estoy revisando un codigo donde se crea un tipo record de esta forma

Código Delphi [-]
type
  TRegClienteProveedor = Record
    cCodigoCliente                      : Array[0..kLongCodigo] of Char;
    cRazonSocial                        : Array[0..kLongNombre] of Char;
    cFechaAlta                          : Array[0..kLongFecha] of Char;
    cRFC                                : Array[0..kLongRFC] of Char;
    cCURP                               : Array[0..kLongCURP] of Char;
    cDenComercial                       : Array[0..kLongDenComercial] of Char;
    cRepLegal                           : Array[0..kLongRepLegal] of Char;
    cNombreMoneda                       : Array[0..kLongNombre] of Char;
    cListaPreciosCliente                : LongInt;
    cDescuentoMovto                     : Double;
    cBanVentaCredito                    : LongInt; // 0 = No se permite venta a crédito, 1 = Se permite venta a crédito
    cCodigoValorClasificacionCliente1   : Array[0..kLongCodValorClasif] of Char;
    cCodigoValorClasificacionCliente2   : Array[0..kLongCodValorClasif] of Char;
    cCodigoValorClasificacionCliente3   : Array[0..kLongCodValorClasif] of Char;
    cCodigoValorClasificacionCliente4   : Array[0..kLongCodValorClasif] of Char;
    cCodigoValorClasificacionCliente5   : Array[0..kLongCodValorClasif] of Char;
    cCodigoValorClasificacionCliente6   : Array[0..kLongCodValorClasif] of Char;
    cTipoCliente                        : LongInt; // 1 - Cliente, 2 - Cliente/Proveedor, 3 - Proveedor
    cEstatus                            : LongInt; // 0. Inactivo, 1. Activo
    cFechaBaja                          : Array[0..kLongFecha] of Char;
    cFechaUltimaRevision                : Array[0..kLongFecha] of Char;
    cLimiteCreditoCliente               : Double;
    cDiasCreditoCliente                 : LongInt;
    cBanExcederCredito                  : LongInt; // 0 = No se permite exceder crédito, 1 = Se permite exceder el crédito
    cDescuentoProntoPago                : Double;
    cDiasProntoPago                     : LongInt;
    cInteresMoratorio                   : Double;
    cDiaPago                            : LongInt;
    cDiasRevision                       : LongInt;
    cMensajeria                         : Array[0..kLongDesCorta] of Char;
    cCuentaMensajeria                   : Array[0..kLongDescripcion] of Char;
    cDiasEmbarqueCliente                : LongInt;
    cCodigoAlmacen                      : Array[0..kLongCodigo] of Char;
    cCodigoAgenteVenta                  : Array[0..kLongCodigo] of Char;
    cCodigoAgenteCobro                  : Array[0..kLongCodigo] of Char;
    cRestriccionAgente                  : LongInt;
    cImpuesto1                          : Double;
    cImpuesto2                          : Double;
    cImpuesto3                          : Double;
    cRetencionCliente1                  : Double;
    cRetencionCliente2                  : Double;
    cCodigoValorClasificacionProveedor1 : Array[0..kLongCodValorClasif] of Char;
    cCodigoValorClasificacionProveedor2 : Array[0..kLongCodValorClasif] of Char;
    cCodigoValorClasificacionProveedor3 : Array[0..kLongCodValorClasif] of Char;
    cCodigoValorClasificacionProveedor4 : Array[0..kLongCodValorClasif] of Char;
    cCodigoValorClasificacionProveedor5 : Array[0..kLongCodValorClasif] of Char;
    cCodigoValorClasificacionProveedor6 : Array[0..kLongCodValorClasif] of Char;
    cLimiteCreditoProveedor             : Double;
    cDiasCreditoProveedor               : LongInt;
    cTiempoEntrega                      : LongInt;
    cDiasEmbarqueProveedor              : LongInt;
    cImpuestoProveedor1                 : Double;
    cImpuestoProveedor2                 : Double;
    cImpuestoProveedor3                 : Double;
    cRetencionProveedor1                : Double;
    cRetencionProveedor2                : Double;
    cBanInteresMoratorio                : LongInt; // 0 = No se le calculan intereses moratorios al cliente, 1 = Si se le calculan intereses moratorios al cliente.
    cTextoExtra1                        : Array[0..kLongTextoExtra] of Char;
    cTextoExtra2                        : Array[0..kLongTextoExtra] of Char;
    cTextoExtra3                        : Array[0..kLongTextoExtra] of Char;
    cFechaExtra                         : Array[0..kLongFecha]  of Char;
    cImporteExtra1                      : Double;
    cImporteExtra2                      : Double;
    cImporteExtra3                      : Double;
    cImporteExtra4                      : Double;
  end {RegClienteProveedor};

e inmediatamente crean una variable de ese tipo record asi
Código Delphi [-]
LPFREGCTEPROV =  ^TRegClienteProveedor;
mi pregunta es que significa este simbolo ^, por que al tratar de mandar este record a una funcion que se encuantra en el sdk de contpaq i para el cfdi me marca violacion de memoria



Código Delphi [-]
var
lError, entero : Integer;
.
.
.

datos1.cCodigoCliente[0]:='3';
datos1.cRazonSocial[0]:='3';
datos1.cFechaAlta:='3';
.
.
.
.
.
.
 entero:=3;
    

    lError :=fAltaCteProv(entero, datos1);


    if lError <> kSIN_ERRORES  then
    begin
      rMensajeError( lError );
      Exit;
    end;

gracias por cualquier comentario
Responder Con Cita