09-11-2023, 04:52 PM
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.
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.