-
Content Count
2268 -
Joined
-
Last visited
-
Days Won
46
Posts posted by Fr0sT.Brutal
-
-
Why would you need that? Just let the user install your app as it wants to. I'd throw away any app that would do such dirty things leaving 1-star review at market.
-
I like mutex approach more (with one little difference that I use events). It will work for any application while Findwindow is for GUI-only (or you have to create a dummy window just for that). For some apps I allow running from different paths so I'm retrieving folder of Application.ExeName and adding it to event name.
- 1
-
What I miss in Delphi is caused mainly by buggy/awkward implementation. Structure view is unusable as it always expands fully what is especially annoying when you want to navigate between classes (luckily they added navigation combobox). Method generation always uses alpha ordering while I prefer grouping by meaning. As for inlay hints, I find them handy for dynamic languages but never felt the need for compiled ones.
2c's for Delphi compared to another editors...
Currently I use VSCode more than RAD studio and features I really miss from the latter are
1 - subject-aware folding. In Delphi I can fold regions, methods. Other editors I tried only have structure-aware folding - fold level 1, 2, etc. It is really boring and unhandy
2 - sync edit (Ctrl-Shift-J) of a selected fragment. VSCode only can rename a variable (but it must be declared somewhere) or multi-edit but that's not the same.
-
Consider using WebDriver approach with browser running in headless mode
-
21 hours ago, Angus Robertson said:why???
He's doing it right testing both "device is up & software is listening" at the same time.
22 hours ago, Clément said:My first "ping" is way off... 8ms... when all other are below 1ms...
Nice thing with async networking is that you can start many connections simultaneously and react for connection/timeout in event handlers.
-
Works for me
-
16 hours ago, Sherlock said:Well Google has no right to gloat..."Ice cream sandwich"? Stupid names. Numbers rule! Delphi 12.0 - Done. Pure. Simple. No room for mistakes or errors. Other than Debian: Bullseye, Buster or Bookworm...which one is oldest?
Oops my fault. Debian has no order in names. But Android and Ubuntu have. However Ubuntu changes names inside major releases which is also confusing.
Example of insane naming is also MS Windows.
3.1, 95, 98, Millenium, NT, 2000, XP, Vista, 7, 8, 10, 11, ...
In the same time server versions are named after years so you also have to remember - kernel of which "user" version has this server version 20XX?
-
If only they chose city names sorted like do Google Android, Debian, Ubuntu... but no, pure random. And ridiculously loooong name for 11. I have some really wonderful options for Succ(v12) releases:
Schmedeswurtherwesterdeich
Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch
Taumatawhakatangihangakoauauotamateaturipukakapikimaungahoronukupokaiwhenuakitanatahu
and many more really cool names here https://en.wikipedia.org/wiki/List_of_long_place_names
-
23 hours ago, Angus Robertson said:embedding the DLLs
Ah, that one. Workaround in fact.
23 hours ago, Angus Robertson said:Microsoft is slow to add new features
Well, you're right here - each approach has its pros and cons. So it's nice when you can choose
-
20 hours ago, David Heffernan said:To search out bad luck amongst our Japanese markets?
Easy, just add some anime kitties and giant robots to win their hearts! Or... giant kitty robots!
- 3
-
Haven't tried it myself but try moving a window beyond the screen (Window.X := Screen.X + someMargin)
-
On 11/11/2023 at 10:15 PM, David Heffernan said:It's one of my goals to release a version 13 of my software, which is currently at 11.4. I'd be able to retire then!!
Release it as 13.9 for double-hit!
- 2
- 1
-
WebDAV is just a protocol. You'll have both sides of your channel custom so you can extend it for your needs.
-
On 11/17/2023 at 7:09 PM, Angus Robertson said:At the time the USP was no DLLs, but there are now two separate solutions that avoid distributing separate OpenSSL DLLs, so what do you now see as the benefit of SChannel?
What's the 2nd solution? I guess it's not free?
Well, the benefit is native implementation, free from insane upgrade policy of OpenSSL; moreover, RTL socket/http uses it as well, and so does default cURL build.
To add more, there are some OpenSSL forks/analogs now (WolfSSL, BoringSSL) which could be more suitable for some needs. Abstraction of TLS layer would be awesome. Extending the subject wider, I periodically dream of a universal handler stack in TWSocket to enable things like
Socket.handlers := [
ThrottleHandler,
TLSHandler,
HTTPTunnelHandler,
TLSHandler
]
(enable throttling, connect via TLS to HTTP tunnel proxy and do TLS connection to remote server) that would provide a simple interface for any combination of protocols. That way TTLSSocket would be nothing more than TWSocket with auto-created TLSHandler.
Want cascade of 5 TLS HTTP tunnel proxies? No problem! Want HTTP inside MsgPack inside Protobuf inside TLS-encryption? Easy. Want custom encrypted protocol? Just write handler.
Please don't take this as criticism, I admire your efforts to keep ICS up-to-date.
-
32 minutes ago, Stefan Glienke said:What? NativeInt is basically Int64 on a 64-bit target platform.
Ah, blimey. That "U" was a phantom in my eyes. Friday 🙂
-
On 11/8/2023 at 9:12 PM, Remy Lebeau said:I probably would have used a single port and delimited the 2 datas
Quite a non-trivial task if there's an intensive data stream over one channel while control channel must remain responsible.
-
On 11/13/2023 at 10:46 AM, emileverh said:So the Embarcadero guys did a translation found on the SQLITE.ORG source code to Delphi-Pascal?
They just use OBJ just like with Zip and RegExp
-
Code formatter
Depends on modelling
Written in .Net
Seems like a candidate for "Top most weird tech decisions"
-
On 11/14/2023 at 12:38 PM, David Heffernan said:Just as a general piece of advice, when new Delphi versions are released, you'd normally expect to go to the repo for latest source to work with that version. Getting used to using repos rather than relying on and waiting for packaged releases is a skill worth learning.
And even if the lib is not ready, in most cases it's enough to use package for the latest version.
-
On 11/14/2023 at 3:12 AM, Remy Lebeau said:System.Generics.Collections, System.Generics.Default, and System.Classes.TList now use NativeInt instead of Integer for all indexes.
So the typical "List.Count - 1" construction now emits "unsigned converted to signed" warning? Well done, EMB.
From my experience: unsigned numbers are inconvenient. Once you want to use a subtraction op, you get lots of warnings. And the apogee of lurking bug:
i: Cardinal;
for i := 0 to List.Count - 1 do
on an empty list which, with int overflow checks disabled, will either raise OutOfBounds on index 4B or loop 4B times - depending on a body.
-
On 11/13/2023 at 5:14 PM, Angus Robertson said:Adding SSL to V10 is likely to be the hardest part due to the low level changes.
If you plan to rewrite it anyway, probably you could make it in some pluggable manner to easily integrate another TLS engines? From the client app's view, not much TLS details are ever needed at all - just be able to connect to TLS server. Some could need to accept custom certs, provide user certs or select cyphers. That's all!
-
And how do you think the server would address those parameters?
-
Maybe contact with the author and ask him? I guess there are plenty of OSS devs that don't bother about choosing a license for their product at all and just take the first random one when Github urges them to make the choice.
- 2
-
16 hours ago, Stefan Glienke said:Do people in reality really have these kinds of data that need to be sorted?
In fact, most of people really, though indirectly, have this kind of data sorted 😉
DB keys
- 1
Delphi 12 is available
in Delphi IDE and APIs
Posted
MS finally listened to demands and now you can create self-sufficient C# apps (with all required DLLs located near the EXE). The same could be with Java, just use a starter that would set path to local JRE.