-
Content Count
2268 -
Joined
-
Last visited
-
Days Won
46
Everything posted by Fr0sT.Brutal
-
https://github.com/Fr0sT-Brutal/awesome-pascal#compression 😉
-
Range check error with TSysLogServer
Fr0sT.Brutal replied to djhfwk's topic in ICS - Internet Component Suite
I too came to this solution and changed almost all "[1]" occurrences in my projects -
EULA declined installing 11.1 with Network Named license
Fr0sT.Brutal replied to Lachlan Gemmell's topic in General Help
Unless OpenSSL abandons W7, missing OS support of TLS1.3 is quite insignificant IMHO. Probably only actual for C# apps that use TLS layer provided by OS. P.S. I still use W7 as my main dev machine. I really dislike some dumb limitations of new flat UI (nonconfigurable 1-pixel-wide window borders on hi-res display and a touchpad?! Come on MS are you kidding?) -
There are some other zip implementations in my awesome list. I'm happy with FWZip, however I only needed very basic actions
-
Any way to get RTTI for non-zero-based enumerated types?
Fr0sT.Brutal replied to PiedSoftware's topic in RTL and Delphi Object Pascal
Yes. The only solution is to start the enum from 0 (why using 1 as starting value?) -
Is Move the fastest way to copy memory?
Fr0sT.Brutal replied to dummzeuch's topic in RTL and Delphi Object Pascal
@Stefan Glienke I must have expressed a bit unclearly. By "Move" I meant any implementation not only the RTL one. -
Scintilla.
-
Delphi 10.4.1 Socket Error on IDE Start
Fr0sT.Brutal replied to ragingdeveloper's topic in Delphi IDE and APIs
Embarcaderassing -
Huh, I was struggling the same task these days. In general (IDK about ClientDS particularity) the scheme for datasets is: - Copy FieldDefs from source dataset (or get them from DB if connected directly) - here ReadOnly appears - Create Fields based on Defs - here the field gets ReadOnly flag - Copy data values In theory, you can plug between #1 and #2 to modify Defs. In practice, it depends on how the component is written. It could skip buffer allocation for modified values so the changes won't be saved. In my case I tried many things to add modifiable custom field to ADO query but was fed up and used memory dataset (which I also had to update for things to work)
-
Converting code source in R to Delphi
Fr0sT.Brutal replied to de la Mancha's topic in Algorithms, Data Structures and Class Design
What else could be said for post of "I have a problem pls solve it completely for me" kind? If the one who needs solution does zero for the problem, why someone else should do more? -
Try DelphiDistiller
-
They made x-platform sockets and http clients that use system facilities for TLS so the most requirements are covered. Even Go and Node don't provide much more
-
That's nonsense. Nobody forbids you to install a software where you like (as long as it's good software; MSVS is NOT). Obviously any location other than PF should be protected by an admin or left as is accepting all the risks.
-
Is Move the fastest way to copy memory?
Fr0sT.Brutal replied to dummzeuch's topic in RTL and Delphi Object Pascal
FastMM has optimized Move routines as well. While generic Move is pretty fast, it can't squeeze the maximum because of generosity. The best perf could be achieved with specially prepared memory blocks - aligned, non-overlapping, not locked. FastMM has some specific Move's optimized for specific blocks -
Pretty smart! File redirect is like Git-config's include but pulling specific sections is a more powerful feature. This is good but requires an account for each user. Moreover, in theory there could be some settings that affect pre-connect state
-
Classic holy war "self-contained bundle aka portable vs scattered installation according to OS rules". I prefer the first. Ideally both options should be available to have to choose from
-
Strange Benchmark Results; Am I Missing Something?
Fr0sT.Brutal replied to Joseph MItzen's topic in I made this
That's because 64-bit operations for x32 occupy 2 registers. More or less simple with addition, terrible with division. However, speedup with 32-bit num is unexpected. -
Trying to avoid using SetString when doing a token lookup in a TDictionary
Fr0sT.Brutal replied to MarkShark's topic in RTL and Delphi Object Pascal
Yep, this generic approach is OK, however it includes managed record (which pulls hidden finally section with it) and creation of new record for every comparison. Depending on usage scenario this could slow things down. I suppose if creation of a short string was critical, any little detail could also matter. BTW, Mark, ensure your dictionary check routine has no hidden finally section (set breakpoint to the final "end" of the method, wait for break, open ASM view and look for "handlefinally"). It could significantly reduce performance on frequently called functions so should be removed where possible. -
TThread Resume Suspend deprecated (Not synchronization)
Fr0sT.Brutal replied to Clément's topic in RTL and Delphi Object Pascal
Suspended creation is Windows feature that they reflected 1:1 to class API but other OS's do not provide it so they had to imitate it via mutexes. -
Trying to avoid using SetString when doing a token lookup in a TDictionary
Fr0sT.Brutal replied to MarkShark's topic in RTL and Delphi Object Pascal
it's a hash table so the string is only needed for computing the hash. Probably you can compute the hash by yourself and provide it to class method. Hash is computed by FComparer.GetHashCode(Key) that you can provide in C-tor if TDict. However, you'll have to define your own TKey instead of string (record with pointer to 1st char and length perhaps) and hashing method. Or, you can use string hashes as keys and search like this FTokenDictionary.TryGetValue(HashFromPChar(FTokenStart, FTokenLength), Result) -
Replacing shell is quite common operation, back in XP days it was pretty popular ("Aston shell" IIRC). All Win-based terminals still use this "kiosk mode". However, I doubt the launcher will be the most complicated task - adaptation of apps will. So for the start I think usual explorer and shortcuts will be enough
-
For me the most promising feature is the ability to link C libs statically. I'd love to have self-contained Delphi EXEs with OpenSSL, for example.
-
How can I use icsproxy in multithreading?
Fr0sT.Brutal replied to yshejia's topic in ICS - Internet Component Suite
Launch bg thread with message pump. Look for demo example named "...IcsThreadDemo" or smth alike -
More likely firewall blocks your custom app but allows built-in telnet
-
You should investigate at what exact phase the error occurs. Connection to host:port? Sending request? Receiving request? Processing request?