News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

Adventures in programming: Treeviews, directory scanning, recursion

Started by NoCforMe, April 05, 2024, 10:36:19 AM

Previous topic - Next topic

NoCforMe

At this point I'd like to give debugging awards to those whose efforts were really helpful to me:

  • Sudoku (aka Zedd) who found the reason for the progress-bar marquee not working (though we still don't know why)
  • sinsi for finding some major problems that caused crashes

Couldn't have done it without you.
Assembly language programming should be fun. That's why I do it.

zedd151

Latest bugfix attempt?
    CMP    PictureIsUp, FALSE
    JE    dodefault
   

jump to default, rather than zero_exit
seems to work, without commenting out needed code.
Ventanas diez es el mejor.  :azn:

NoCforMe

AAAAAARGH!

How do you keep finding these things?

Guess what: that's not the "latest bugfix". That was the reason the progress bar marquee didn't work all along! Has nothing at all to do with GDI+. Never did.

Like I figured it would be, just another stupid mistake on some programmer's part.

(Explanation: if you get a WM_PAINT message, you'd better handle it properly--either go through BeginPaint() and EndPaint() and return zero, or return non-zero if you don't handle it. Otherwise the paint message queue will get all screwed up.)
Assembly language programming should be fun. That's why I do it.

zedd151

Quote from: NoCforMe on April 22, 2024, 02:29:35 PMHow do you keep finding these things?
Persistence and trial and error mostly.


Quote from: NoCforMe on April 22, 2024, 02:29:35 PMLike I figured it would be, just another stupid mistake on some programmer's part.
I wonder what the martians would make of that... :joking:
Ventanas diez es el mejor.  :azn:

NoCforMe

Assembly language programming should be fun. That's why I do it.

zedd151

I just knew all along, that it had to be something simple.
Ventanas diez es el mejor.  :azn:

zedd151

I just tested the long path version of the program in Windows 10.  :dazzled:

The very first few .png images that I clicked on did not appear.  :sad:
Low and behold, they were white images and did appear but against a white background, seemed that they did not.  Perhaps a different (patterned) background might be better?

Otherwise no issues with long path names for me on Windows 10.
ooops!! I forgot to check the log... attached

But no crash due to long paths
Ventanas diez es el mejor.  :azn:

NoCforMe

Quote from: sudoku on April 23, 2024, 12:56:16 AMOtherwise no issues with long path names for me on Windows 10.
ooops!! I forgot to check the log... attached

As they used to say on "Laugh-In", verrry eenteresting ... All of those files start with C:\Windows\servicing\LCU\Package_for_RollupFix~ .... Does anyone have any idea where those files come from? Are they a Windows component, or are they part of some other package? ("RollupFix"? What is that?) In any case, they violate MAX_PATH egregiously.

QuoteBut no crash due to long paths
That's because I caught them and logged them, rather than let them overwrite my data structures.
Assembly language programming should be fun. That's why I do it.

zedd151

Where those files came from I have no clue. I would have thought that 'winsxs' would have had the longest paths. (Very long folder names there, too iirc)
After I posted I thought to check the log. Whoops!
Ventanas diez es el mejor.  :azn:

sinsi

🍺🍺🍺

NoCforMe

Wellll, that certainly is a can o'worms. As the project manager for this program, I'm making an executive decision here: fuggedabout Unicode filenames, or any pathname over MAX_PATH long. It would be waaay too much trouble to fix this properly (as a production-grade piece of software ought to): would probably have to dynamically allocate each and every pathname, which would be a fucking nightmare. No thanks. I'll live with the occasional ignored file. (Interesting that all the files that were in Sudoku's log were image files that the program could've displayed, .pngs to be exact. Oh, well.)

As a Windows 7 user, I can simply shut the door to anyone with a more modren OS. And since this is not a commercial product, I get to do that. Windows 11? That's your problem. This app is for the Windows Retro Club only.
Assembly language programming should be fun. That's why I do it.

zedd151

Quote from: NoCforMe on April 23, 2024, 09:34:44 AMWindows 11? That's your problem. This app is for the Windows Retro Club only.
Can I use that quote, or is it copyrighted?  :tongue:

You should not call it an app. It's a Program or Application.
Apps are for smartphones, tablets, and windows 8/10/11 (I.e. Metro Apps)  :wink2:
Ventanas diez es el mejor.  :azn:

NoCforMe

Assembly language programming should be fun. That's why I do it.

zedd151

Ventanas diez es el mejor.  :azn:

jj2007

Quote from: sinsi on April 23, 2024, 07:46:13 AMYou have always been able to make unicode paths upto 32K in size

Indeed. And Unicode API calls are generally a tick faster, too, because the Ansi versions are just wrappers around the Unicode versions.