Posts: 63
Threads: 9
Likes Received:
41 in 28 posts
Likes Given: 26
Joined: Sep 2023
Reputation:
9
I downloaded the latest version 1.24 and the beta version 1.25 and copied each into the LIB directory.
The file attribute also shows these versions.
However, the LDUtilities.Version() function always runs to error 403 and shows version 1.23.
The extension manager cannot download the database.
Maybe the old URL is still accessed here?
Posts: 451
Threads: 34
Likes Received:
359 in 246 posts
Likes Given: 178
Joined: Aug 2023
Reputation:
17
I have updated the download for extension manager as well as SB-Prime. In either case, after downloading and unblocking zip, extract the contents to a new folder.
Posts: 451
Threads: 34
Likes Received:
359 in 246 posts
Likes Given: 178
Joined: Aug 2023
Reputation:
17
Thanks for reply,
Yeah, some of the default MyBB is a bit odd, like the Quote thing. I think the intended idea it to use the big Black Reply button, but we can see how it goes if folk start using it. I've initially tried to stick with defaults and try to understand how they designed it to be used before imposing too many changes.
Running LDUtilities.Version() for me without saving works OK, but I have noticed that anti virus stuff does prevent some compiled programs with extensions, so I do tend to save to a folder that I have excluded from MS Windows security - obviously I have not added an exclusion to %temp%.
In brief what the extension manager does is:
1] Gets the SB installation path (for 32 or 64 bit systems), assuming this is the default - there are ways to over-ride the default SB installation location
2] Checks that the lib folder exists, if not, then either the installation path is wrong or lib folder isn't there and it closes with a warning
3] Download the current xml database from my website, if this fails then close.
4] Get the current Small Basic version from SmallBasicLibrary.dll
5] Read the database and setup the interface buttons
6] Add any extensions in the lib, that are not in the database to the interface - some checking that they are SB extensions
7] Go through each extension and check its state, present, active or not (inactive have .dll replaced with ._dll)
If we want to download an extension:
1] Download the zip to a temp file (in %temp%)
2] Unblock the zip
3] Unzip the dowload to a temp folder
4] Some checks on the download for dll and xml files and they are SB extensions
5] If valid, then delete old xml and dll from lib folder if they already exist, then copy downloaded versions
6] UAC may be needed for these actions
7] Check for security (still blocked) of the copied dll and xml
8] Update all the interface button status
9] Finally delete the temp zip file and unzipping folder
There should be warnings if any of the various stages fail - but this may not be perfect.
So xml language versions should not be affected I don't think unless they are in the download zip. Some De (German) ones are for some extensions, so these would be over-written. You can always look inthe downloaded database (ExtensionDatabase.xml) to see what xml languages are in each extension zip.
SBDebugger.dll is associated with SB-Prime debugging only, it is not an extension as such.
SBExtension.dll I think is a test extension (on my PC anyway).
When SB is compiled, all required files (exe and all of the lib extension dlls - needed or not) are copied to the run location. For a saved file this is its location, however for unsaved programs then they all go to %temp%. I don't think SB cleans them up from %temp% so they will hang around there. This was one of the issues folk had many years ago and the advice to regularly clean out %temp% folder when using SB without saving to files.
Hope this helps.
Posts: 451
Threads: 34
Likes Received:
359 in 246 posts
Likes Given: 178
Joined: Aug 2023
Reputation:
17
09-11-2023, 06:29 PM
(This post was last modified: 09-11-2023, 06:30 PM by litdev.)
Managed to get the Reply and Quote to work a bit more how I would expect
Posts: 63
Threads: 9
Likes Received:
41 in 28 posts
Likes Given: 26
Joined: Sep 2023
Reputation:
9
Thanks for the detailed information.
The last litdev.dll was copied to the temp directory in August 2020. That was version 1.23, so versions 1.24 and 1.25 were no longer copied to %temp%.
After deleting the entire %temp% directory, version 1.25 was copied to %temp% in directly executable mode and everything worked. So it looks more like the extension is not being copied due to security concerns, but because it already exists.