Leaderboard
Popular Content
Showing content with the highest reputation since 08/16/25 in Posts
-
@Darian Miller unearthed the following https://www.embarcadero.com/resources/development-jobs/ which allows you to post your "looking for work" requests as well as "looking for developer" posts
-
TGridify, convert a flat table into a pivot-grid in one line of code
aehimself replied to david berneda's topic in Delphi Third-Party
You really should treat Julia better :D- 3 replies
-
- pivot-table
- datamining
-
(and 2 more)
Tagged with:
-
The Result variable (enabled by default via the {$EXTENDEDSYNTAX ON} / {$X+} directive) has been available for a very very long time, much earlier than 2000. But even so, assigning values to the function's name is still an allowed option, too.
-
What are you expecting anyone to do with this?
-
Seriously, show the whole unit.
-
Senior Delphi Developer – 26+ Years of Experience - Remote & Freelance
Darian Miller replied to Andry13's topic in Job Opportunities / Coder for Hire
Here's a new resource: https://www.embarcadero.com/resources/development-jobs/ -
TGridify, convert a flat table into a pivot-grid in one line of code
david berneda posted a topic in Delphi Third-Party
BIGrid2.Data := TGridify.From(BIGrid1.Data, 'Happiness', 'Year', 'Person') https://github.com/Steema/TeeBI/tree/master/demos/delphi/vcl/Grid/Gridify- 3 replies
-
- pivot-table
- datamining
-
(and 2 more)
Tagged with:
-
Putting the function definition inside a Begin / End code block produces the multiple errors posted. So the unit has an open code block where the function definition currently is.
-
As mentioned elsewhere, you need to show more code that is before the function. The function code is correct, it is something before it that makes the compiler unhappy.
-
There's no such thing as an "active" class method. Non-static, dynamic, virtual methods - these all have a hidden implicit Self pointer to the object instance they are called on. Yes, because they will all be using the Self pointer. For example procedure TForm5.FormClick(Sender: TObject); begin ABCycle.Visible := True; end; Is really this: procedure TForm5.FormClick(Sender: TObject); begin Self.ABCycle.Visible := True; end; If such a procedure is trying to access members of the Form of object, then yes. I suggest you brush up on your fundamentals. For instance: https://docwiki.embarcadero.com/RADStudio/en/Procedures_and_Functions_Index https://docwiki.embarcadero.com/RADStudio/en/Classes_and_Objects_Index https://docwiki.embarcadero.com/RADStudio/en/Methods_(Delphi)
-
FYI, the SysUtils unit has an IsLeapYear() function, and a MonthDays[] array, eg: uses ..., SysUtils; function DaysInMonth(Mo, Yr : Word): Word; begin Result := MonthDays[IsLeapYear(Yr), Mo]; end; Alternatively, the DateUtils unit has its own DaysInAMonth() function, eg: uses ..., DateUtils; function DaysInMonth(Mo, Yr : Word): Word; begin Result := DateUtils.DaysInAMonth(Yr, Mo); end; No need to reinvent the wheel here...
-
alternative to call parameter?
Remy Lebeau replied to pcoder's topic in Algorithms, Data Structures and Class Design
I would choose the latter. No need to allocate memory dynamically unless the record instance needs to live after TObj.run3() exits. But, if you have a lot of methods of TObj that are acting on the record then they should instead be methods of TRecord itself. Consider refactoring your code to make it cleaner. -
No, simply two monitors with different resolutions (and different scaling): Just to make this more difficult, monitor 2 (1920x1200 scaled 100%) is the main monitor, so all positions on monitor 1 (3840x2160 scaled 125%) are negative x (-1 to -3839) and some are even negative y. I always put the IDE on the right 2/3 of monitor 1, that's why saving and restoring desktops in Delphi IDE's is broken on my setup since Delphi 11. Also this is the reason that scaling in the Delphi IDE is broken on my system (and my home grown scaling in GExperts is very difficult to do and still has some glitches).
-
What new features would you like to see in Delphi 13?
corneliusdavid replied to PeterPanettone's topic in Delphi IDE and APIs
You can create a CGI application as a VCL Program that listens for web requests as if it was running under IIS--makes it very easy to debug (see attached image). Maybe this will help: https://github.com/corneliusdavid/AutoGetIt -
Hi I noticed that in THttpCli 404 StatusCode is returned in many different situations like timeout/DNS resolution failure, which makes it difficult to diagnose issues because it is the same as legitimate 404 code from web server. Is it possible to change it to something else?
-
[Info & Feedback] DelphiGenAI v1.1.0 — Sharing Updates and an Educational Approach
Maxidonkey replied to Maxidonkey's topic in I made this
I have just updated the DelphiGenAI wrapper to support the OpenAI APIs. Below is the list of changes made compared to version 1.1.0. These enhancements are designed to fully leverage the capabilities of the GPT-5 model while ensuring optimal compatibility with previous models. You can find the complete repository here: https://github.com/MaxiDonkey/DelphiGenAI Version 1.2.0 JSON Normalization Before Deserialization New GenAI.API.Normalizer module (TJSONNormalizer, TWrapKind, TNormalizationRule) to unify polymorphic fields (e.g., string vs. object). Direct integration into the HTTP layer: new Get(..., Path) | Post(..., Path) overloads enabling targeted normalization of a JSON subtree before object mapping. Canceling Background Requests New Responses.AsyncAwaitCancel(response_id) method to cancel an asynchronous response (background = true), with full callback support (OnStart, OnSuccess, OnError). Streaming Enhancements Extended typed coverage for streaming events and outputs (MCP, Code Interpreter, Image Generation, etc.) via new Responses.OutputParams classes (TResponseOutput*, TResponseImageGenerationTool, TResponseCodeInterpreter, etc.). New Types and Parameters InputParams: full coverage for computer interactions, local shell, MCP, web search, code, image generation, reasoning, text/JSON formats, tool choice/hosted tool, and file search filters. OutputParams: states (Created, InProgress, etc.), events (Added, Delta), usage metrics, and statistics. New enums: TOutputIncluding, TReasoningGenerateSummary, TFidelityType, etc. API v1/chat/completions New parameters: prompt_cache_key (prompt caching) safety_identifier (stable ID for safety monitoring) verbosity (low / medium / high) API v1/responses New parameters: max_tool_calls prompt (template reference via TPromptParams) prompt_cache_key, safety_identifier stream_options, top_logprobs, verbosity Structured System and Developer Messages New overloads: TMessagePayload.Developer(const Content: TArray; const Name: string = '') TMessagePayload.System(const Content: TArray; const Name: string = '') Improves parity between plain text and structured content flows. -
Delphi Developer Job Offer (Germany) / Delphi entwickler
NR2024 posted a topic in Job Opportunities / Coder for Hire
⚡️Dear Delphi Developers Community, I'd like to share an open job opportunity for developers in Germany. 👀We are actively seeking a highly qualified Delphi Developer with demonstrated expertise in Delphi programming, as well as proficiency in SQL and experience with ERP systems. This is a full-time, permanent position at a company that specializes in the production of automotive software, located in the Hannover region. The option for remote work, accompanied by periodic visits to the office, may be considered based on the candidate's demonstrated professional qualifications. Proficiency in both spoken and written German is required, with a minimum level of B2. 🖥If you’re interested or know someone who might be a good fit for this role, please feel free to reach out to me on LinkedIn (https://lnkd.in/duRBttdZ) or reach out via email (nina.remizova@heinicke-consulting.com). Thank you! -
Delphi Developer Job Offer (Germany) / Delphi entwickler
Rollo62 replied to NR2024's topic in Job Opportunities / Coder for Hire
I just noticed this, maybe its interesting https://www.delphipraxis.net/217543-embarcadero-jobportal.html#post1550400 -
I've found it to be helpful as well in many situations. Just this morning, I was updating an old Delphi XE program that needed to get a list of available drives and forgot what the procedure was called. Sure, I could've looked it up but Claude reminded me of GetLogicalDriveStrings much quicker. Earlier this week, I wanted to try out Claude Code on my Windows machine. I learned it required Linux and didn't work on my currently installed WSL version 1. (The web-based) Claude helped me figure out which version of WSL I had, install WSL 2, then even though it was installed, WSL 1 was still the default so it helped me change that. Then, I had to go through a similar process with nodejs and npm. I learned several new "wsl" commands and got it up and running. It would've taken me many hours hunting down forums and blog posts to put all those pieces together--I probably would've given up. It's not great at writing whole programs or untangling a huge library of code but it can sure save time in many instances.
-
Define conditional symbol in .dpr
dummzeuch replied to Vandrovnik's topic in RTL and Delphi Object Pascal
You cannot define a symbol in the .dpr file to be available in the units (it will be available in the .dpr file itself though). You must put it into the .dproj file (Project -> Options). Alternatively you can define it in an include file and include that file in all units that require the symbol. That latter approach is used by most libraries because a library cannot add anything to the project options. -
Due to the continued abuse, the following functionality will change from this date: Images, links and emojis are generally disabled Text emojis will be allowed Quoting limitations will be enforced to single sentences AI filters will be applied to the posts to moderate strong language, personal attacks, and spam Lack of proper grammar, punctuation and Capitalization will be penalized Humorous comments must achieve a rating of at least 42 to be accepted as humor Cat images will be allowed on Saturdays(no nudes, i.e. cats without hair) Recursive posts will be moved to Posts, Recursive Cursive fonts will be righted Use of blinking fonts for important spam is encouraged Links to Rick Astley music videos are encouraged
-
*facepalm*
-
Manual uninstall of RAD Studio/Delphi/C++Builder 12.0 Athens
Dev01 posted a topic in Delphi IDE and APIs
How to delete all the files just in case you need to, for some unknown reason. Manual uninstall of RAD Studio/Delphi/C++Builder 12.0 Athens Launch the License Manager from the bin folder (by default “C:\Program Files (x86)\Embarcadero\Studio\22.0\bin\LicenseManager.exe”) and delete any trial or beta (Test Field) license that you can find. Check it under “License Details” in the center column. Under your Control Panel’s Program and Features Add/Remove Program uninstall the following entries: RAD Studio 12 version 23.0 Please follow these instructions to remove any leftover files: 1. If Windows 64-bit, remove the C:\Program Files (x86)\Embarcadero\Studio\23.0 directory (or the custom folder you had used). 2. Remove the C:\Users\Public\Documents\Embarcadero\Studio\23.0 directory 3. Remove the C:\ProgramData\Embarcadero\Studio\23.0 directory. 4. Remove the %APPDATA%\Embarcadero\BDS\23.0 directory. 5. Remove the HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\23.0 registry key 6. If Windows 64-bit, remove the HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Embarcadero\BDS\23.0 7. If Windows 64-bit, remove the following files from C:\Windows\SysWOW64: BDEAdmin.* CC32*.DLL Midas.* Xerces*.DLL If you had problems in the second step (uninstalling from Windows Control Panel), try this Microsoft tool to solve un-installation problems: https://support.microsoft.com/en-us/topic/fix-problems-that-block-programs-from-being-installed-or-removed-cca7d1b6-65a9-3d98-426b-e9f927e1eb4d -
The Case of Delphi Const String Parameters
David Heffernan replied to Mike Torrettinni's topic in RTL and Delphi Object Pascal
Nothing to see here. Carry on using const for string parameters. The issue is vanishingly rare. If you encounter the issue, fix it. Don't go changing existing code unless you are actually affected by the issue.