In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

GPF en TFileOpenImageDlg

Foro de Xailer profesional en español
Responder
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

GPF en TFileOpenImageDlg

Mensaje por Xevi »

Adjunto un proyecto en el que me lanza un GPF al intentar seleccionar por
segunda vez la imagen que guardo en una variable de AppData.
Así es como he podido aislar el GPF...
He incorporado dos botones, el primero lanza el GPF al pulsarse por segunda
vez, el segundo SIEMPRE funciona, lo único que hace este segundo botón es
volver ha crear la variable AppData y así resuelvo temporalmente este GPF.
Un saludo,
Xevi.


Attached files Dlg.zip (6.6 KB)Â
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

GPF en TFileOpenImageDlg

Mensaje por Xevi »

Error en mi código...
Así­ SI funciona CORRECTAMENTE!!!
METHOD Button1Click( oSender ) CLASS TForm1
LOCAL oIni
LOCAL oFileOpenImageDlg1 := TFileOpenImageDlg():Create( Self )
oFileOpenImageDlg1:cFileName := AppData:cFotoFons
If oFileOpenImageDlg1:Run()
oIni:= TIni():Create( ".Xevi.ini" )
AppData:cFotoFons := oFileOpenImageDlg1:cFullFileName
oIni:SetEntry( "Xevi", "Fons", AppData:cFotoFons )
oIni:Destroy()
EndIf
oFileOpenImageDlg1:Destroy()
RETURN Nil
Un Saludo,
Xevi.
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:[email=43ff261e@ozsrvnegro.ozlan.local...]43ff261e@ozsrvnegro.ozlan.local...[/email]
>
>
> Adjunto un proyecto en el que me lanza un GPF al intentar seleccionar por
> segunda vez la imagen que guardo en una variable de AppData.
>
> Así­ es como he podido aislar el GPF...
> He incorporado dos botones, el primero lanza el GPF al pulsarse por segunda
> vez, el segundo SIEMPRE funciona, lo único que hace este segundo botón es
> volver ha crear la variable AppData y así­ resuelvo temporalmente este GPF.
>
> Un saludo,
> Xevi.
>
>
>
------------------------------------------------------------ --------------------
>
>
>
--
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

GPF en TFileOpenImageDlg

Mensaje por jfgimenez »

Xevi,
> Adjunto un proyecto en el que me lanza un GPF al intentar seleccionar por
> segunda vez la imagen que guardo en una variable de AppData.
>
> Así es como he podido aislar el GPF...
> He incorporado dos botones, el primero lanza el GPF al pulsarse por
> segunda vez, el segundo SIEMPRE funciona, lo único que hace este segundo
> botón es volver ha crear la variable AppData y así resuelvo temporalmente
> este GPF.
Gracias por el ejemplo. El GPF se produce por asignar NIL a
oFileOpenImageDlg1:cFileName. Intentaremos corregirlo lo antes posible.
No obstante, el origen del problema es la línea:
AppData:AddData( "cFotoFons", oIni:SetEntry( "Xevi", "Fons",
oFileOpenImageDlg1:cFullFileName ) )
Si la analizas bien, verás que estás guardando en el ini el valor de
oFileOpenImageDlg1:cFullFileName, usando el método SetEntry de la clase
TIni; hasta aquí es correcto.
Pero... SetEntry devuelve NIL, y ese es el valor que estás asignando a
AppData:cFotoFons. Por eso, cuando pulsas por segunda vez el botón, se está
asignando NIL a la propiedad cFullFilename de TFileOpenImageDlg. Para
solucionarlo sólo tienes que partirlo en dos líneas:
AppData:AddData( "cFotoFons", oFileOpenImageDlg1:cFullFileName )
oIni:SetEntry( "Xevi", "Fons", AppData:cFotoFons )
--
Un saludo,
José F. Giménez
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

GPF en TFileOpenImageDlg

Mensaje por Xevi »

Jose,
Gracias por tu respuesta.
Ya había localizado MI error, y estábamos los dos escribiendo la respuesta a
mi mensaje.
Un Saludo,
Xevi.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:43ff3006$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
> Xevi,
>
>> Adjunto un proyecto en el que me lanza un GPF al intentar seleccionar por
>> segunda vez la imagen que guardo en una variable de AppData.
>>
>> Así es como he podido aislar el GPF...
>> He incorporado dos botones, el primero lanza el GPF al pulsarse por
>> segunda vez, el segundo SIEMPRE funciona, lo único que hace este segundo
>> botón es volver ha crear la variable AppData y así resuelvo temporalmente
>> este GPF.
>
> Gracias por el ejemplo. El GPF se produce por asignar NIL a
> oFileOpenImageDlg1:cFileName. Intentaremos corregirlo lo antes posible.
>
> No obstante, el origen del problema es la línea:
>
> AppData:AddData( "cFotoFons", oIni:SetEntry( "Xevi", "Fons",
> oFileOpenImageDlg1:cFullFileName ) )
>
> Si la analizas bien, verás que estás guardando en el ini el valor de
> oFileOpenImageDlg1:cFullFileName, usando el método SetEntry de la clase
> TIni; hasta aquí es correcto.
>
> Pero... SetEntry devuelve NIL, y ese es el valor que estás asignando a
> AppData:cFotoFons. Por eso, cuando pulsas por segunda vez el botón, se
> está asignando NIL a la propiedad cFullFilename de TFileOpenImageDlg. Para
> solucionarlo sólo tienes que partirlo en dos líneas:
>
> AppData:AddData( "cFotoFons", oFileOpenImageDlg1:cFullFileName )
> oIni:SetEntry( "Xevi", "Fons", AppData:cFotoFons )
>
>
> --
> Un saludo,
>
> José F. Giménez
>
>
Responder