Brian Evans
-
Content Count
349 -
Joined
-
Last visited
-
Days Won
4
Posts posted by Brian Evans
-
-
For 1 the help (Command Batches (FireDAC) - RAD Studio (embarcadero.com)) says:
PostgreSQL The commands must be separated by ';'. A batch without parameters can be executed with ResourceOptions.DirectExecute set to True. With PostgreSQL v >= 9.0, use the DO BEGIN END anonymous block construction.
-
One situation would be if the source file is open by something else which will cause the rename to fail. Check if something else has the file open with the openfiles command or Resource Monitor.
-
I am seeing those messages as well now. Hitting continue a couple times gets past a bunch of raised exception class Stop (17) messages and I then get the FMX GUI application form visible and break points work.
Here doing Setting Tools -> Options, in the dialog: Debugger, Embarcadero Debuggers, Native OS Exceptions: 64-bit Linux Exceptions and Signals, Stopped (signal) (SIGSTOP) ($11) to have on resume column to run handled. The dialog never comes up at all and break points work.
The number of times I needed to press continue seems to correspond with the number of warnings I see for bad DW_FORM values from LLDB in the command window paserver is running in..
-
Nothing shown references a component in another unit. I only see a local ProgressBar1 defined in the Var section of your procedure that isn't created / initialized so will throw access violations when an attempt it made to reference/access it.
Usually you would put the other form unit in the Uses clause of the implementation section of the form you want to reference it from. Then use the form variable to access it like Form1.ProgressBar1.Visible := true;.
implementation {$R *.dfm} uses Unit1;
- 1
-
6 hours ago, Nathan Wild said:Indeed.. I was delighted to find a post about this, but even with the PE version set to 5.0, I am still getting "Not a valid Win32 application" on Windows 2000. Is there anything else that might cause this?
No problems here on Windows 2000 Pro SP4 - a simple form with a close button compiled with Delphi 11.2 runs.
Make sure both Set OS Version fields in PE Header as <major>.<minor> and Set Subsystem Version fields in PE Header as <major>.<minor> are set to 5.0. Those are the only two changes I made from a default project for Windows 32-bit.
-
The code formatter was added latter in GExpert's life by integrating a separate project called DelForEx. Might be something broken with this integration when the IDE is run elevated. It is under active development with a SVN repository available. Perhaps raise a ticket / take a loot at the source code etc.
GExperts download | SourceForge.net
-
Part of me is just grateful Delphi for Windows with the VCL is actively developed and they are still willing to attempt some larger updates like the LSP. I have a smaller code base so don't suffer from the current LSP problems as much as others. All the other improvements have me enjoying 11.2 more than any release in a long time. Myself I would prefer wide ranging consistent improvements and fixes over trying to introduce the "next big thing". I think an IDE can be a case where the whole is greater than just the sum of the parts due to how things are integrated. Felt that since Turbo Pascal 4.0 under MS-DOS - editor/compiler/debugger all in one with a good manual made it an amazing product. Delphi sometimes feels the same but it is a much larger product so easier to hit rough spots.
A lot of other development environments and especially GUI libraries have been replaced, killed off or frozen in time over the decades. Delphi and the VCL is one of the few that has made numerous transitions over the same period and remained viable. Not cutting edge but not dead.
- 2
-
Note that any query / Transact-SQL Code that tries to return two or more results sets will produce that error when MARS is off. Look for an IF or other structures in the SQL code that could end up running more than one SELECT statement for some code paths. Could be inside a stored procedure or in code you send to execute. Another place it can happens is not fully reading one result before going on to another.
-
It would not take much memory fragmentation for 60MB allocations to start to fail for 32bit / 2GB of address space. SQLite is an in process database so shares the same 2GB address space. Multiple copies of record/field data that would not be an issue from smaller amounts of data become an issue.
There are ways to stream blobs in Firedac to reduce memory usage. See: Support for Blob Streaming in FireDAC - RAD Studio (embarcadero.com)
-
Report a false positive to CrowdStrike.
Most such companies are pretty quick when provided enough details.
-
cxGrid has Server Mode which gets you a lot of the benefits of Grid Mode without loading every record for large result sets. Has some limitations but overall works very well.
Server Mode | VCL | DevExpress Documentation
-
Something else put it there as the entries by Delphi / BDS during installation use $(BDSBIN)\ and not an absolute path.
The registry entries tend to remain in the order added if some haven't been deleted so look at what was added just before/after for clues.
-
Was usually available in the registered users download area as mentioned here https://support.embarcadero.com/article/44082 which links to Delphi Registered User Downloads (embarcadero.com). After logging in it times out a couple times but eventually comes up for me (probably slow queries to a back end database that time out but work once the data has been read from disk already on subsequent attempts).
-
It works here without issue after fixing up the python library symbolic link in the PAServer-22.0 directory. Can debug including setting break points and stepping through a command line program targeted to a Ubuntu 22.10 Server. Below are the commands I used to test on a fresh + updated Ubuntu 22.10 server install:
# Ubuntu : run commands from home directory to get required pre-requisites and PAServer archive and unpack # do other apt update/upgrade etc before this sudo apt install joe wget p7zip-full curl openssh-server build-essential zlib1g-dev libcurl4-gnutls-dev libncurses5 lldb wget https://altd.embarcadero.com/releases/studio/22.0/112/LinuxPAServer22.0.tar.gz tar -xvf LinuxPAServer22.0.tar.gz cd PAServer-22.0/lldb/lib # rename current symbolic link so we can add the correct one mv libpython3.so libpython3.so_ # this depends on the current Linux distribution for where and what it is called - this one is for Ubuntu 22.10 Server: ln -s /usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0 libpython3.so
Do see a quality central bug report for the error you are seeing however: [RSP-39793] Linux - unsupported DW_FORM value: 0x1f - Embarcadero Technologies
-
See: 11 Alexandria - Release 2 - RAD Studio (embarcadero.com)
QuoteConnecting Python 3
Running LLDB on Linux via PAServer requires Python 3 to be installed, and that LLDB can find it. If you get errors referring to Python, please see the Known Issues for info on configuring Python 3.
-
MMX Code Explorer has next/previous occurrence off right mouse button menu with hotkeys that also brings up a list. Right mouse -> MMX Commands -> Navigate and Move -> Find Next Occurrence.
SHIFT-ALT-RIGHT ARROW (find next occurrence) or SHIFT-ALT-LEFT ARROW (previous occurrence) hotkeys.
- 1
-
The PPMd compression method does well with text files and is available in newer versions of Winzip and other archivers like 7zip.
-
Thanks for posting about the resolution to the problem.
It is documented as the GetSystemMetricsForDpi does say: Minimum supported client Windows 10, version 1607 [desktop apps only] and that is build 14393. It is a LTSC release supported until October 13, 2026 so can't really be ignored.
-
If the code still makes sense to you years latter and you can follow it without difficulty then there should be no complaints.
Applying a rule or guideline too rigidly before the skill or knowledge to do so has been acquired often makes things worse. In your example learning how to use continue; or break; to control the flow of a for loop would be best but applying a no goto rule and using multiple cascading IF's around a large blocks of code could be worse than just using a goto.
The top hall of shame code I have ever seen was due to developers rigidly applying rules before the skill and knowledge to do so was acquired. It made the code more complex and a lot harder to follow to the point is was often easier to just re-write it from scratch.
- 4
-
Old/corrupt/problematic graphics drivers that have errors on some code paths might be something to look at. Some graphics drivers have a clean install option (clears out old drivers or parts of old drivers before installing the latest drivers) which might help. This is fairly rare these days however.
-
1 hour ago, David Heffernan said:How do you find out which DLLs to unload?
PyScripter is opensource so you can read the code. A quick look seems to suggest it doesn't - it unloads a bunch of common .pyd that might be loaded. I could be missing something however.
In file cInternalPython.pas the procedure TInternalPython.DestroyPythonComponents; from https://github.com/pyscripter/pyscripter.
- 1
-
See: Delphi: Previous Versions and Dev Features - Embarcadero
You need to request licenses for the older versions. When I did it a few years ago it generated and sent me emails with the license / key for each older version I requested.
-
Examining the PDFs I see they store the image using different filters: DCTDecode (fastreport) vs FlateDecode (SynPdf). The first is basically JPEG (larger and often has color shifts in parts) while the second is like ZIP (smaller since the sample is a very uniform image).
Are you comparing colors between PDFs or with the source image?
-
Patch 1 for Delphi 11.2 detailed the path issue and was released October 4, 2022.
RAD Studio 11.2 Alexandria Patch 1 Available (embarcadero.com) section "Library Path Configuration".
In App Purchase (consumable and subscription)
in Cross-platform
Posted
Read the help topics and use the events not some Sleep/ProcessMessages messages loop.
Using the iOS In-App Purchase Service - RAD Studio (embarcadero.com)
Using the Google Play In-app Billing Service - RAD Studio (embarcadero.com)
There is also a demo that includes in app purchases:
FMX.CapitalIAP Sample - RAD Studio Code Examples (embarcadero.com)