PDA

Ver la Versión Completa : Violación de Dirección Access violation at adress


Manuel
23-11-2007, 22:32:18
Bueno esto pasa en un software que tengo instalado en varios pc's, y en varias partes muy distintas del país, lo raro que en 2 instalaciones aparece cuando quiere cargar una forma, pero no siempre genera el error, solo en dos pc de distintas partes, a los otros usuarios nunca le ha sucedido, que podrá ser?, el soft. no es porque no funcione bien, en otras partes con pc y S.o iguales todo bien, me piden solución pero ni se lo que podrá ser. Alguna sugerencia?.

AzidRain
23-11-2007, 23:13:58
Regla Zen 1 de Delphi:

"Si un programa funciona bien en un equipo y en otro no el problema siempre se encuentra en el software

Regla de Murphy sobre bugs:

Si pudiste haber escrito mal código al hacer un programa...seguramente lo hiciste

rruz
23-11-2007, 23:29:08
Te recomiendo que uses Eurekalog para hacer un trace de los errores.
Esta app te indicara donde se produjo el error indicandote incluso el numero de linea de tu codigo fuente.

http://www.eurekalog.com/

Saludos
.

mzell
24-11-2007, 07:13:54
Hola Manuel.

Te sugiero que revises la configuración regional de la computadora donde instalastes el sistema (Panel de Control -> Configuración Regional e Idioma).
Podría ser que la configuración del formato de fechas y números y monedas estén causando problemas.
He tenido una experiencia similar al emplear unos componentes de terceros para editar fechas y valores numéricos (Los componentes Edit de LMD Tools SE, aunque eso fué un par de años, a lo mejor ya los mejoraron). En las computadoras windows que empleaban formatos en inglés me funcionaba bien, pero al correrlo en una pc con formatos en español aparecía un mensaje de error de AV. Al configurar el equipo para utilizar el formato en inglés, el problema desapareció. Al final terminé reemplazando los controles.
Si, suena extraño, pero sucede.:confused:

Bye

Manuel
24-11-2007, 13:48:33
mzell, voy a revisar la configuración regional a ver que pasa, más precisamente el error se produce cuando cargo una forma de esta manera:

try
Screen.Cursor := crHourGlass;
Fasistenciaanual:= TFasistenciaanual.create(Self);
finally
Screen.Cursor := crDefault;
end;
Fasistenciaanual.Showmodal;
Fasistenciaanual.Free;



Ahora como digo solo se produce el error en algunos equipos y no siempre.

mzell
24-11-2007, 14:42:53
Hola Manuel.
Porque no pruebas de esta forma:

try
Screen.Cursor := crHourGlass;
Fasistenciaanual := TFasistenciaanual.Create(self);
Fasistenciaanual.ShowModal;
finally
screen.Cursor := crDefault;
end;

AzidRain
24-11-2007, 17:16:48
Creo que el try está mal ubicado:

Screen.Cursor := crHourGlass;
Fasistenciaanual:= TFasistenciaanual.create( nil );
Screen.Cursor := crDefault;
try

Fasistenciaanual.Showmodal;
finally
Screen.Cursor := crDefault;
Fasistenciaanual.Free;
end;



Sería bueno si nos indicas que pusiste en el OnCreate u OnShow de FAsistenciaAnual

Manuel
26-11-2007, 20:12:35
Creo que el try está mal ubicado:

Screen.Cursor := crHourGlass;
Fasistenciaanual:= TFasistenciaanual.create( nil );
Screen.Cursor := crDefault;
try

Fasistenciaanual.Showmodal;
finally
Screen.Cursor := crDefault;
Fasistenciaanual.Free;
end;



Sería bueno si nos indicas que pusiste en el OnCreate u OnShow de FAsistenciaAnual


Todo parte de una forma principal que tiene un menú, y cargo las demas formas a medida que el usuario selecciona las opciones, ejemplo:


procedure TFMPrincipal.Inasistencia2Click(Sender: TObject);
begin
try
Screen.Cursor := crHourGlass;
Fasistenciaanual:= TFasistenciaanual.create(Self);
finally
Screen.Cursor := crDefault;
end;
Fasistenciaanual.Showmodal;
Fasistenciaanual.Free;
end;

egostar
26-11-2007, 20:19:02
Todo parte de una forma principal que tiene un menú, y cargo las demas formas a medida que el usuario selecciona las opciones, ejemplo:


procedure TFMPrincipal.Inasistencia2Click(Sender: TObject);
begin
try
Screen.Cursor := crHourGlass;
Fasistenciaanual:= TFasistenciaanual.create(Self);
finally
Screen.Cursor := crDefault;
end;
Fasistenciaanual.Showmodal;
Fasistenciaanual.Free;
end;


:rolleyes::rolleyes::rolleyes:

Coincido con AzidRain, lo que estas haciendo no me parece correcto, imaginate que pasa si por cualquier circunstancia no se puede crear la forma TFasistenciaanual, de todas todas la tratas de abrir, eso me parece un gran vacío.

Salud OS