-
Content Count
3504 -
Joined
-
Last visited
-
Days Won
115
Everything posted by Lars Fosdal
-
The devil is indeed in the details.
-
VirtualBox is really nice for making test VMs for Windows and Linux. Install your favorite Windows version in a clean VM. Hotfix it and adapt it to your liking. Clone it. Install 10.3.2. Snapshot it. Clone the original again. Install 10.3.3. Snapshot it. Voila! Side by side comparison is now possible.
-
If I had to use Synchronize, I'd only use it to trigger an update in the UI. TThread.Synchronize(nil, procedure begin RefreshTimer.Enabled := True end); and perform the actual update in the timer event handler. I have had so many bad side effects with Synchronize, that I simply prefer to not use it at all.
-
Sourcetrail support for Delphi
Lars Fosdal replied to Jacek Laskowski's topic in Delphi IDE and APIs
Delphi.Owner; ๐ -
I tested building all our code, and luckily no surprises there. Delphi 10.3.3, TMS 9.03, Eurekalog 7.8.1. Actually running the code is next ๐
-
https://eurekalog.blogspot.com/2019/11/black-friday-and-cyber-monday-sale-2019.html If you deploy Windows apps to clients, tools like Eurekalog and MadExcept are indispensable for information about what goes wrong and where, when your users get an unhandled exception. Disclaimers: We use Eurekalog. We do not get referral discounts.
-
That makes me assume there will be no new Community Edition until 10.4.0 I was wrong about this.
-
Was there a 10.3.1 or 10.3.2 Community Edition?
-
Low(Integer) - assuming 32-bit Integer - will always be -2,147,483,648 What value were you expecting to see? Zero? Then you need to use Default 0 - or type Cardinal instead of Integer. Note that using a Cardinal can introduce challenges with regards to math operations that may cause a signed result such as (Small.Minvalue - Big.MinValue) < 0
-
My preferred way of dealing with sub-tasks is to provide a "mailbox" i.e. some sort of container, like a queue, array or list, for them to insert their results in. The main thread can either poll the mailbox periodically, or you could use a message or signal to initiate the polling whenever the container has content added.
-
Cross-platform solution to forcefully end a thread
Lars Fosdal replied to aehimself's topic in Cross-platform
Our servers rarely run with less than 25 concurrent threads. We also have threads that can't run in parallel and a scheduler in place that ensures that it doesn't happen. Have we had problems? Sure, when we broke the rules. Threads are not more dangerous or hard to use than any other field of development you are introduced to. The hardest thing about multithreading is to adapt your thinking to asynchronous events, instead of sequences. -
is there any "currency to words" routine for Delphi?
Lars Fosdal replied to Attila Kovacs's topic in Algorithms, Data Structures and Class Design
It seems that the French has a "times 20" system that is somewhat similar to the Danes. -
For my last questions - I was wondering whether removing a beacon from the manager, or stopping/starting the manager helped for redetecting the first detected beacon?
-
What is the format of the text message itself, i.e. not the attachment, but the body of text? If HTML - does it contain: <meta charset="UTF-8"> If XML - does it contain: <?xml version = "1.0" encoding = "UTF-8" ?> If plain string - Do you explicitly transform the string from the internal unicode string to UTF-8? I also stumbled on this: https://stackoverflow.com/questions/40469867/message-rfc822-ignores-utf-8 See last comment by @Remy Lebeau
-
My guess: String encoding. Explicitly setting to UTF-8 wherever possible should cure it?
-
Your client connection needs to set up SSL correctly to be able to connect to an SSL enabled SQL Server. The driver installation is done on the client-side.
-
A small self-contained compilable example would be helpful, I guess?
-
is there any "currency to words" routine for Delphi?
Lars Fosdal replied to Attila Kovacs's topic in Algorithms, Data Structures and Class Design
@Dany Marmur - I'm not a Dane, so it may be that the "seksti" / sixty is purely Norwegian. The standing Norwegian joke about the Danish language is that it is not a language, but a throat disease ๐ That said, Norwegian was under Danish rule for hundreds of years, so the languages are quite close in structure as well as vocabulary. Norwegian is "harder" / "crisper" in pronunciation, though - unless you consider the south-most dialects, neighboring Denmark ๐ -
Cross-platform solution to forcefully end a thread
Lars Fosdal replied to aehimself's topic in Cross-platform
Threads are dangerous in the same way that travel by car is dangerous. If you prepare well, know how to drive, follow the rules and take the appropriate precautions, then you will be in control and nothing bad happens. As always, there may be external factors that can cause problems - but that goes for code that is not executed in threads as well. That said - in this case, it sounds like the third party engine has serious flaws. -
Cross-platform solution to forcefully end a thread
Lars Fosdal replied to aehimself's topic in Cross-platform
I am not sufficiently versed in Android and iOS to suggest a workaround there, but for Linux, you could write a thin wrapper executable and fork to run it. If it doesn't complete within a reasonable time, you can kill that process. On Android and iOS I guess forking would require permissions of some sort? -
Cross-platform solution to forcefully end a thread
Lars Fosdal replied to aehimself's topic in Cross-platform
DLL = Windows only. -
Cross-platform solution to forcefully end a thread
Lars Fosdal replied to aehimself's topic in Cross-platform
There doesn't seem to be a similar cross platform function. What is wrong with Thread.Terminate? You can override SetTerminate to set your own variables on termination. F.x. if you don't want to have a Terminated check in a tight loop, you could nil a variable you reference in the loop to raise an exception to get out of that loop. Ugly, yes - but not much uglier than TerminateThread. -
Firstly, I highly recommend using the new MSSQLODBC Driver 17, or the SQLNCLI 11 diver over the default one. https://docs.microsoft.com/en-us/sql/connect/odbc/windows/microsoft-odbc-driver-for-sql-server-on-windows?redirectedfrom=MSDN&view=sql-server-ver15 What generation is the SQL Server? 2008? 2012? 2016? 2017? 2019? What did you do to set up the SSL support on the client side? This article outlines the steps needed. https://techdocs.broadcom.com/content/broadcom/techdocs/us/en/ca-enterprise-software/layer7-identity-and-access-management/single-sign-on/12-52-02/configuring/policy-server-configuration/user-directories/configure-a-microsoft-sql-server-database-connection-over-ssl.html
-
I guess you have read http://docwiki.embarcadero.com/RADStudio/Rio/en/Using_Beacons#Scanning_for_Beacons John? I've not used beacons myself, but I suspect we will evaluate them sometime next year, so I am curious to learn. What do you do with the beacon once you detect it? What happens if you remove it from the Beacon manager? What happens if your stop/start monitoring?
-
is there any "currency to words" routine for Delphi?
Lars Fosdal replied to Attila Kovacs's topic in Algorithms, Data Structures and Class Design
You could also say that the half indicates a half twenty. half tres = 2.5 x 20 = 50 half firs = 3.5 x 20 = 70 half fems = 4.5 x 20 = 90 It is logical, but to a foreigner it does feel a bit jumbled - and why isn't there two twenty somethings like, 1.5 x 20 = 30, and 2 x 20 = 40?