FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
EXCEPCION muy muy rara (NTDLL.DLL)
Buenas a todos. Voy a intentar explicarme. Antes de nada decir que he leido el hilo que hay acerca de ntdll.dll pero no es para nada mi error, por eso abro un hilo nuevo
Primero os pondré la excepción, tanto la que me sale al ejecutar desde el .exe como la que me sale al ejecutar con F9 y os diré donde tengo asilado el error para ver si me lo podéis explicar ok? excepción ejecutar con F9: Class EAccessViolation. Access Violation at address 78462F6A in module ntdll.dll. Tengo todos los proyectos hechos con Delphi 5 y ahora me he paso a Delphi 7. He recompilado esos proyectos y todos compilan sin problemas (tras haber solucionado los problemas típicos de compilación). El error viene en la siguiente linea de código: regComboBox[i].ptrComboBox.Style := csDropDownList; Esto lo uso porque tengo un formulario con un combobox que carga valores de una query. Si pulso un boton de editar el registro, lo que hago es guardar el text del combo en una variable, cambiar el estilo para que sea un edit y luego "pegar" mi variable, y viceversa. Pues bien, juro y perjuro que en delphi 5 no falla nada y ahora me encuentro con esto. Es muy urgente que consiga solucionar esto, se admite cualquier tipo de ayuda. Os pongo el código completo de esa función, por si os sirve de algo o por si yo tuviera mal aislado el error (ya no lo sé): La linea Roja es donde falla procedure TFormEditMaestro.ChangeCBToEdit(edit : boolean; grupo : TSetNumTag); var i, lonAry : integer; auxStr : string; begin // longitud del array lonAry := Length(regComboBox) - 1; for i := 0 to lonAry do begin if (regComboBox[i].ptrComboBox.Tag in grupo) then begin auxStr := regComboBox[i].ptrComboBox.Text; if (edit = false) then begin regComboBox[i].ptrComboBox.Style := csDropDownList; regComboBox[i].ptrComboBox.ItemIndex := regComboBox[i].ptrComboBox.Items.IndexOf(auxStr); end else begin regComboBox[i].ptrComboBox.Style := csSimple; regComboBox[i].ptrComboBox.Text := auxStr; end; end; end; end; |
#2
|
|||
|
|||
añado solo una cosa más. Había buscado mal y me salía solo un hilo que tenía que ver con ese problema. He buscado mejor y he encontrado uno muy interesate http://www.clubdelphi.com/foros/show...ight=ntdll.dll que habla de un procedimiento PatchINT3 pero aun así no he conseguido que funcione.
De verdad que es muy pero que muy urgente, si no me va a tocar volver a trabajar con Delphi 5 y no es plan. Gracias de antemano a tod@s |
#3
|
|||
|
|||
Solucion Definitiva
d7_ent_upd1_1.exe
Buscar este fichero en la página de Borlan, así se soluciona. Gracias a todos. |
#4
|
|||
|
|||
A mi me pasa lo mismo pero con Delphi 6, que fichero tengo que buscar para solucionar un problema parecido?
la aplicacion de interrumpe con un ntdll en el debuger. Saludos.
__________________
El que pregunta es tonto durante 5 minutos, el que no pregunta es tonto para toda su vida. |
#5
|
|||
|
|||
jeane
yo solucioné un problema asi.. lo acabo de documentar.. leanlo. tal vez les sirva se llama problemas con ntdl.dll
|
#6
|
|||
|
|||
Agradezco tu respuesta
fue sensacional.
|
|
|
|