![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
![]() 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; |
|
|
![]() |
|