Depura tu programa, las excepciones Access Violation son siempre porque estas intentando trabajar con un objeto que no fue creado
Pon un punto de ruptura (breakpoint) y corre el programa con F9
Revisa la documentacion relacionada con depurar
En esta imagen se ve como colocar un breakpoint:
Setting and Modifying Breakpoints
Los puntos a la izquierda del codigo, son los puntos de ruptura. Si esta en azul significa que en ese lugar podes colocar un punto de ruptura. Si esta en rojo significa que cuando ejecutes con el depurador (F9) cuando se llege a esa instruccion el codigo se detiene y te permite ver el estado de las variables, los objetos, etc
Una llegado a ese punto, tenes varias acciones mas para continuar la depuracion. Por ejemplo con F8 pasas a la siguiente linea ("avanzar"); con F9 vas hasta el proximo punto de ruptura (si no hay ninguno, entonces el programa sigue como si nada)
Podes poner puntos de ruptura una vez el programa ya esta en ejecucion y siendo depurado. Siempre que el flujo del programa llegue a ese punto, el IDE se pondra en primer plano
Revisa esto
How To Use the Debugger