para el tema de los access violation, yo uso el de la JVCL, una vez instalado, y usandolo, puedes obtener algo asï:
Código:
00003: [18:52:55]Exception ENoResultSet: Error creating cursor handle
Exception
UnitName : DBTables
Procedure : TBDEDataSet.OpenCursor
Line : 4111 OffsetLine : 0
Deep of Except frame-dump : 7
UnitName : DBTables Procedure : TBDEDataSet.OpenCursor SourceName : DBTables.pas Line : 4112
UnitName : DB Procedure : TDataSet.SetActive SourceName : DB.pas Line : 8840
UnitName : SqlExplorer Procedure : TFRMSQL.btnAbrirClick SourceName : SqlExplorer.pas Line : 77
UnitName : SqlExplorer Procedure : TFRMSQL.btnAbrirClick SourceName : SqlExplorer.pas Line : 79
UnitName : Controls Procedure : TWinControl.MainWndProc SourceName : Controls.pas Line : 6137
UnitName : Controls Procedure : TWinControl.MainWndProc SourceName : Controls.pas Line : 6141
Tambien es necesario incluir en un log las ventanas que había abiertas en ese momento:
Código:
00002: [18:52:55]N Windows: 4
Name: FRMSQL Class: TFRMSQL
Name: FrmAlbaranC Class: TFrmAlbaranC
Name: FrmMdi Class: TFrmMdi
Name: FrmCR Class: TFrmCR
De todo ese engorro, lo más interesante es esto:
Código:
UnitName : SqlExplorer Procedure : TFRMSQL.btnAbrirClick SourceName : SqlExplorer.pas Line : 77
La causa de este error, era hacer un Open de una consulta que en el SQL indicaba "DELETE FROM .....", y claro, no devuelve nada la consulta.
Que conste que no hace milagros, pero te ayuda a identificar por donde está el error.
Un saludo