On Sunday, June 9, 2024, 11:48:56, Martijn Laan wrote:
Download: https://www.jrsoftware.org/isdl.php
There's something wrong with the new IDE, it crashes immediately on my computer. Not sure if it's due to me using high contrast mode in Windows, or due to combination of that and high-DPI, or something else (the crash causes Dr.Mingw to go in infinite loop, while trying to debug with gdb shows an Illegal instruction in ntdll…). I don't have Delphi installed at the moment unfortunately.
Command-line compiler works fine.
On Sunday, June 9, 2024, 12:35:32, Jernej Simončič wrote:
There's something wrong with the new IDE, it crashes immediately on my computer. Not sure if it's due to me using high contrast mode in Windows, or due to combination of that and high-DPI, or something else (the crash causes Dr.Mingw to go in infinite loop, while trying to debug with gdb shows an Illegal instruction in ntdll…). I don't have Delphi installed at the moment unfortunately.
Tried it in a clean virtual machine, the compiler also crashes with
---------------------------
Application Error
---------------------------
Exception EScintEditError in module Compil32.exe at 001D7E55.
TScintEdit error: Too many colors.
---------------------------
V redu
---------------------------
Looks like the problem happens when DPI is set above 200% (I run at 225%).
On Sunday, June 9, 2024, 13:05:09, Martijn Laan wrote:
Ok, wow. I have tested it with 200% DPI but my system doesn't allow more and didn't realize more was possible.
Yeah, Windows restricts which DPI settings are shown based on your resolution (I'm running 27″ monitors with 5120x2880), though if you click the option for custom DPI, you can type in anything you want (however that also gives you legacy scaling, which requires logoff and logon to apply).
I'm not suprised this lead to the colors error.Please try this build: https://files.jrsoftware.org/is/dev/innosetup-6.3.0.exe
On Sunday, June 9, 2024, 15:33:16, Martijn Laan wrote:
I did try the custom DPI option earlier but after a few seconds of high DPI after logon it reverts to 100% DPI for some reason (the desktop, not the settings).
Are you using VMWare? It has an option to automatically match guest DPI (which in my experience just causes problems, so I disable it for every VM – uncheck VM Settings → Display → Automatically adjust user interface size in the virtual machine).
Anyway, glad it fixed the issue, thanks for reporting and testing so quickly. I've replace the main download on the site with the new build which includes the workaround.Hope you like the new version! And thanks for all your support over the years :)
It'll certainly help with the x64/arm64 stuff :)
Also, something I have been working on but is not included in 6.3.0 is updating the Scintilla component used by the Compiler IDE. I'm now at 3.4.4 instead of 2.22.One thing this does it removing the 'too many colors' limitation you encountered. If you can please try this build:It should be able to display all of the editor's gutter icons at their highest resolution on any DPI unlike 6.3.0.
Seems to work fine, though I can't really see any difference regarding the gutter icons.
--
You received this message because you are subscribed to the Google Groups "innosetup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to innosetup+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/innosetup/1903406413.20240609124035%40eternallybored.org.
To view this discussion on the web visit https://groups.google.com/d/msgid/innosetup/0df35e72-73e2-472a-a16c-0fba956fbc05n%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "innosetup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to innosetup+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/innosetup/169c70c1-f2d5-4d7b-b4ea-c6c714b93011n%40googlegroups.com.
In Python we could have a code like this:
import requests
# Local app version
local_version = 630 # This is the version of your local app
# Function to read the remote text file
def fetch_site_version(url):
try:
response = requests.get(url)
response.raise_for_status()
site_version = int(response.text.strip())
return site_version
except requests.RequestException as e:
print(f"Error fetching the text file: {e}")
return None
# Function to compare versions
def check_version(site_version, local_version):
if site_version > local_version:
print("A new update is available")
else:
print("Your version is up to date")
# URL of the remote text file
version_file_url = 'https://your-site.com/version.txt'
# Execute the version check
site_version = fetch_site_version(version_file_url)
if site_version is not None:
check_version(site_version, local_version)
else:
print("Unable to fetch the version from the site")
It could be more safe, this is only a idea.
If you want a javascript version:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Version Check</title>
</head>
<body>
<div id="message"></div>
<script>
// Local app version
let localVersion = 630; // This is the version of your local app
// Function to read the remote text file
async function fetchSiteVersion(url) {
try {
let response = await fetch(url);
if (!response.ok) {
throw new Error('Error fetching the text file');
}
let siteVersion = await response.text();
return parseInt(siteVersion.trim(), 10);
} catch (error) {
console.error('Error:', error);
return null;
}
}
// Function to compare versions
function checkVersion(siteVersion, localVersion) {
let message = document.getElementById('message');
if (siteVersion > localVersion) {
message.textContent = "A new update is available";
} else {
message.textContent = "Your version is up to date";
}
}
// URL of the remote text file
let versionFileUrl = 'https://your-site.com/version.txt';
// Execute the version check
fetchSiteVersion(versionFileUrl).then(siteVersion => {
if (siteVersion !== null) {
checkVersion(siteVersion, localVersion);
} else {
document.getElementById('message').textContent = "Unable to fetch the version from the site";
}
});
</script>
</body>
</html>
Only only an idea...
On server is sufficient to put a text file with the version without dots.
Example: for version 6.3.1 put 631.
Kind regards
Alessandro
To view this discussion on the web visit https://groups.google.com/d/msgid/innosetup/aaecdf53-923f-4930-bd50-eaed556025c8n%40googlegroups.com.