

Rollo62
-
Content Count
1918 -
Joined
-
Last visited
-
Days Won
23
Posts posted by Rollo62
-
-
Try
https://docwiki.embarcadero.com/Libraries/Athens/en/FMX.Styles.TStyleManager.SetStyleFromFile
ON:
TStyleManager.SetStyleFromFile(styleToUse);OFF:
TStyleManager.SetStyleFromFile(nil); -
Interesting question.
Feasibility with Hooks:
- Key Hooks (WH_KEYBOARD_LL): These are irrelevant for detecting paste operations, as pasting is typically triggered via mouse or context menu, not keyboard shortcuts.
- Global Mouse Hooks: These can detect right-clicks but cannot reliably identify the "Paste" command or the target directory.
- Shell Hooks (HSHELL_*): Using SetWindowsHookEx with WH_SHELL or registering for Shell notifications (SHChangeNotifyRegister) might provide some context about Explorer actions,
but they do not directly expose paste events or destinations.
Alternative Approaches:- Windows Shell Extensions: Create a Shell Extension (e.g., a context menu handler) to intercept paste commands in Explorer. This requires injecting code into Explorer’s process,
which is complex and may have security implications.
Maybe that could work for you, although it interferes too much with Windows systems for my taste. -
17 hours ago, jcwhit said:I think this is all moot at this point, since the "what is new in 12.3" in the DocWiki no longer contains any mention of this as of the April 21 update. Check the history tab.
Thats a fair move.
Videos are not so easy to be changed
https://youtu.be/77bQ6Xs0kBE?t=2598
So I hope that at least some core BLE improvements were still visible.
-
5 hours ago, brx said:... if there is a solution (iOS simulator?) regarding that?
What worked best in practice so far?
This depends a bit on what you really need to test in your app.
If you want to test all kinds of dynamic hardware stuff a phone can do, then I would always recommend a real device.
Only that can behave truly by accleration/motion/orientation sensors, touchscreen, phone calls, etc., the simulator can only roughly simulate that.
If your app is mainly a "form" app with controls, not using a lot of specific hardware of the phone,then the simulator could be good enough for you.
As far as I know, the debugging doesn't work under iOS simulator too, but still under Macos.
So it is always a good idea to test under Windows/Macos first, and only then check the "view impression" and handling by iOS simulator or device.
-
1
-
-
On 4/20/2025 at 11:12 AM, dummzeuch said:But we have Vibe Coding now!
Thats easy to solve, you just have to patent your prompts then
-
On 4/20/2025 at 10:20 AM, Uwe Raabe said:It looks like a mistake when writing these release notes.
How can that happen, also I have seen this note about MTU in many "whats new" references from Embarcadero and looking forward to this.
I'm not yet on 12.3, is this really missing in the source codes, or is it just defined for some platforms?
-
Thanks for sharing.
You are still on Parallels Desktop 19, while there is already 20 out, is there a specific reason?https://kb.parallels.com/en/130212/
I'm quite sure that they have done a lot of performence improvements in this new version too, would be great see your direct comparison for this too in the future.
-
On 4/14/2025 at 7:43 AM, PiedSoftware said:... It seems like a natural thing to want: is there a way to get all the datasouces that have dataset = ADataset? ....
I also understand the urge to have such handy property, for convenience.
On the other hand, if I consider the DataSource as part of the view and the Dataset as part of the model, perhaps there is a good reason to hide it here,so that the model doesn't know about its views.
-
10 hours ago, David Heffernan said:... because you can read a single uses clause and know it's fine in 15s. ....
Yes, I agreed to this already 10 thread posts before.
I only asked if anybody already looked into it and/or tested against it. Any terms within the former sentence may start further massive nitpicking, I know.Nevermind, it's OK then for me.
-
1
-
-
Mindful misunderstanding of other peoples Intention and expressions is also a Form of Art.
-
31 minutes ago, David Heffernan said:No library developer would test things like this. I mean why stop at FMX/VCL? What about database frameworks. Does it have dependencies on any of them? Does it work in a Windows service? Should there be a test for that? It's simple to see by inspecting the uses clause, so the developer just does not need to do any of that.
Yes you are right. VCL/FMX unit linkage is comparable to DB and Windows-Service.
Also tests for other platforms are completely superfluous, especially if Win32 ASM code is used in the library, nothing can go wrong here.
I revoke all my silly notes above, they seem to be too stupid. -
On 4/7/2025 at 11:29 AM, David Heffernan said:How could VCL/FMX be relevant to code at the RTL level?
Excaclty, it should not ...
Thats why I asked, if its tested against those and ensured that no hidden UI units are linked or involved.
I think everyone can very well understand the meaning of my question here, even if VCL/FMX mentioned.
There are too many VCL-only libraries out there.
But thanks for your clarification.
-
Peeking into this nice library, it seems pretty much multi-platform compatible to me, even if there were some encapsuled Intel ASMs inside.
Nevertheless, it seems to be specified only for x86 basically.
QuoteHave you tested this under VCL, FMX, Win32, Win64, Macos (x86/ARM), iOS, Android, Linux as well?
Would be great to know, if this is fully supported under all Delphi platforms, maybe it was already tested against these?
-
Flicker? Is that the case under VCL?
Maybe this is interesting for setting per control
https://blogs.embarcadero.com/vcl-per-control-styles-coming-in-rad-studio-10-4/
-
3 hours ago, Lars Fosdal said:... verbosity and indentation ...
If indentation is your main focus, then I would suggest to port an large ERP system first into Python, keeping the indentation 99% valid,
and then later port this from Python to Javascript and modern web technologies.
This makes things much easier and I think this is the way DOGE is looking for.
-
You could use a setter for sQuery, that sets up the SQL before showing the form.
That would not nee FormShow.
-
1
-
-
4 hours ago, dummzeuch said:... when they say they can convert the large COBOL code base to Java in months using AI? ...
Perhaps they already have better AI than you and me 🤔
-
Thanks, this is a great library and introduction.
Can your libFPC also be configured to generate and run an Pascal code in memory at specific periodic schedules, lets say like every 1st of April or so?
-
1
-
-
51 minutes ago, Die Holländer said:RPG is a high-level programming language for business applications, introduced in 1959 for the IBM 1401.
Yes, good choice too, but I would prefer a slightly more modern PC, like the Sinclair ZX81 Basic language:
https://github.com/andrivet/zx81-typescript-emulator/blob/master/Documents/Sinclair ZX81 BASIC Programming.pdf
This is at least an evolved high level language, whereas RPG is probably not.Also the vast amount of memory in this product makes it mode suitable for modern 3D and AI tasks, IMHO.
-
On 3/29/2025 at 10:31 AM, Vincent Parrett said:2) Windows Credential Manager is umm... windows only.
Yes, of course.
My consideration was that Macos & Co might have their similar credential API worth to abstract then here under one umbrella:QuotePlatform Platform API / Solution
Windows Windows Credential Manager (Credential Management API)
A built-in secure vault that stores user credentials (usernames, passwords, certificates, etc.) used for network authentication and application logon.
macOS Apple Keychain / Keychain Services
Provides secure storage for passwords, cryptographic keys, certificates, and other sensitive data for macOS applications.
iOS Apple Keychain / Keychain Services
Offers secure storage of sensitive data like passwords and certificates, with support for iCloud Keychain to sync credentials across devices.
Android Smart Lock for Passwords / Account Manager
Enables secure password storage and auto sign-in; developers may also use Android’s Account Manager or Keystore system for managing accounts and cryptographic keys.
Linux GNOME Keyring / KDE Wallet (varies by desktop environment)
As far as I know, no unified API exists; desktop environments offer their own solutions (e.g. GNOME Keyring for GNOME and KWallet for KDE), while some setups may have no solution.Nevermind, thanks for clarification.
-
Thanks, nice piece of code. 👍
I have two questions:
1. You keep the secret as String in the class, wouldn't it make sense to hash it, so that at least not a simple memory dump might offer a readable password?
2. You're implemented Windows-specific, are you going to implements other platforms too ( it looks a bit like that ) ?
-
I'm not on D12.3 yet, but 12.1 + Patches, and I've made some tests with TThreadedQueue in the past, finally moving to Spring4D.
Another useful technique for your decision could be, try to grep where this class is used in other projects or libraries:
- I only find one occurence in Datasnap.DSServer.This seems not to be a well tested class yet, IMHO.
-
14 hours ago, Uwe Raabe said:... when neither these are different types nor any type cast is done at all (let alone one being unsafe).
I would agree, if we talk about 100% compiler managed code.
BTW: This warning really only appears with custom CMR, if I replace this by a "normal" Delphi Record, then there is no warning, which I would expect too.
Now I can use this warning to find places where custom CMR might cause issues, which would become handy to debug sporadic, unclear issues maybe,
where you got no idea where to look at.So I like the warnings and don't think all of them were bogus, at least for the CRM records.
Imagine you have an only half-implemented CMR record assignment operator, then you might be pointed to this issue a bit.
This could be a perfectly fine, accepted behaviour by design, but good to see these warnings as reminders.
Yes, I could make a hint about such special-design decisions in the record itself, but then I wouldn't backtrack the places where it is used so easily.
Nevermind, if there is nothing wrong with the code, I will keep it like that.
I was looking for a perhaps better implementation, like SmartPointer, Getter, or the like ...
returning plain Records as result is maybe never the best idea, only for readability.
But the overhead of those other solutions over a simple Record doesn't make it better, IMHO ( and yes, I'm not looking for highest-performance design here, just normal code ).
-
1 hour ago, Uwe Raabe said:IMHO, this warning is just bogus and it shouldn't be emitted in the first place.
Thanks, but I think this can still have a true core.
From my understanding, this warning tells us, that there is a temporary object, which will be automatically assigned by the custom assignment operator,
where the compiler cannot really check the assignment, because its "custom".
So in my opinion this warning maybe has some good reasons behind and could be helpful.
It would be great if I could take control with the [Result: unsafe] attribute, by telling the compiler: "Nevermind, I know how to handle this case, just keep silent about it."Since I only look into this from time to time, I keep it like that, but maybe for some hard debug sessions this might be useful to switch it on and find some good hints to look into.
I'm still in a 50:50 position here.
Absolute directive with record and array
in Algorithms, Data Structures and Class Design
Posted · Edited by Rollo62
Nice.
To handle it more effectively, I would encapsulate this const array in an Enum with a record helper.
That allows to add a lot of convenience functions around this table and offers a nice and effective Enum handle.