|
Post by Robert on Jul 5, 2023 18:11:09 GMT -5
Anything new?
|
|
|
Post by George on Jul 6, 2023 8:26:46 GMT -5
Robert Well, some progress. I'm able to open a file for Browse now, but most of the Primary command processors and I/O support code is simply commented out. It's all to do with inter-tab stuff, communicating, opening and closing tabs, etc. Throw in the Profile handling jungle and my head hurts. But if I'm right in this approach, it should simplify a lot of stuff. If not, this will be an incredible waste of time.
George
|
|
|
Post by Robert on Jul 6, 2023 9:44:37 GMT -5
All this is in order to add profile overrides to the EFT?
This was why I first thought that an IMACRO-type approach would be easier. But then, I guess you ruled out pretty early that using macros was the wrong idea because you'd need one at the wrong time or something.
I must commend your determination. At first I didn't think you wanted it. PS. restructuring code to be logical and coherent is not a waste of time.
You know, I have been thinking that, as nice as EFT overrides will be, there might be a down side. Remember long ago in a galaxy far far away, you didn't like plain-text INI files, because people would mess them up and then complain to you, etc. etc? You then put stuff in SQLite to protect it from tampering.
But, by having a bunch of EFT's with profile overrides, are we effectively going back to having plain-text configuration information that users can mess up?
This is a totally devil's advocate question, but I was just wondering what you thought of that.
R
|
|
|
Post by George on Jul 6, 2023 11:26:31 GMT -5
Robert: All the EFT overrides are done via the normal Profile setting commands, so all the verification that gets the info into the CFG file currently is not being bypassed. If an Override fails to verify, the user gets the message and the file open is failed.
The EFT override addition has simply shown up some really dumb internals that I didn't think could be overcome by layering on a bunch of new kludgy code.
George
|
|
|
Post by Robert on Jul 6, 2023 11:43:05 GMT -5
If you are rejecting kludges and trying to do things the right way, then I can only agree with you.
|
|
|
Post by George on Jul 6, 2023 13:27:00 GMT -5
Robert: Yes, I've barely begun and am already collapsing code. A lot of it has to do with handling nested Objects within Objects, which, after all these years, I'm finally figuring out PB's handling. However SPFLite's single thread approach for the main processing still makes some things a bit tricky.
George
|
|
|
Post by Robert on Jul 6, 2023 13:56:13 GMT -5
Too late to change the paradigm to multi-threaded now, I would assume. Probably would actually need to start over from scratch. And, we both are unlikely to live long enough for that to happen. So, by all means, continue on with kludge-repair and redesign.
This will be interesting.
|
|
|
Post by George on Jul 7, 2023 13:35:45 GMT -5
Robert: Well, progress, I can now save a file. Whee! But boy! A long way to go, let alone trying to test everything.
Probably never should have started this, but now I'm in it, I gotta chug through it.
George
|
|
|
Post by Robert on Jul 7, 2023 13:51:30 GMT -5
You seemed quite determined to do this. You must have had a good reason. Too late to back out now. Don't second guess yourself. Full speed ahead - one chug at a time.
(Or, were you referring to BEER? Just checking :-))
|
|
|
Post by George on Jul 7, 2023 14:51:00 GMT -5
Robert: We're not beer people, I don't mind one now and then, but mostly we're white wine people.
George
|
|
|
Post by George on Jul 9, 2023 15:42:48 GMT -5
Chugging along, it's like non-stop bug solving. Whew! Didn't realize just how intertwined everything is.
George
|
|
|
Post by Robert on Jul 9, 2023 15:56:10 GMT -5
This is like getting volunteer help from someone who doesn't really know what your problem is or how to solve it. What happens is that they start asking a bunch of "dumb questions" that REALLY annoy you (because that's all they know how to do), until - all of a sudden - one of those "annoying questions" forces you to RE-THINK something that is very "familiar" to you, but SO familiar that you had stopped thinking about it a long time ago.
Now that you're FORCED to re-think, all of a sudden you get that AH-HA moment, where you find a bug or a way to do things better that you never would have found otherwise.
That's why you're finding how intertwined things are. They always WERE, you just forgot, until you RE-SAW it this very minute.
R
|
|
|
Post by George on Jul 10, 2023 12:38:08 GMT -5
Robert: Finally back to 'chugging' mode. Stymied for a day or so with random crashes. Turned out to be the old mis-matched MEntry and MExit trace code. They are royal PITA to chase because the crashes are barely repeatable. Now I have to slowly uncomment the various commands that I commented out in order to proceed. But the basic Edit, Browse, View and Save are working so the rest "shouldn't" put up too much of a fight.
George
|
|
|
Post by Robert on Jul 10, 2023 13:01:00 GMT -5
I am wondering if some kind of code-scanning tool could be built to validate the MEntry/MExit usage. You'd have to 'parse' your PB code, but the 'parser' would be pretty much dirt simple, you wouldn't really be trying to understand the syntax, just the SUB/FUNCTION blocks. It might even report a few false positives, but that would be OK, you would just use it to verify if the code there was really OK.
You'd be counting on the fact that you have a very rigid way of writing code, and you can use that fact to simplify the scanner logic.
You don't have time for this right now, but it would be a good tool to have available at some point. I know you've run into this issue before.
R
|
|
|
Post by Robert on Jul 10, 2023 18:42:56 GMT -5
I have deleted this entry, because it belongs as a new suggestion.
|
|