¡Hola a todos!
Enecumene:
Una causa muy común de los errores
AV (excepciones
Access Violation), es el intentar acceder a una referencia de objeto inválida. Observando tu código, puede presumirse que uno de estos tres objetos (ya) no es válido en el momento de la llamada al método Append:
FPedido, FPedido.
DataSource1 o FPedido.DataSource1.
DataSet
Esta invalidez puede consistir en que el elemento en cuestión tiene un valor vacío (Nil al tratarse de objetos) o el objeto al cual apuntaba ha
dejado de vivir (fue previamente destruido y liberada su memoria aunque todavía sigue ahí su
esqueleto). Considerando que los conjuntos y fuentes de datos (
datasets y
data sources) suelen integrar a varios otros objetos, el objeto invalidado podría estar en cualquier parte que se relacione con DataSource1 o DataSource1.DataSet.
Pero a juzgar por el texto "Read of Address 0000000" contenido en el mensaje de la excepción (Nil es la dirección de memoria 0), y dado lo común de la pifia,
lo más probable es que olvidaste asignar un DataSet a tu componente DataSource1.
Pero lo que me resulta bastante extraño, es que el mensaje de la excepción contenga sólo siete ceros en donde dice 'Read of Address 0000000', cuando lo usual es que sean ocho, además de que algunas letras aparecen con un tamaño distinto al acostumbrado. ¿Será que transcribiste a mano el mensaje?
En Delphi (la buena Borland sí piensa en los programadores) existe la posibilidad de
presionar Ctrl+C en las ventanas de error, lo cual copia el mensaje íntegro al portapapeles.
Esperamos tus observaciones, no dejes de contarnos.
Un abrazo accesible.
Al González.