Cita:
Empezado por rauros
Aparte necesito una pequeñita ayuda. Es que cuando se cierra la aplicación te pregunte si quieres guardar. Entonces yo he hecho esto, pero si clico en cualquier botón me lo vuelve a preguntar(dos veces, luego hace lo que tiene que hacer).
Código Delphi [-]If cambiado = true then begin form3:=Tform3.Create(Self); if form3.ShowModal=mrOk then begin//si se ha puslado aceptar...
form3.Free;
if form1.SaveDialog1.Execute then begin//Se carga guardar...
Form1.memo1.Lines.SaveToFile(form1.SaveDialog1.FileName);
halt;
end;
end else if form3.ShowModal=mrCancel then begin//si se ha puslado cancelar...
canclose:=false;
form3.Destroy;
end;
end;
end;
|
El problema de porque te lo muestra dos veces se debe a que ShowModal abre la ventana y se queda esperando la orden de pulsado y una vez que se recibe esa orden (que se traduce en esas constantes mrok, etc) se debe decidir que hacer se soluciona de esta simple manera:
Código Delphi
[-]if form3.ShowModal = mrOK
then begin
end
else begin
end;
E incluso podrías hacerlo mejor con un case:
Código Delphi
[-]case form3.ShowModal of
mrOK: ...
end;
Por lo de el error de Access Violation y el código ese... tendría que fijarme... no tengo delphi abierto en estos momentos.
Saludos,