marcosgambeta / hwgui-r1908

HWGUI r1908 para testes com Harbour e xHarbour (32-bit/64-bit)
GNU General Public License v2.0
0 stars 2 forks source link

Erro com xHarbour 64 bits + Bcc 7.70 64 bits #8

Open sygecom opened 1 week ago

sygecom commented 1 week ago

Consegue me ajudar com o erro abaixo quando compilo o TESTE checkbox2.prg da pasta tests, compila sem erro, abre o checkbox2.exe mas quando marca uma das opções e dou OK ele fecha e da esse erro abaixo.

`----------------------------- xHarbour Error Log ------------------------------

Date...............: 10/13/24
Time...............: 18:06:05

Application name...: D:\devel\hwgui_teste_harbour\hwgui_gambeta_r1908\tests\checkbox2.exe
Workstation name...: SYGECOM0293
Available memory...: 5413532
Current disk.......: D
Current directory..: devel\hwgui_teste_harbour\hwgui_gambeta_r1908\tests
Free disk space....: 87757246464

Operating system...: Windows 8 6.2.9200
xHarbour version...: xHarbour 1.3.1 Intl. (SimpLex) (Build 20240404)
xHarbour built on..: Apr  8 2024 14:34:37
C/C++ compiler.....: LLVM/Clang C 5.0.2 (64-bit)
Multi Threading....: NO
VM Optimization....: 1

Current Area ......:1

-------------------------- Environmental Information --------------------------

SET ALTERNATE......: OFF
SET ALTFILE........: 
SET AUTOPEN........: ON
SET AUTORDER.......: 0
SET AUTOSHARE......: 0
SET BACKGROUNDTASKS: OFF
SET BACKGROUNDTICK.: 1000
SET BELL...........: OFF
SET BLINK..........: .T.
SET CANCEL.........: ON
SET CENTURY........: OFF
SET COLOR..........: W/N,N/W,N/N,N/N,N/W
SET CONFIRM........: OFF
SET CONSOLE........: ON
SET COUNT..........: 0
SET CURSOR.........: 1
SET DATE FORMAT....: MM/DD/YY
SET DBFLOCKSCHEME..: 0
SET DEBUG..........: OFF
SET DECIMALS.......: 2
SET DEFAULT........: 
SET DEFEXTENSIONS..: ON
SET DELETED........: OFF
SET DELIMCHARS.....: ::
SET DELIMETERS.....: OFF
SET DEVICE.........: SCREEN
SET DIRCASE........: 0
SET DIRSEPARATOR...: \
SET EOL............: 13
SET EPOCH..........: 1900
SET ERRORLOG.......: ERROR.LOG,.F.
SET ERRORLOOP......: 8
SET ESCAPE.........: ON
SET EVENTMASK......: 128
SET EXACT..........: OFF
SET EXCLUSIVE......: ON
SET EXIT...........: OFF
SET EXTRA..........: OFF
SET EXTRAFILE......: 
SET FILECASE.......: 0
SET FIXED..........: OFF
SET FORCEOPT.......: OFF
SET HARDCOMMIT.....: ON
SET IDLEREPEAT.....: ON
SET INSERT.........: OFF
SET INTENSITY......: ON
SET LANGUAGE.......: EN
SET MARGIN.........: 0
SET MBLOCKSIZE.....: 0
SET MCENTER........: OFF
SET MESSAGE........: 0
SET MFILEEXT.......: 
SET OPTIMIZE.......: ON
SET OUTPUTSAFETY...: ON
SET PATH...........: 
SET PRINTER........: OFF
SET PRINTERJOB.....: 
SET PRINTFILE......: PRN
SET SCOREBOARD.....: ON
SET SCROLLBREAK....: ON
SET SOFTSEEK.......: OFF
SET STRICTREAD.....: OFF
SET TRACE..........: ON
SET TRACEFILE......: D:\DEVEL\HWGUI_TESTE_HARBOUR\HWGUI_GAMBETA_R1908\TESTS\TRACE.LOG
SET TRACESTACK.....: 2
SET TRIMFILENAME...: .F.
SET TYPEAHEAD......: 50
SET UNIQUE.........: OFF
SET VIDEOMODE......: 0
SET WRAP...........: OFF

---------------------------Detailed Work Area Items----------------------------

Work Area No ......: 1
Alias .............: SYGECOM
Current Recno .....: 1
Current Filter ....: 
Relation Exp. .....: 
Index Order .......: 0
Active Key ........: 

-------------------- Internal Error Handling Information  ---------------------

Subsystem Call ....: GPFHANDLER
System Code .......: 0
Default Status ....: .F.
Description .......: Erro de GPFEXCEPTION_ACCESS_VIOLATION - O thread tentou ler/escrever num endere o virtual ao qual n o tinha acesso.
Operation .........: GPFHANDLER
Arguments .........:  [ 1] = Type: C Val: EXCEPTION_ACCESS_VIOLATION - O thread tentou ler/escrever num endere o virtual ao qual n o tinha acesso. [ 2] = Type: O Val: { C Structure EXCEPTION_POINTERS Object } [ 3] = Type: N Val:          -1073741819
Involved File .....: 
Dos Error Code ....: 0

 Trace Through:
----------------
GPFHANDLER            :     233 in Module: checkbox2.prg
GPFHANDLER            :     233 in Module: checkbox2.prg
GETDRAWITEMINFO       :       0 in Module: 
HBUTTONEX:PAINT       :     742 in Module: source\hbuttonex.prg
(b)HBUTTONEX:NEW      :     122 in Module: source\hbuttonex.prg
ONDRAWITEM            :   1,075 in Module: source\hcwindow.prg
HCUSTOMWINDOW:ONEVENT :     316 in Module: source\hcwindow.prg
HDIALOG:ONEVENT       :     448 in Module: source\hdialog.prg
HWG_DLGBOXINDIRECT    :       0 in Module: 
HDIALOG:ACTIVATE      :     202 in Module: source\hdialog.prg
SELECIONA_SERVIDOR_SQ :      93 in Module: checkbox2.prg
(b)MAIN               :      35 in Module: checkbox2.prg
HBUTTON:ONCLICK       :     243 in Module: source\hbutton.prg
(b)HBUTTON:NEW        :      71 in Module: source\hbutton.prg
DLGCOMMAND            :     774 in Module: source\hdialog.prg
HDIALOG:ONEVENT       :     352 in Module: source\hdialog.prg
HWG_DLGBOXINDIRECT    :       0 in Module: 
HDIALOG:ACTIVATE      :     202 in Module: source\hdialog.prg
MAIN                  :      35 in Module: checkbox2.prg

############################## Video Screen Dump ##############################

+--------------------------------------------------------------------------------+
|r/escrever num endere o virtual ao qual n o tinha acesso.: GPFHANDLER Arguments:|
| ( [ 1] = Type: C Val: EXCEPTION_ACCESS_VIOLATION - O thread tentou ler/escrever|
| num endere o virtual ao qual n o tinha acesso. [ 2] = Type: O Val: { C Structur|
|e EXCEPTION_POINTERS Object } [ 3] = Type: N Val:          -1073741819)         |
|                                                                                |
|Error at ...: GPFHANDLER(233) in Module: checkbox2.prg                          |
|Called from : GPFHANDLER(233) in Module: checkbox2.prg                          |
|Called from : GETDRAWITEMINFO(0) in Module:                                     |
|Called from : HBUTTONEX:PAINT(742) in Module: source\hbuttonex.prg              |
|Called from : (b)HBUTTONEX:NEW(122) in Module: source\hbuttonex.prg             |
|Called from : ONDRAWITEM(1075) in Module: source\hcwindow.prg                   |
|Called from : HCUSTOMWINDOW:ONEVENT(316) in Module: source\hcwindow.prg         |
|Called from : HDIALOG:ONEVENT(448) in Module: source\hdialog.prg                |
|Called from : HWG_DLGBOXINDIRECT(0) in Module:                                  |
|Called from : HDIALOG:ACTIVATE(202) in Module: source\hdialog.prg               |
|Called from : SELECIONA_SERVIDOR_SQL(93) in Module: checkbox2.prg               |
|Called from : (b)MAIN(35) in Module: checkbox2.prg                              |
|Called from : HBUTTON:ONCLICK(243) in Module: source\hbutton.prg                |
|Called from : (b)HBUTTON:NEW(71) in Module: source\hbutton.prg                  |
|Called from : DLGCOMMAND(774) in Module: source\hdialog.prg                     |
|Called from : HDIALOG:ONEVENT(352) in Module: source\hdialog.prg                |
|Called from : HWG_DLGBOXINDIRECT(0) in Module:                                  |
|Called from : HDIALOG:ACTIVATE(202) in Module: source\hdialog.prg               |
|Called from : MAIN(35) in Module: checkbox2.prg                                 |
+--------------------------------------------------------------------------------+
`
sygecom commented 1 week ago

Esqueci de um detalhe importante, checkbox2.prg chama uma tela de teste, mas o problema pode ser simulado adicionando um GROUPBOX na dialog2.prg da pasta tests

include "hwgui.ch"

PROCEDURE Main()

   LOCAL oDialog
   LOCAL oEdit1
   LOCAL oEdit2
   LOCAL oEdit3
   LOCAL oEdit4
   LOCAL oEdit5
   LOCAL oGroup1

   INIT DIALOG oDialog TITLE "Test" SIZE 640, 480 ;
      FONT HFont():Add("Courier New", 0, -13) ;
      ON EXIT {||HWG_MsgYesNo("Confirm exit ?")}

   @ 20, 40 SAY "Field&1 (ALT+1):" SIZE 130, 26
   @ 160, 40 EDITBOX oEdit1 CAPTION "" SIZE 300, 26

   @ 20, 80 SAY "Field&2 (ALT+2):" SIZE 130, 26
   @ 160, 80 EDITBOX oEdit2 CAPTION "" SIZE 300, 26

   @ 20, 120 SAY "Field&3 (ALT+3):" SIZE 130, 26
   @ 160, 120 EDITBOX oEdit3 CAPTION "" SIZE 300, 26

   @ 20, 160 SAY "Field&4 (ALT+4):" SIZE 130, 26
   @ 160, 160 EDITBOX oEdit4 CAPTION "" SIZE 300, 26

   @ 20, 200 SAY "Field&5 (ALT+5):" SIZE 130, 26
   @ 160, 200 EDITBOX oEdit5 CAPTION "" SIZE 300, 26

   @ (320 - 100) / 2, 280 BUTTONEX "&Ok" OF oDialog ID IDOK SIZE 100, 32

   @ (320 - 100) / 2 + 320, 280 BUTTONEX "&Cancel" OF oDialog ID IDCANCEL SIZE 100, 32

   @ 5,6 GROUPBOX oGroup1 CAPTION "Selecione o banco de dados"  SIZE 220,202  ;
   COLOR 16711680

   ACTIVATE DIALOG oDialog

RETURN
sygecom commented 1 week ago

Mais uma informação. Compilando com xharbour e bcc72 em 64 bits roda sem erro o exemplo acima.