The Hexeditor project
#11
I really wanted to compile this program to see if I could get the kewl pixel-art in the screenshot just above. But I have to do it on Windows.

In another time, I would take some time to fix this so it works on Linux.

What I did specifically was to go into "HEXEDIT.BAS" and make sure all filenames it requests are in uppercase because all filenames included in the ZIP have uppercase filenames. Then the compilation failed trying to look for "comdlg32.dll" inside one of the include files. This seems to go much further than the save and open file dialogs from Windows. Curiously in 32-bit this presented program looks for the window for "SICK64", as part of logic for "FindWindow()".

Just to let others know that I get interested in stuff available on the forum and check it out, but it's kind of hard if I need to go into Windows to compile it, and otherwise depend on a finished executable from someone else to see if it runs under Wine. :/
Reply
#12
You are correct. It seems I borrowed dialog.inc from Sick and failed to update it to Hexedit..

You could force comdlg32.dll to uppercase but it doesn't seem to matter in Windows.

Erik.
Reply
#13
Quote:I really wanted to compile this program to see if I could get the kewl pixel-art in the screenshot just above. But I have to do it on Windows.


The ansi ship screen is not a graphics image -- it is a text color/print character function which can be found in Sub AnsiScreen..

It exists because it is the only older ansi function I could find.

Erik.
Reply
#14
I have upgraded the Hexeditor project with:

Code: (Select All)
 v8.0a rE.0a updates 04/20/2023:
  Adds BreakBox for Ctrl-Break trap.
  Updates dialogx.inc for correct title.
  Includes more old hexeditor in oldsrc.zip
  Fixes problem with CreateFile function call.

v8.0a rF.0a updates 04/28/2023:
   Removes some code from Sub ReadConfig and Sub WriteConfig.
   Stores config filename node in Sub GetConfigFilename$
   Adds Alt-F11 to test dialog box.
   Adds Alt-F12 to test file menu box.
   Forces config filename to current path.

v8.0a rG.0a updates 05/18/2023:
   Fixes \\ in directory display in Sub Menu3.

v8.0a rH.0a updates 05/20/2023:
  Fixes print display for Alt-F11 and Alt-F12
  Adds Filemenubox setting to hexedit.cfg
  Adds Errorbox2 to select file menu box/dialog box at start.

v8.0a rI.0a updates 05/23/2023:
  Adds more up/down scancodes to some message boxes.
  Updates oldsrc.zip with newer Hexxit81 features.
  Adds <escape> to exit system in call to ErrorBox2 in startup.

v8.0a rJ.0a updates 06/01/2023:
  Fixes netpath in Call Menu during startup box.
  Calls Delete.Process in exit from startup box and breakbox.

v8.0a rK.0a updates 06/10/2023:
  Fixes error when started from netpath.

v8.0a rL.0a updates 06/15/2023:
  Fixes error when writing config to cd-rom drive.
  Adds [FLOPPY] to DriveType in Function DriveExists.

v8.0a rM.0a updates 08/15/2023:
  Fixes MaxFiles in some UDTs.

v8.0a rN.0a updates 08/20/2023:
  Adds _ControlChr Off to top of main.
  Removes some assigned screen save variables.

v8.0a rO.0a updates 08/25/2023:
  Adds MouseButton2 to Sub Menu.
  Adds Control-F12 to edit hexedit.cfg


Attached Files
.zip   HEXED8RN.ZIP (Size: 270.8 KB / Downloads: 8)
.zip   HEXED8RO.ZIP (Size: 277.7 KB / Downloads: 8)
Reply
#15
(04-24-2023, 12:33 AM)eoredson Wrote: I have upgraded the Hexeditor project with:

Code: (Select All)
 v8.0a rE.0a updates 04/20/2023:
  Adds BreakBox for Ctrl-Break trap.
  Updates dialogx.inc for correct title.
  Includes more old hexeditor in oldsrc.zip

I've got an error => C++ Compilation failed
=> compilelog.txt:

Code: (Select All)
internal\c\c_compiler\bin\c++.exe  -w -std=gnu++11 -DGLEW_STATIC -DFREEGLUT_STATIC -Iinternal\c\libqb/include -DDEPENDENCY_IMAGE_CODEC -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE internal\c/libqb.cpp -c -o internal\c/libqb_make_01001100000000.o
internal\c\c_compiler\bin\c++.exe  -w -std=gnu++11 -DGLEW_STATIC -DFREEGLUT_STATIC -Iinternal\c\libqb/include -DDEPENDENCY_IMAGE_CODEC -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE internal\c/qbx.cpp -c -o internal\c/qbx.o
internal\c\c_compiler\bin\objcopy.exe -Ibinary -Oelf64-x86-64 -Bi386:x86-64 internal\temp/data.bin internal\temp/data.o
In file included from internal\c/qbx.cpp:2545:
internal\c/..\\temp\\main.txt: In function 'void SUB_WRITECONFIG()':
internal\c/..\\temp\\main.txt:58540:32: error: cast from 'HANDLE' {aka 'void*'} to 'int32_t' {aka 'int'} loses precision [-fpermissive]
58540 | *_SUB_WRITECONFIG_OFFSET_HFIND=(  int32  )CreateFile((char*)(_SUB_WRITECONFIG_STRING_F)->chr, 384 ,NULL,NULL, 2 ,NULL,NULL);
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mingw32-make: *** [Makefile:412: internal\c/qbx.o] Error 1
mingw32-make: *** Waiting for unfinished jobs....
Reply
#16
(04-24-2023, 09:20 AM)BDS107 Wrote:
(04-24-2023, 12:33 AM)eoredson Wrote: I have upgraded the Hexeditor project with:

Code: (Select All)
 v8.0a rE.0a updates 04/20/2023:
  Adds BreakBox for Ctrl-Break trap.
  Updates dialogx.inc for correct title.
  Includes more old hexeditor in oldsrc.zip

I've got an error => C++ Compilation failed
=> compilelog.txt:

Code: (Select All)
internal\c\c_compiler\bin\c++.exe  -w -std=gnu++11 -DGLEW_STATIC -DFREEGLUT_STATIC -Iinternal\c\libqb/include -DDEPENDENCY_IMAGE_CODEC -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE internal\c/libqb.cpp -c -o internal\c/libqb_make_01001100000000.o
internal\c\c_compiler\bin\c++.exe  -w -std=gnu++11 -DGLEW_STATIC -DFREEGLUT_STATIC -Iinternal\c\libqb/include -DDEPENDENCY_IMAGE_CODEC -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE internal\c/qbx.cpp -c -o internal\c/qbx.o
internal\c\c_compiler\bin\objcopy.exe -Ibinary -Oelf64-x86-64 -Bi386:x86-64 internal\temp/data.bin internal\temp/data.o
In file included from internal\c/qbx.cpp:2545:
internal\c/..\\temp\\main.txt: In function 'void SUB_WRITECONFIG()':
internal\c/..\\temp\\main.txt:58540:32: error: cast from 'HANDLE' {aka 'void*'} to 'int32_t' {aka 'int'} loses precision [-fpermissive]
58540 | *_SUB_WRITECONFIG_OFFSET_HFIND=(  int32  )CreateFile((char*)(_SUB_WRITECONFIG_STRING_F)->chr, 384 ,NULL,NULL, 2 ,NULL,NULL);
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mingw32-make: *** [Makefile:412: internal\c/qbx.o] Error 1
mingw32-make: *** Waiting for unfinished jobs....

Yes me too!
Quote:internal\c\c_compiler\bin\c++.exe  -w -std=gnu++11 -DGLEW_STATIC -DFREEGLUT_STATIC -Iinternal\c\libqb/include -Iinternal\c/parts/core/src/ -Iinternal\c/parts/core/glew/include/ -DDEPENDENCY_IMAGE_CODEC -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE internal\c/libqb.cpp -c -o internal\c/libqb_make_01001100000000.o
internal\c\c_compiler\bin\c++.exe  -w -std=gnu++11 -DGLEW_STATIC -DFREEGLUT_STATIC -Iinternal\c\libqb/include -Iinternal\c/parts/core/src/ -Iinternal\c/parts/core/glew/include/ -DDEPENDENCY_IMAGE_CODEC -DDEPENDENCY_NO_SOCKETS -DDEPENDENCY_PRINTER -DDEPENDENCY_ICON -DDEPENDENCY_NO_SCREENIMAGE internal\c/qbx.cpp -c -o internal\c/qbx.o
internal\c\c_compiler\bin\objcopy.exe -Ibinary -Oelf64-x86-64 -Bi386:x86-64 internal\temp/data.bin internal\temp/data.o
In file included from internal\c/qbx.cpp:2349:
internal\c/../temp/main.txt: In function 'void SUB_WRITECONFIG()':
internal\c/../temp/main.txt:58540:32: error: cast from 'HANDLE' {aka 'void*'} to 'int32_t' {aka 'int'} loses precision [-fpermissive]
58540 | *_SUB_WRITECONFIG_OFFSET_HFIND=(  int32  )CreateFile((char*)(_SUB_WRITECONFIG_STRING_F)->chr, 384 ,NULL,NULL, 2 ,NULL,NULL);
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mingw32-make: *** [Makefile:417: internal\c/qbx.o] Error 1
mingw32-make: *** Waiting for unfinished jobs....
b = b + ...
Reply
#17
Ok. I don't know how to interpret compiler errors well enough to understand the source of the error, but maybe

dialogx.inc is not present, or, the declare should be:

Code: (Select All)
Declare Library
    Function CreateFileA& (filename$, Byval access&, Byval sharing&, Byval sec_attr%&, Byval create&, Byval flags&, Byval template%&)
End Declare

could be changed. If this is not the case, I will remove the project until I can figure it out.

On my computer it works quite well.

Erik.
Reply
#18
Just to confirm this is intended for 64 bit and not DOS.?
b = b + ...
Reply
#19
(04-24-2023, 10:42 PM)bplus Wrote: Just to confirm this is intended for 64 bit and not DOS.?

Yes, this strictly a QB64-32 project.

Um, try renaming CreateFile( in WriteConfig to CreateFileA(
Reply
#20
(04-24-2023, 10:53 PM)eoredson Wrote:
(04-24-2023, 10:42 PM)bplus Wrote: Just to confirm this is intended for 64 bit and not DOS.?

Yes, this strictly a QB64-32 project.

Um, try renaming CreateFile( in WriteConfig to CreateFileA(

uh QB64-32? What is you exact version of QB64pe?

Here is mine:
   
b = b + ...
Reply




Users browsing this thread: 6 Guest(s)