Brian Evans
Members-
Content Count
360 -
Joined
-
Last visited
-
Days Won
4
Everything posted by Brian Evans
-
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)
-
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.
-
The PPMd compression method does well with text files and is available in newer versions of Winzip and other archivers like 7zip.
-
Delphi 11.0 FMX Windows app gives error during startup for some users
Brian Evans replied to XylemFlow's topic in FMX
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. -
A gem from the past (Goto)
Brian Evans replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
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. -
Delphi 11.0 FMX Windows app gives error during startup for some users
Brian Evans replied to XylemFlow's topic in FMX
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. -
if i changed the P4D DLLPath how to reload DLLs ?
Brian Evans replied to tomye's topic in Python4Delphi
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. -
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?
-
HTMLViewer - is there a Delphi 11 version?
Brian Evans replied to RCrandall's topic in Delphi Third-Party
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". -
Looks to use OpenCV which is a computer vision library for the marker detection task. The bulk of other code is for hooking everything together and providing a UI. Delphi doesn't have the level of support for OpenCV and things like it that Python does. Bindings, examples, discussions and the number developers doing the same thing or similar are all larger for Python. OpenCV itself is multi-platform. You can use OpenCV from Delphi but it is a LOT more work and probably an exercise in frustration to both get things working and develop a solution to a problem. Likely less effort overall to develop parts in Python to come up with a solution so you can take advantage of it's ecosystem and then migrate that to Delphi if desired.
-
You can right click a clear area and select "View as Text" and search there (to switch back right click and "View as Form"). The Object TreeView / Structure panel (title depends on Delphi version) visible usually to the left of the form when viewing as a form can be used to select a component when you know it's name and what it is connected to going up the tree.
-
How to have access to CData Enterprise Connectors in RAD Studio Enterprise v11.2?
Brian Evans replied to w0wbagger's topic in General Help
When I did it a few years ago it had to be claimed and was good for a one year subscription which could only be claimed once. So more of an extended trial than an included product. After claiming I got a product key that could be used on the CDATA site to download various FireDAC drivers. The product key also shows up on my registered products page for Embarcadero.com. Special Offers and Promotions (codegear.com) - RAD Studio, Delphi or C++Builder Architect or Enterprise license holders with current Update Subscription - Claim your Enterprise Connectors (CData FireDAC Professional) Subscription key here The old announcement: Enterprise Connectors now part of RAD Studio Enterprise & Architect Edition (embarcadero.com) Tested a few of the connectors and was not all that impressed. -
Old topic but since the product was updated and has been available for months I am adding a link here. It also seems to have the worst web presence of a product I have seen in years. Almost impossible to find by web search which still brings up previous owners of the product. The product page even has <meta name='robots' content='noindex, nofollow' />. SmartInspect – Code Partners (code-partners.com) Advanced High-Performance Logging and Tracing for .NET, Java and Delph
-
Delphi 11.0 FMX Windows app gives error during startup for some users
Brian Evans replied to XylemFlow's topic in FMX
Only thing I can think of is in regards to 64bit applications: Delphi 11.2 64 bit apps make more use of ASLR. Pointers are now less likely to have the top 32bits all zero so any use of an integer to hold them will now cause problems. Loading a 32bit value into a 64bit register on x64 clears the top bits so bad code could squeak by before if the top 32 bits of the real address were all zero. Delphi Compiler Enhancements As part of the RAD Studio 11.2 Delphi compiler improvements, Delphi further expands Address Space Layout Randomization (ASLR) support for the Win64 platform by supporting High Entropy ASLR (HE ASLR) by adding the ability to randomize memory addresses at high locations. -
what is the structure of the file needed for LoadLangFromFile ??
Brian Evans replied to Al T's topic in Algorithms, Data Structures and Class Design
The language designer can save to a .lng file. See; FMX.Types.TLang - RAD Studio API Documentation (embarcadero.com) Can also create a txt-file template then load from txt-file latter then save as a .lng file. The format of .lng files looks binary but not too complex - a section of strings (xxxx) one per line to translate then sections for a language code and translation pairs (xxxx=yyyy) one per line. -
TRESTClient Security Error 12175 following Windows Update
Brian Evans replied to Andrew Spencer's topic in Network, Cloud and Web
They deleted the first one, so just the second exists now. [RSP-39755] Microsoft Windows update KB5018410 breaks REST operations - Embarcadero Technologies -
TRESTClient Security Error 12175 following Windows Update
Brian Evans replied to Andrew Spencer's topic in Network, Cloud and Web
Main system: Windows 11 Pro 22H2. using Delphi 11.2 patch 1 the minimal application retrieves the response without issue. Run exe on Windows 10 without update KB5018410 send request works. Run exe on Windows 10 with update KB5018410 send request fails. I did notice that Internet Options for Windows 10 has TLS 1.3 not checked by default and it says (experimental) after it. Windows 11 has it checked by default without the (experimental) tag. Search for Internet options in start menu and it should come up as a control panel result, TLS selections are near the bottom on the Advanced tab. No combination of settings gets it to work again on a patched Windows 10 system (KB5018410). There is some weird interaction between the patch and Delphi REST components it seems. It breaks TLS 1.2 somehow and TLS 1.3 isn't functional either. Images below: Windows 10 before patch, Windows 11 22H2 and Windows 10 after patch. -
TRESTClient Security Error 12175 following Windows Update
Brian Evans replied to Andrew Spencer's topic in Network, Cloud and Web
TLS 1.0/1.1 are now disabled by default starting with this month's patch (Oct 2022). They were already disabled in some editions of Windows. TLS Security Settings fails after October 2022 Patch - Microsoft Community Windows 10: Beware of a possible TLS disaster on October 2022 patchday | Born's Tech and Windows World (borncity.com) Not sure why it stopped working however - just checked and your server offers just TLS 1.2 and TLS 1.3 so the older protocols should not be in use anyway. -
Any tip with Datasnap Rest ISAPI + TDataModule
Brian Evans replied to guarasemini's topic in Network, Cloud and Web
I doubt any of your other projects has an added auto created datamodule. Perhaps an added datamodule instanced in one of the other units if splitting things up was desired vs everything in the Server Methods unit. This type of project is inherently multithreaded and creates multiple instances of the Server Methods objects to handle multiple requests - tossing in a extra single instance of a datamodule not attached to any of the other units setup for this seems likely to break things period. So why are you adding an auto created datamodule? -
Any tip with Datasnap Rest ISAPI + TDataModule
Brian Evans replied to guarasemini's topic in Network, Cloud and Web
The server methods unit is where you would normally put your data access components and anything else needed to handle a request. Why are you trying to add a TDataModule? -
The Bonus KSVC components included with Delphi but not installed by default include some components that might help. Installable through GetIt. Going through a few it seems the Meter component from the KSVC components can come closest. The KSVC progress bar makes the text match the bar or background color depending on the progress which makes the yellow bar / white background combination a problem. Also here I don't see the messed up text for the ancient TGauge.
-
Weird code in THttpConnection.ProcessWellKnownDir
Brian Evans replied to Kyle_Katarn31's topic in ICS - Internet Component Suite
It won't copy more characters than are in the string. Passing a large number for count is basically saying copy until the end is reached. However if the count parameter is left out the compiler will put in max int behind the scenes leading to cleaner code and no problematic magic value that could truncate a really long string. FPath := Copy(FPath, I + 3); -
It uses Ruby Rack which is: Rack provides a minimal interface between webservers that support Ruby and Ruby frameworks. Rack is a layer between the framework & the application server — RubyRack The needed config file is in the root directory (config.ru).