-
Content Count
1074 -
Joined
-
Last visited
-
Days Won
23
aehimself last won the day on June 10 2024
aehimself had the most liked content!
Community Reputation
402 ExcellentTechnical Information
-
Delphi-Version
Delphi 12 Athens
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
Set StyleName for one single control, yet no style for the rest of the app
aehimself replied to CyberPeter's topic in VCL
I had one situation when VCL styles flickered a lot, and that was if they were on an anchored / aligned panel and the form was being resized. Setting .ParentBackround := False on the panel solved this though. -
In theory, you can use XP... I'd love to give it a spin and see if the latest Delphi runs fine or not :)
-
Windows 11 moved further away from privacy, prefers "innovation" noone asked for over functionality and requires way too much hardware just to sit on the desktop, doing nothing. I'm eyeing Windows 10 IoT Enterprise LTSC. Price is not that high and you get a fully functional and debloated WIndows 10, supported until 2035. Until then I hope a Delphi IDE will be released for Linux :)
-
Long story short - if you don't have to, don't. I am forced to use it at work and the only positive thing I can say about it is even XE7 runs on it without issues.
-
Build time affected with an updated component...
aehimself replied to Ian Branch's topic in General Help
Antivirus exclusion? If only specific bds.exe-s are set (not the whole Program Files\Embarcadero\Studio folder) your real time scanner can and will affect build times. -
I personally used MySQL for my projects and a bit of MsSQL server. I advise against FireBird and Oracle, my personal experience shows you'll have extra issues to keep an eye on. On Windows servers my suggestion is MsSQL, on Linux MariaDB. That way updates / patches are included in the regular process.
-
AppWatcher - Remote Application Management for Delphi Developers
aehimself replied to maumsti's topic in I made this
Unfortunately that is true. If the old version running, it will stay that way until it is closed. At least you can make sure that the new instances are the updated version :) -
AppWatcher - Remote Application Management for Delphi Developers
aehimself replied to maumsti's topic in I made this
I'm not sure because we are talking about a network share, but renaming the file and placing the new .exe (with the same name) might still work. A lot of us use this technique in updating our applications. -
AppWatcher - Remote Application Management for Delphi Developers
aehimself replied to maumsti's topic in I made this
With this I completely agree. Meaningful attacks (and their mitigation) are out of the scope of this project however (especially if we are somewhat "controlling" endpoints) we should do our part in cybersecurity :) -
AppWatcher - Remote Application Management for Delphi Developers
aehimself replied to maumsti's topic in I made this
Include some security. The first glance there's nothing stopping me from shutting down all your programs if I get into your network. Are you sure you need to keep a TCP connection up with each agent? UDP would be a lot more practical, plus you could do the discovery with a simple broadcasted message. -
Multithread and thread-safe TClientDataSet?
aehimself replied to snodev's topic in RTL and Delphi Object Pascal
The only benefit I see here is the usage of data aware controls. A Dataset descendant is never going to be as efficient in storage or manipulation as arrays are. Also keep in mind that you are doubling the resources used every time you are cloning a Dataset, which - by your own words - is already pretty large. To simplify/standardize I would create my custom data storage class with thread safe access and then look into DataBinding or writing my own helpers to display the data in this storage. If speed is not an issue you also can use an indexed TFileStream to cut back on memory requirements.- 5 replies
-
- delphi
- tclientdataset
-
(and 1 more)
Tagged with:
-
I'd strongly advise against UPX especially in production executables. I had my fair share of after-the-last-moment struggle because of it
-
It's "normal". The same happens in my home project which has 10-ish frames only. At least the fix is easy 🙂
-
Borland had a pascal "IDE" and compiler called Turbo Pascal - with that you could only develop console applications - as there was no Windows at that time yet. Delphi was born in reaction to this, this was it's magic as you could target the brand-new shiny platform. Delphi is and was always designed in the RAD fashion: events firing here and there and you react to these events - let it be a click of a button or the closing of a form. My opinion is this is why books start off with GUI applications. If you have an amphibious car, you'll mainly show it off on water as every other car can drive on the road already. An other thing is if you code in the RAD way you only have to write and maintain only a small portion of code as the majority is handled by the framework. You'll also have more sense of success (and therefore the will to continue to learn) as you can recreate a fully functional notepad clone with 10 lines of written code. These are just my 2 cents though but based on these it makes sense to introduce Delphi this way. And if this was (at least the part of) the reason I'd also advise to start this way. Throw some controls on the form, make them do something you fancy. With time, you'll eventually meet the necessity to separate UI and business logic but when you reach that point you probably will have enough expertise to create the backend.
-
You can add a message pump to any thread, VCL or not. If you need window messages, you can call AllocHwnd. Just because we are talking about console it doesn't mean these things do not work.