-
Content Count
407 -
Joined
-
Last visited
-
Days Won
6
Posts posted by Roger Cigol
-
-
This strikes me as being a classic use case for inheritence. Define a base class of a type ObjectToStoreInStringGrid and then derive each of the types you need to store from this base class.
-
21 hours ago, Mark Williams said:Setting SQL forces the FDQuery to close. My guess is that in combination with pooled connection, it might release the connection too.
Closing a query does not close the corresponding database connection (this applies both if it is pooled connection or not pooled)
-
It's called the April patch - but it's out now !
https://blogs.embarcadero.com/rad-studio-12-3-april-patch-available/
-
2
-
-
Hi @MrBlues I do wonder if you might have been better posting your question as a brand new topic rather than adding it on the end of a year old and only partially related post. Not to worry....
It is always better to start with a *.xsd schema file rather than an *.xml data file when creating transformations. The schema can (and usually does) contain more information about fields.
However not every use case allows this (a schema may not exist or may not be available) and XML mapper is designed to work when you start with an XML data file (as you have done)
The main purpose of XML mapper is as a design tool. You create a dataset mapping and from this you create a transform file *.xtr,
The normal case is then to forget about XML mapper and just take your transform file and use this at run time in your Delphi (or C++) application.
If you load the transform file back into XML mapper it does not contain any data and you get the blank fields (exactly as you have described).
There are (rare?) cases where you want to load in the *.xtr transform file back into XML mapper (perhaps if you want to edit it, for example).
To do this you need to store a copy of the original XML data file in with the transform file, at the time the transform file was created.
This usually results in a much larger transform file and this "file size bloat" serves no purpose when the transform is used at run time in a
Delphi or C++ app.
For this reason XML mapper now has a check box that must be selected (before the transform file is created) that forces XML mapper
to include the XML data file in the transform file. You can see this check box (called "Incl. XML Schema" on your first screen shot, towards
the bottom left of the middle section of XML mapper.
BACKGROUND: Earlier versions of XML mapper did not have this check box and always added the XML data to the transform file.
-
20 minutes ago, David Heffernan said:I mean, you work with strings and do TEncoding.ASCII.GetBytes
All good ! There is more than one way to skin a cat.....
-
Of course there ARE times when the use of ANSI strings makes sense. One example is when sending data to/from an external device down an RS232 port where the external device uses a protocol based on simple ANSI text. We have many real world cases such as this (eg Eurotherm temperature controllers). The key point that @David Heffernan makes is that you should choose your types carefully to closely (or exactly!) reflect your needs. Time spent thinking carefully about your type selection will save you time in the long run.....
-
2
-
1
-
-
On 4/15/2025 at 7:39 PM, GabrielMoraru said:How do you deal with Android? It does not support blocking messages...
@GabrielMoraru Sorry to disappoint: I do very little Android programming. I think for mobile devices error reporting by a separate message box would not fit a user interface very well. Every time I try and do anything useful (with other firm's/organisation's apps) on a handheld device I think "well the designer of the software didn't do a bad job but everything would be easier on my desk top". Then I get back to base and do the same actions on my desktop and guess what? everything is so much easier !
-
15 hours ago, DelphiUdIT said:Go to portal https://my.embarcadero.com and download the iso installer or the web installer.
It is recommended to use the same installer system (ie iso or web) as you used for your 12.2 installation
-
It's good to know April Fools Day is not just a British thing !
-
2 hours ago, Lars Fosdal said:Humorous comments must achieve a rating of at least 42 to be accepted as humor
My partner, Julie, is just back from Manhatten where here hotel room was on the 42nd floor. 🙂
-
1 hour ago, Tommi Prami said:If you did not get errors or memory leaks is pure luck
Yes: one of the worst things about thread safe / non-safe issues is that they do not always show themselves. A ThreadSafety issue can remain unnoticed during all your development and then you send it off to your customer and it falls over immediately. It has happened to me. Any thread work needs very careful design so that such bugs (which are the hardest to find) are avoided in the first place.
-
1
-
1
-
-
We have successfully written a 64bit C++ Builder App that ran on a Windows 10 64 bit OS and talked to an MS Access database.
But you need to use the microsoft 64bit access run time driver package. This cannot exist along side the MS Access program.
So either you have to uninstall MS Access before installing the 64bit driver package or you run the 64 bit application in a virtual
machine with the MS Access *.mdb and other files on a drive that the virtual machine can connect to.
-
Embarcadero have not dropped support for MS SQL Server. It's just not in "Professional". I think "Professional" has always been limited to local databases only. MS SQL Server would rarely be expected to use just for a local database.
-
9 minutes ago, PeaShooter_OMO said:Spending multiple days at a customer experiencing the issues will give Embarcadero a better understanding than sitting and waiting for someone to present a reproducible example
I think you are being a little unrealistic here in terms of business costings.
-
1
-
-
I use PostgreSQL and all seems good to me.
-
11 minutes ago, Lajos Juhász said:Yes you can, but can not use the 32 bit IDE if the database has only 64 bit client library to test SQL statements, create fields in the designer.
And yes, the viewing of data at design time using a 64bit database does work with 12.3 (certainly with 64bit versions of postgreSQL which is what I work with). The 64bit IDE is a first step. Of course we would all like it to work perfectly and to have had it a year ago but at least this shows it is coming. I am very much in favour of Embarcadero releasing stuff with limited functionality but which works rather than trying to rush too much out too quickly and therefore it all being very buggy. They have gone down this route in the past but seem to have learnt that this puts customers off. They do now seem to be releasing smaller changes at a time but smaller changes that work. I think this is much better for us users.
-
6
-
-
2 hours ago, Uwe Raabe said:You can change the default encoding for new files in the Editor options.
Thanks @Uwe Raabe I knew it had to be somewhere - and I have now found both with the help of your hints!
-
It seems that Embarcadero are encouraging C++ (new tool chain) users to save source code as UTF-8 with BOM. Can anyone find an option in the IDE set up to force files to be saved in this format ?
-
2
-
-
It's great to be able to use 64bit PostgreSQL interface in the 64bit IDE - You can see the database contents at design time.
-
Side note: very much off topic: but I love sending postcards and still send about hundred to different friends each year as I travel around.
-
1
-
-
Many thanks to all who helped - learning about the sysintern functions (handle.exe was the life saver) etc much appreciated. Special thanks to
-
1
-
-
POSITIVE RESULT
Having got the error code 1450 and then, very helpfully, being pointed in the
direction of the "handle.exe" utility on sysintern this got us to a much better
position: we could run our software and use "handle" to confirm that something
was generating this continuous stream of unwanted (and presumably unused) handles
which was eventually reaching some kind of windows out of resources threshold.This enabled us to (temporarily) remove parts of our code that talk to different
bits of hardware and then repeat the test to check for unwanted handle production.We found that it was calls to a commercial driver for a specialist PCIe card that
is used by our system that was the cause of the problem. This comes from a large
respected scientific corporation, who's products we have worked with for a good
many years (previously without any problems).Even better news: As part of this commercial package comes a separate test utility
that allows you to check that card and driver have been installed correctly. This,
too, gives the same stream of unwanted handles. So we are now able to go back to
designer/manufacturer of the card/driver and show them how to spot the problem,
which exists just using their own software.Fingers crossed that they will come back with a fix quickly!
-
1
-
-
Why would this kind of problem mean that only my application is affected? When the problem happens it is still possible to read and write files to the directories using windows explorer (eg right click and create a new text file).
-
Auto run: If I look for coloured entries - which are the ones with "not verified".....
In Services I see one:
Sense Windows Defender Advanced Threat Protection Service: Windows Defender Advanced Threat Protection service helps protect against advanced threats by monitoring and reporting security events that happen on the computer. (Not Verified) Microsoft Corporation C:\Program Files\Windows Defender Advanced Threat Protection\MsSense.exe Mon Feb 10 16:31:35 2025
In Drivers I see three:
BthA2dp Microsoft Bluetooth A2dp driver: Bluetooth A2DP Driver (Not Verified) Microsoft Corporation C:\Windows\System32\drivers\BthA2dp.sys Sat Dec 7 09:07:47 2019
BthHFEnum Microsoft Bluetooth Hands-Free Profile driver: Bluetooth Hands-Free Audio and Call Control HID Enumerator (Not Verified) Microsoft Corporation C:\Windows\System32\drivers\bthhfenum.sys Sat Dec 7 09:07:47 2019
Adobe Type Manager File not found: atmfd.dll
The first two are in subcategory: HKLM\System\CurrentControlSet\Services
The last one is in subcategory: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Font drivers
components ?!
in General Help
Posted
The delphi components are all available from the component pallet.
This is reasonably well organised into groups which give a good indication of the type of functions provided by each set.
Best way to learn is to create an empty form and put the component on it. This brings up all the properties (again most
are self explanatory (at least for the commonly used components)).
If you go to the corresponding source code and click so the cursor is in the component name and then use F1 this
will bring up "help" documentation.
For more (better?) help - you can search for the component in the DocWiki
https://docwiki.embarcadero.com/RADStudio/Athens/en/Main_Page
By the way - you did post your "Delphi" related question in the C++ section of the forum - perhaps not the best place to reach other delphi developers
(although all the VCL components can be used with C++ too).