Richedit5- ¿No es posible más de uno a la vez? (solucionado)

Richedit5- ¿No es posible más de uno a la vez? (solucionado)

Postby AngelSalom » Tue Jul 23, 2019 7:59 am

Hola amigos, me explico. Quiero mostrar a la vez varios ficheros RTF, para ello creo varias ventanas y en cada una creo un control RichEdit5. Se muestra bien pero al cerrar la aplicación se genera un GPF que se puede ver en hb_out.log , ¿no es posible mostrar más de un objeto RTF a la vez? , es decir ... mostrarse se muestran pero claro, el fallo al cerrar la aplicación no es viable.

Adjunto pequeño ejemplo para probar
Code: Select all  Expand view
#include "fivewin.ch"
#include "RichEdi5.ch"

Function Main()
   
    Local oWnd
    Local oWndRich1, oRich1, cRich1
    Local oWndRich2, oRich2, cRich2
 
    DEFINE WINDOW oWnd FROM 1, 1 TO 20, 70 TITLE "Test Multiple Richedit5" MDI

    DEFINE WINDOW oWndRich1 MDICHILD OF oWnd FROM 2, 2 TO 20, 50 TITLE "Rich1" COLOR "B/W"
    @ 0, 0 RICHEDIT5 oRich1 VAR cRich1 OF oWndRich1 NOBORDER HSCROLL
    ACTIVATE WINDOW oWndRich1

    DEFINE WINDOW oWndRich2 MDICHILD OF oWnd FROM 2, 55 TO 20, 105 TITLE "Rich2" COLOR "B/W"
    @ 0, 0 RICHEDIT5 oRich2 VAR cRich2 OF oWndRich2 NOBORDER HSCROLL
    ACTIVATE WINDOW oWndRich2

    ACTIVATE WINDOW oWnd MAXIMIZED
 
Return (nil)
Last edited by AngelSalom on Tue Jul 23, 2019 1:09 pm, edited 1 time in total.
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 708
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Richedit5 - ¿No es posible más de uno a la vez?

Postby cnavarro » Tue Jul 23, 2019 9:21 am

Angel, acabo de probarlo y a mi no me da ningun GPF
Ejecuto, escribo en ambos y cierro la ventana principal, y "no problem"
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6504
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Richedit5 - ¿No es posible más de uno a la vez?

Postby AngelSalom » Tue Jul 23, 2019 9:31 am

Si, no muestra un GPF, pero mira si te genera un hb_out.log con la "petada".
Copio/pego
Code: Select all  Expand view
Application Internal Error - C:\si\nlen\fwh1906\samples\rich.exe
Terminated at: 2019-07-23 11:31:19
Unrecoverable error 6005: Exception error:

    Exception Code:C0000005 ACCESS_VIOLATION
    Exception Address:618AC050
    EAX:00000000  EBX:618AC050  ECX:618AC050  EDX:00000000
    ESI:00000000  EDI:00000008  EBP:0019DE74
    CS:EIP:0023:618AC050  SS:ESP:002B:0019DE4C
    DS:002B  ES:002B  FS:0053  GS:002B
    Flags:00010206
    Exception Parameters: 00000000 618AC050
    CS:EIP:
    SS:ESP: 764B635B 00EB0AD8 00000008 00B90C16 00000000 00000000 DCBAABCD 618AC050 00000008 00000000 0019DF58 764A729C 618AC050 00EB0AD8 00000008 00B90C16

    C stack:
    EIP:     EBP:       Frame: OldEBP, RetAddr, Params...
    618AC050 0019DE74   0019DF58 764A729C 618AC050 00EB0AD8 00000008 00B90C16 00000000 8937EA77 618AC050 00EB0AD8
    764A729C 0019DF58   0019DF90 76496C42 618AC050 00000000 00000008 00B90C16 00000000 00000000 00000000 00000000
    76496C42 0019DF90   0019DFB8 00415152 FFFF0B53 00EB0AD8 00000008 00B90C16 00000000 00000008 00000000 00EB0AD8
    00415152 0019DFB8   0019DFD8 00415B5B 00EB0AD8 00000008 00B90C16 00000000 00000006 00415B3C
    00415B5B 0019DFD8   0019E004 764B635B 00EB0AD8 00000008 00B90C16 00000000 00000000 DCBAABCD 00415B3C 00000008
    764B635B 0019E004   0019E0E8 764A729C 00415B3C 00EB0AD8 00000008 00B90C16 00000000 8937D5C7 40000000 C0000388
    764A729C 0019E0E8   0019E14C 764A6E3A 00415B3C 00000000 00000008 00B90C16 00000000 00220000 00000001 8937D463
    764A6E3A 0019E14C   0019E188 764B37EF 01226F60 00000000 00000008 00B90C16 00000000 00415B3C 009E5140 00000000
    764B37EF 0019E188   0019E1F0 76F028ED 0019E1A4 00000020 0019E348 76F02820 0019E1C4 01226F60 00000000 00000008
    76F028ED 0019E1F0   0019E234 76493287 012005A0 00000000 0122E8D0 00000000 00000022 00000000 00592A98 004C1A47
    76493287 0019E234   0019E248 76493088 00000000 00000000 00000001
    76493088 0019E248   0019E274 764B635B 00D30AD6 00000022 00000000 00000000 00000000 DCBAABCD 00592A98 00000022
    764B635B 0019E274   0019E358 764A729C 00592A98 00D30AD6 00000022 00000000 00000000 8937D677 00592A98 00D30AD6
    764A729C 0019E358   0019E390 76496C42 00592A98 00000000 00000022 00000000 00000000 00000000 00000000 00000000
    76496C42 0019E390   0019E3B8 00415152 00592A98 00D30AD6 00000022 00000000 00000000 00000022 00000000 00D30AD6
    00415152 0019E3B8   0019E3D8 00415B5B 00D30AD6 00000022 00000000 00000000 00000003 00415B3C
    00415B5B 0019E3D8   0019E404 764B635B 00D30AD6 00000022 00000000 00000000 00000000 DCBAABCD 00415B3C 00000022
    764B635B 0019E404   0019E4E8 764A729C 00415B3C 00D30AD6 00000022 00000000 00000000 8937D1C7 40000000 C0000388
    764A729C 0019E4E8   0019E54C 764A6E3A 00415B3C 00000000 00000022 00000000 00000000 00220000 00000001 8937D063
    764A6E3A 0019E54C   0019E588 764B37EF 0122E8D0 00000000 00000022 00000000 00000000 00415B3C 00000000 0019E5F4


Modules:
00400000 003DC000 C:\si\nlen\fwh1906\samples\rich.exe
76E90000 0019C000 C:\WINDOWS\SYSTEM32\ntdll.dll
74670000 000E0000 C:\WINDOWS\System32\KERNEL32.DLL
74A80000 001FA000 C:\WINDOWS\System32\KERNELBASE.dll
76E00000 0007E000 C:\WINDOWS\System32\ADVAPI32.DLL
76610000 000C0000 C:\WINDOWS\System32\msvcrt.dll
745F0000 00079000 C:\WINDOWS\System32\sechost.dll
76CF0000 000BF000 C:\WINDOWS\System32\RPCRT4.dll
74500000 00020000 C:\WINDOWS\System32\SspiCli.dll
744F0000 0000A000 C:\WINDOWS\System32\CRYPTBASE.dll
747F0000 00062000 C:\WINDOWS\System32\bcryptPrimitives.dll
74860000 000FA000 C:\WINDOWS\System32\COMDLG32.DLL
768E0000 00278000 C:\WINDOWS\System32\combase.dll
76B60000 00122000 C:\WINDOWS\System32\ucrtbase.dll
75050000 00089000 C:\WINDOWS\System32\shcore.dll
76470000 00199000 C:\WINDOWS\System32\USER32.dll
747D0000 00017000 C:\WINDOWS\System32\win32u.dll
76420000 00023000 C:\WINDOWS\System32\GDI32.dll
74EE0000 00166000 C:\WINDOWS\System32\gdi32full.dll
74A00000 00080000 C:\WINDOWS\System32\msvcp_win.dll
766F0000 00044000 C:\WINDOWS\System32\SHLWAPI.dll
750E0000 0054E000 C:\WINDOWS\System32\SHELL32.dll
74540000 0003B000 C:\WINDOWS\System32\cfgmgr32.dll
75B20000 005FC000 C:\WINDOWS\System32\windows.storage.dll
76290000 0001C000 C:\WINDOWS\System32\profapi.dll
74770000 00054000 C:\WINDOWS\System32\powrprof.dll
745E0000 0000F000 C:\WINDOWS\System32\kernel.appcore.dll
76450000 00012000 C:\WINDOWS\System32\cryptsp.dll
76750000 000FC000 C:\WINDOWS\System32\OLE32.DLL
74960000 00096000 C:\WINDOWS\System32\OLEAUT32.DLL
73D80000 0006B000 C:\WINDOWS\SYSTEM32\WINSPOOL.DRV
766D0000 00019000 C:\WINDOWS\System32\bcrypt.dll
744E0000 00008000 C:\WINDOWS\SYSTEM32\VERSION.DLL
67890000 0008E000 C:\WINDOWS\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.17763.615_none_588d17fb78ae80f3\COMCTL32.DLL
73250000 00018000 C:\WINDOWS\SYSTEM32\MPR.DLL
74490000 00006000 C:\WINDOWS\SYSTEM32\MSIMG32.DLL
73210000 00024000 C:\WINDOWS\SYSTEM32\WINMM.DLL
6AA80000 00029000 C:\WINDOWS\SYSTEM32\OLEDLG.DLL
71220000 0016F000 C:\WINDOWS\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.17763.615_none_7e4c6b06762ec7a8\GDIPLUS.DLL
73AA0000 0017E000 C:\WINDOWS\SYSTEM32\PROPSYS.dll
744A0000 00033000 C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL
731E0000 00023000 C:\WINDOWS\SYSTEM32\WINMMBASE.dll
76120000 00025000 C:\WINDOWS\System32\IMM32.DLL
739C0000 0007B000 C:\WINDOWS\system32\uxtheme.dll
76150000 0013E000 C:\WINDOWS\System32\MSCTF.dll
72410000 00026000 C:\WINDOWS\system32\dwmapi.dll
74C80000 00199000 C:\WINDOWS\System32\CRYPT32.dll
76740000 0000E000 C:\WINDOWS\System32\MSASN1.dll
76C90000 0005E000 C:\WINDOWS\System32\coml2.dll
76850000 00081000 C:\WINDOWS\System32\clbcatq.dll
61590000 00122000 C:\Windows\System32\Windows.Globalization.dll
72200000 0001D000 C:\Windows\System32\bcp47mrm.dll
732A0000 00046000 C:\Windows\System32\Bcp47Langs.dll
64E40000 00020000 C:\WINDOWS\SYSTEM32\globinputhost.dll
6D610000 0004D000 C:\WINDOWS\system32\dataexchange.dll
6D3E0000 00229000 C:\WINDOWS\system32\d3d11.dll
6D280000 0015F000 C:\WINDOWS\system32\dcomp.dll
6D1D0000 000A4000 C:\WINDOWS\system32\dxgi.dll
6E9C0000 001A3000 C:\WINDOWS\system32\twinapi.appcore.dll
6E9A0000 0001E000 C:\WINDOWS\system32\RMCLIENT.dll
6E580000 00086000 C:\WINDOWS\System32\TextInputFramework.dll
6E280000 0026A000 C:\WINDOWS\System32\CoreUIComponents.dll
6E4F0000 0008F000 C:\WINDOWS\System32\CoreMessaging.dll
730B0000 00029000 C:\WINDOWS\SYSTEM32\ntmarta.dll
73390000 000DB000 C:\WINDOWS\SYSTEM32\wintypes.dll
585B0000 000EB000 C:\Windows\System32\Windows.UI.dll
58510000 00091000 C:\Windows\System32\InputHost.dll
6B390000 00508000 C:\Windows\System32\d2d1.dll
74280000 0020F000 C:\WINDOWS\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.17763.615_none_4d6178211b9c4dda\comctl32.DLL

Called from SENDMESSAGE(0)
Called from (b)TWINDOW(621) in .\source\classes\WINDOW.PRG
Called from TMDICLIENT:SENDMSG(0) in .\source\classes\WINDOW.PRG
Called from TMDICLIENT:CHILDCLOSE(190) in .\source\classes\MDICLIEN.PRG
Called from TMDICHILD:END(289) in .\source\classes\MDICHILD.PRG
Called from TMDICLIENT:LCLOSEALL(205) in .\source\classes\MDICLIEN.PRG
Called from TMDIFRAME:END(277) in .\source\classes\MDIFRAME.PRG
Called from TMDIFRAME:SYSCOMMAND(2597) in .\source\classes\WINDOW.PRG
Called from TMDIFRAME:HANDLEEVENT(0)
Called from _FWH(3546) in .\source\classes\WINDOW.PRG
Called from WINRUN(0)
Called from TMDIFRAME:ACTIVATE(1078) in .\source\classes\WINDOW.PRG
Called from MAIN(20) in rich.prg
------------------------------------------------------------------------
 
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 708
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Richedit5 - ¿No es posible más de uno a la vez?

Postby cnavarro » Tue Jul 23, 2019 9:46 am

Angel, a eso me refería, no da ningún tipo de problema ni genera ningún fichero .log
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6504
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Richedit5 - ¿No es posible más de uno a la vez?

Postby AngelSalom » Tue Jul 23, 2019 9:56 am

Vaya, compilo con buildh de los samples ... Quizá falte añadir alguna librería?
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 708
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Richedit5 - ¿No es posible más de uno a la vez?

Postby cnavarro » Tue Jul 23, 2019 9:59 am

Yo también lo he construído con el buildh.bat
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6504
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Richedit5 - ¿No es posible más de uno a la vez?

Postby AngelSalom » Tue Jul 23, 2019 10:06 am

¿Algo del sistema operativo? Lo estoy probando con Windows 10 prof. 64 bits
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 708
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Richedit5 - ¿No es posible más de uno a la vez?

Postby cnavarro » Tue Jul 23, 2019 10:12 am

AngelSalom wrote:¿Algo del sistema operativo? Lo estoy probando con Windows 10 prof. 64 bits


Igual que yo
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6504
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Richedit5 - ¿No es posible más de uno a la vez?

Postby cnavarro » Tue Jul 23, 2019 10:15 am

Angel, prueba a modificar la clase en el metodo Destroy

Code: Select all  Expand view

METHOD Destroy() INLINE ::Super:Destroy()  //, ::SetOleUnInit()
 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6504
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Richedit5 - ¿No es posible más de uno a la vez?

Postby AngelSalom » Tue Jul 23, 2019 10:23 am

Diste en el clavo
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 708
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Richedit5 - ¿No es posible más de uno a la vez?

Postby cnavarro » Tue Jul 23, 2019 10:26 am

Angel, ya que te pones, puedes probarlo asi?

Code: Select all  Expand view

METHOD Destroy() INLINE ( ::Super:Destroy() , if( ::nInst == 0, ::SetOleUnInit(), ) )
 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6504
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Richedit5 - ¿No es posible más de uno a la vez?

Postby AngelSalom » Tue Jul 23, 2019 10:31 am

También perfecto.
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 708
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Richedit5 - ¿No es posible más de uno a la vez?

Postby cnavarro » Tue Jul 23, 2019 10:33 am

AngelSalom wrote:También perfecto.


Angel, ésta última es la implementación correcta
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6504
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Richedit5 - ¿No es posible más de uno a la vez?

Postby AngelSalom » Tue Jul 23, 2019 10:38 am

De acuerdo, hago un override del método.
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 708
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 10 guests