Hola, me han encargado solucionar un error de una aplicación de Delphi, y la verdad.. por más que pruebo cosas y lo miro, no lo entiendo. Igual porque llevo años sin tocar Delphi, no sé.
El problema es "tan sencillo" como que en la funcion FormCreate intento hacer un ShowMessage y me salta el error de AccesViolation, he probado de no ponerlo,y no da ningún problema, pero es intentar mostrar algo y pam!
En el fichero .dpr tengo lo siguiente:
Código Delphi
[-]begin
Application.Initialize;
Application.Title := 'Diccionario crítico etimológico castellano e hispánico';
Application.HelpFile := 'AYUDA.HLP';
Application.CreateForm(Tportada, portada);
if(portada.carga)then begin
Application.CreateForm(Tcentral, central);
Application.CreateForm(Tdades, dades);
Application.CreateForm(Tmultiple, multiple);
Application.CreateForm(Tllengues, llengues);
Application.CreateForm(Tdocumentacio, documentacio);
Application.CreateForm(Tbuscabierta, buscabierta);
Application.CreateForm(Tabreviaturas, abreviaturas);
Application.CreateForm(Tnotacionfonetica, notacionfonetica);
Application.CreateForm(Tintroduccion, introduccion);
Application.CreateForm(Tfuentescas, fuentescas);
Application.CreateForm(Tdedicatoria, dedicatoria);
Application.CreateForm(Tindibiblio, indibiblio);
Application.CreateForm(Tindicacionesbibliograficas, indicacionesbibliograficas);
Application.CreateForm(Tabreviaturastxt, abreviaturastxt);
Application.CreateForm(Tpopuplema, popuplema);
Application.CreateForm(Tcredits, credits);
Application.CreateForm(Tmapagrafies, mapagrafies);
Application.CreateForm(Tcarga, carga);
Application.Run;
end;
He probado comentandolo todo y dejando solo el FormCreate de la portada,y NADA!
Y la función del FormCreate es la siguiente:
Código Delphi
[-]procedure Tportada.FormCreate(Sender: TObject);
var unidad:string;
begin
carga := false;
unidad:=GetFirstCdRomDrive;
if not IsDiskIn(unidad[1]) then begin
carga := false;
Showmessage('hola');
end else begin
descomprimir();
end;
end;
No sé si necesitáis alguna información más.. si no me explico o hay algo que no se entiende, por favor, comunicadmelo y me explicaré encantada.
Espero que me deis algún tipo de solución,pq la verdad es que ya no sé que probar!!
Gracias de antemano, un saludo!