Página 1 de 1

GPF en TFileOpenImageDlg

Publicado: Vie Feb 24, 2006 4:28 pm
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)Â

GPF en TFileOpenImageDlg

Publicado: Vie Feb 24, 2006 5:08 pm
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.
>
>
>
------------------------------------------------------------ --------------------
>
>
>
--

GPF en TFileOpenImageDlg

Publicado: Vie Feb 24, 2006 5:10 pm
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

GPF en TFileOpenImageDlg

Publicado: Vie Feb 24, 2006 5:24 pm
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
>
>