

JonRobertson
-
Content Count
289 -
Joined
-
Last visited
-
Days Won
7
Posts posted by JonRobertson
-
-
On 5/6/2025 at 9:25 AM, Uwe Raabe said:Unfortunately not for every patch.
I thought he was implying that we're beta testing the patch... after it was released.
-
1
-
-
(removed)
-
On 3/24/2025 at 11:58 PM, Charlie Heaps said:I tried these out, but unless I'm missing something they don't seem to support Delphi's built in styles. They seem to use a whole separate approach to styling components (skia?) Is that right?
They do use VCL styles and Almediadev also creates and sells VCL styles.
Although I like and use many controls in StyleControls, I am disappointed with the look and functionality of the dialogs, particularly the file open/save dialogs. I do not use their dialog components because the dialogs do not have functionality that I consider to be standard Windows dialog behavior.
-
1
-
-
On 3/22/2025 at 11:56 PM, dwrbudr said:AdvRichEditor is VERY buggy. We use it in our program and already fixed 50+ issues reported by users. As always TMS rushes to release something that is not even an alpha version. We plan to switch to TRichView at some point.
TRichView was an excellent control when I started using it 15 years ago. I would absolutely use it again if I needed a powerful WYSIWYG editor.
I had the same experience with TMS components, although I never used AdvRichEditor.
-
1
-
-
On 3/25/2025 at 7:11 AM, HemulGM said:Use it 😃 for FMX
https://github.com/HemulGM/DelphiWinUI3There is a lot that can be done by building on the existing VCL framework. One option for VCL applications is StyleControls:
StyleControls is a commercial component library. My only association with Almediadev is being an active customer and user of their controls.
-
We have apps that use MAPI to start an email that do not work if the user has switched to New Outlook. And new Office 365 installations now install New Outlook without an option to use Classic Outlook. My understanding is that you can still install Classic Outlook, but using a separate download.
After some investigation, we discovered that calling MAPISendMailW with the MAPI_DIALOG_MODELESS flag does work with New Outlook. And using Attila's unit made this a breeze.
Thanks Attila!
-
2 hours ago, cocobom said:However, for a long time I found that the EMB did not pay any attention to these reports.
Are you sure?
List of publicly reported bugs fixed in 12.2
List of publicly reported bugs fixed in 12.1
List of publicly reported bugs fixed in 12.0
List of publicly reported bugs fixed in 11.3
List of publicly reported bugs fixed in 11.2
List of publicly reported bugs fixed in 11.1
-
1
-
-
5 hours ago, TigerLilly said:The ability to restrict the level of step into when using F7.
Although not quite the same, the Selective Debugging expert allows you to select units that you don't want to step into. It can be helpful to avoid stepping into low level routines such as string conversions.
-
Does anyone have experience using the PivotTable VCL components? The trial currently available only goes to Delphi XE. If the product is still available with source, that isn't an issue for me. But I don't want to install XE or earlier just to install the trial.
The forum is still accessible but I am not able to create an account because the "are you a person" verification does not appear on the registration page, even though it is required to be completed.
Unfortunately, the existing forum posts may be the only support available, since the last post was almost six years ago.
-
On 1/20/2025 at 8:19 AM, dormky said:I'd rather not define a procedure in my data module for every event of every table...
If several tables will use events with identical functionality, such as logging, you can have a single event assigned to multiple tables:
procedure TForm1.AllTablesBeforeDelete(DataSet: TDataSet); begin LogTableOperation(DataSet.Name + 'BeforeDelete'); end;
MyTable1Test.BeforeDelete := AllTablesBeforeDelete; MyTable2Test.BeforeDelete := AllTablesBeforeDelete; MyTable3Test.BeforeDelete := AllTablesBeforeDelete;
Or assign the event handler to each table using the object inspector.
-
52 minutes ago, mikerabat said:Strings, interfaces and dynamic arrays are initialized to nil.
Often called managed types in Delphi code, because the compiler manages the lifetime of the heap memory used by those types.
-
9 minutes ago, mvanrijnen said:do we benefit for preventing false positives using signing
I suspect that depends on the software scanning for virus and malware. My suspicion is that scanners don't care whether applications are signed, because there is nothing that prevents me from applying a security certificate to malicious code. Especially if the certificate cannot be traced back to me.
-
11 minutes ago, mvanrijnen said:So we create only software for internal use, using (at the moment) , do we benefit from code signing ?
Are your computers connected to the Internet? Any application can be hijacked by an intrusion from the outside, even applications developed internally.
-
If your customers use an Endpoint Protection and Response product, code signing is critical. The one we use sometimes complains even when the executable is signed with a valid certificate. It is a pain in the rear. But it is essential due to the number and sophistication of cyber threats today. Two-factor or multi-factor authentication is also a pain that I have to put up with daily. I can't do my job without my phone.
The Internet is a tremendous resource. But there are days that I miss the simplicity of 8-bit computing.
-
2
-
-
24 minutes ago, DelphiUdIT said:If you refer to this notice of CVE: https://github.com/madler/zlib/issues/868 they have resolved with 1.3.1 version.
Although that probably does not affect Delphi apps that use zlib. CVE-2023-45853 was a vulnerability in the minizip code in the contrib folder, not the zlib source.
-
9 hours ago, A.M. Hoornweg said:I for one would find it an advantage if stuff like local pointer variables would default to NIL, it would make the language just a little bit more memory safe.
That's an odd opinion, considering that a "pointer variable" or object reference with a nil value still results in an Access Violation if used before it is assigned a valid (allocated) memory reference. Using a local pointer variable before it is assigned a value is an error, regardless of whether the variable "defaulted to NIL". As Stefan stated, by not defaulting a value, the compile will give a warning (which I change to an error for every project). This code would not give a warning (silly example, but still):
var MyForm: TForm := nil; MyForm.Show;
-
There is a lot of information and documentation available about string handling in Delphi. Here are two quick references:
http://www.delphibasics.co.uk/ByFunction.php?Main=Strings
https://www.thoughtco.com/string-handling-routines-delphi-programming-4092534
And here is a very basic solution to your request. Your actual purpose may be different from your description, but this code does what you asked:
var str := '''abc'''; WriteLn(str); if str[1] = '''' then Delete(str, 1, 1); var last := Length(str); if str[last] = '''' then Delete(str, last, 1); WriteLn(str); ReadLn;
-
25 minutes ago, gioma said:I say this because since version 11 I have IDE crashes every day, so I'm led to think that those who comment perhaps don't use Delphi as frequently as I do.
Between work and hobby, I use Delphi 11.3 over 50 hours a week, every week. I have half a dozen add-ons and over two dozen third-party component libraries installed, in addition to my own component library.
When I started using Delphi 11.0 in July 2024, I experienced severe instability issues. Crashes or lockups at least once an hour. I had to restart the IDE after every single debug session. Many access violations during use or when closing the IDE. All those issues were caused by two Parnassus add-ons that I had installed via GetIt. Delphi has been stable for me ever since I uninstalled those two add-ons. I get an occasional exception in the IDE, maybe once a week.
I use Visual Studio 2019 and 2022 much less frequently. My experience with VS 2022 is less stability than my Delphi 11.3 environment, and I only use VS 2022 a few hours a month. I have not had any stability issues with VS 2019 that I have with VS 2022, with the same third-party packages and add-ons installed in each.
-
4 hours ago, gioma said:I don't think the word search can be crashed by a component that wraps a DLL in C+ on the webrtc!
Any code executing in the IDE can stomp on other memory allocated by the IDE. Any code executing in the IDE can corrupt the stack of any thread running in the IDE. If the component wrapping the DLL needs to load the DLL at design-time, there are plenty of ways that a C++ DLL executing in the IDE's process could cause IDE instability.
-
3 hours ago, gioma said:To sum up: I want a stable IDE that doesn't waste my time and finally fixes the bugs that have been around for years!
am I asking too much?
As been said elsewhere, most of us have a stable IDE environment. As long as the Delphi IDE executes code that is written by a third-party, there will be a chance that a third-party component or expert is the cause of instability.
And in some cases, the user is the cause. I've written components that were buggy and caused instability until I took the time to find the defect and correct it.
-
3
-
-
13 hours ago, karls said:A 64-bit IDE (from community to architect version), as with Lazarus/Visual Studio 2022 - this avoids buffer overflow problems in apps
The only way to avoid buffer overflow problems is to write code that doesn't overflow buffers. That won't change with a 64-bit IDE.
-
3
-
1
-
-
I have gone through all of the usual troubleshooting. Sadly, I've been fighting this for three hours...
Delphi 11.3
I installed SVGIconImageList 3.9.6 (built for Win32 and Win64) sometime last year. I believe that I initially installed it from GetIt.
At some point, I updated to 4.0.0 but only built packages and DCUs for Win32.
Now I need it for Win64 and cannot get SVGIconImageList.dproj to build for Win64.
I completely cleaned all files and registry entries related to SVGIconImageList. There was no trace of it anywhere.
I downloaded the latest from the github repo and I'm having the same issue.
All packages build for Win32.
SVGImage32Package builds for Win64 without hints or warnings.
SVGIconImageList refuses to build for Win64, with the compiler spewing two errors:
[dcc64 Fatal Error] SVGImage32Package.dpk(31): E2225 Never-build package 'rtl' must be recompiled [dcc64 Fatal Error] SVGIconImageList.dpk(38): E2202 Required package 'SVGImage32Package' not found
All packages are marked Explicit Rebuild.
In 28 years, I've never seen Delphi complain that a rtl or vcl package must be recompiled.
If I alter the order of the required system packages (rtl, vcl, vclimg), the fatal error complains about the package that is listed first under requires.
Note the first error message is SVGImage32Package.dpk, which I believe is why the second error is listed.
I've confirmed there are two SVGImage32Package.dcp (and bpl) files locatable via the system path.
If I delete the Win32 packages and then try to build the Win64 packages, the compiler/IDE complains with this:
[Fatal Error] C:\D11\Components\Packages\SVGImage32Package280.bpl cannot be added to the REQUIRES list of this package
Note that C:\D11\Components\Packages\ is where the Win32 bpl/dcp are located when the Win32 packages are built. The Win64 files are in C:\D11\Components\Packages\Win64\.
Any suggestions?
-
13 minutes ago, softtouch said:I need to modify forms on the fly, the moment they are created
I would use Visual Form Inheritance for this, and place the "process form here" logic in the base form.
If that isn't ideal, please give a better description. "modify forms on the fly" and "modify forms the moment they are created" are not the same.
If you want to use an event, you could add a new event to your base form and implement the event in each derived form. You'd need to figure out when to assign the event so it would be executed by the base form's code when each form is created. I can think of a couple options, depending on your actual use case.
-
13 hours ago, Jim McKeeth said:I had thought about creating an IDE add-in to effectively "lock the form," where it ignores all those "accidental" changes.
That would be useful. Or the ability to select which property changes you want ignored. The main downside would be remembering to turn off the "lock" when I intentionally make changes that I want to save.
I use Beyond Compare before every commit and I'm in the habit of undoing unwanted or accidental form changes. I have been for over a decade now.
-
1
-
TForm to TForm communication
in FMX
Posted
You may want to look at VSoft.Messaging as well. I prefer Vincent's implementation over System.Messaging.