We help IT Professionals succeed at work.






Delphi is the most powerful Object Pascal IDE and component library for cross-platform Native App Development with flexible Cloud services and broad IoT connectivity. It provides powerful VCL controls for Windows 10 and enables FMX development for Windows, Mac and Mobile. Delphi is your choice for ultrafast Enterprise Strong Development™. Look for increased memory for large projects, extended multi-monitor support, improved Object Inspector and much more. Delphi is 5x faster for development and deployment across multiple desktop, mobile, cloud and database platforms including 32-bit and 64-bit Windows 10.

I get this error message, when I want to connect to MariaDB via FireDAC.
Where can I download the needed dll's?

I have downloaded the "MariaDB Connector/C x.x Series"  zip-file from this website https://downloads.mariadb.org/. But the dll's were not there.
My program is a 32-Bit application

Error message
Is it possible in a Delphi application to terminate the application and shutdown windows (windows 10 ?)
I have upgraded (installed) Delphi XE10 from Embarcadero
Interbase Express is also install, I "see" in in the installed package
But when I use one like IBQuery (uses clause), it can't locate it
I suppose I missed something to reference it somewhere in the BDE options ?
I use FireDAC to Access a remote MySQL database and a local MySQL at the same time. For that I set up two TFdConnections.
The problem is that the two connections seem to affect each other.
When I switch off the remote MySQL Windows service I get long delays on the local connection.
When I pull the network cable from the remote machine the local connection is even completely blocked.

What causes this problems, the FireDac library or libmysql.dll and how can I solve it.
Thanks for your help, Bruno
I have tried to follow the Delphi Using FireDAC and SQLite  tutorial on this page:

It will not compile because I get an undeclared identifier for this line:
TDialogServiceAsync.InputQuery('Enter New Item', ['Name'], [''], Self.OnInputQuery_Close);

I have added fmx.dialogservice to the uses statement. That unit does have a proc named "InputQuery" but theparameters do not match up.

Does anyone know what unit I need to add to my uses clause, or if this tutorial no longer runs under Delphi 10.3?
CertificateError.PNGI had this question after viewing How do I add a client SSL certificate to a SOAP client in Rad Studio Delphi?.

I use Delphi 10.1 Berlin.
 I imported wsdl from file. I fill the object and then send data by calling its method.
It occurs an error that "certificate needed" as seen on attachment in Turkish language.
I could not solve this til now.

Best regards

In my Delphi application I have a TFDStoredProc (name: aspCopyMyRecord) to access a MS SQL Server database.
Sometimes when the procedure below is executed, I get an error:
aspCopyMyRecord: Parameter '@ID' not found

procedure TDM3.CopyMyRecord(vID, vID2 : Integer; CONST vCode : String);
    with aspCopyMyRecord do
      ResourceOptions.UnifyParam := False;
      StoredProcName := 'dba_CopyMyRecord';
      FetchOptions.Items := aspCopyMyRecord.FetchOptions.Items - [fiMeta];
      Params.ParamByName('@ID').Value     := vID;
      Params.ParamByName('@ID2').Value  := vID2;
      Params.ParamByName('@Code').Value    := vCode;

Open in new window

The parameters in SQL Server Stored Proc are named like:
     @ID INT 
   , @ID2 INT
   , @Code nVarChar(50)
   , @ReturnValue INT OUTPUT)

Open in new window

Can anybode see what might be wrong with my code?
Cannot import a CSV file intl SQLITE using DB Browser for SQLITE.

It DOES work fine when the CSV file has around 1000 records, including  column names in the first record. But it fails when the CSV file has around 10000 records, yet the failure is on "record 1" which is the same regardless of how many records are in the CSV file.

The error message is "Error importing data from record number 1. Failing row had 9 columns but 11 values were supplied..." and it goes on to list the 11 values showing the last 2 values as "null,null". It really does have only 9 values and the CSV file really has only 9 comma delimited fields. I have examined the csv file using HEXEDIT and after the 9th value, it is followed by a carriage control and linefeed, (0D, 0A)  as each row is.

It  is as though there is a small memory area available to load the csv file into, and when that limit is exceeded, it corrupts itself in memory. Any ideas?

The CSV file is created by a Delphi program, so I can limit the number of records. A related problem was that the csv file contains a file name, like "myfile.txt" and the dot before the "txt" file extension was being treated like a comma. I had to change the program that creates the CSV file to use an underscore instead of a period, and it worked fine until the number of csv records got somewhere around 1000.

I installed the update to Delphi, version 10.3, but I cannot select a target platform of Android. Under Project manager, I right clicked on "target platform" but the "Add" button is greyed out.

I downloaded Android Studio hoping that would let the Delphi IDE see that Android is an available target platform. Did not help.

I installed Delphi 10.3 on another pc, a machine with no software on it...it was reset to factory settings, and have the same problem there.

How do I make the Android platform available as a target platform?
I am working with Delphi Rad 10 seattle  Vcl version
I own a windows server and have a full control on it.
My Question is:
What is the fastest way to transfer files of what ever extension from my windows server to my PC and vice versa.
I would appreciate giving me  little sample...Is IdTCpServer\Client from indy enough good for that?
thanks in advance
I Made a simple  "server client"  program with IdTcpServer and IdTcpClient components created with Delphi rad seattled 10.
Is there an efficient way to make the server send  a data to the client at the moment when this client is connected.  
the data should contain several lines when each line Describes each client already connected to the server  ( Id, Age name ...etc)
Thanks in Advance!
I use Delphi Seattle.

I have problems with Indy components :
-Indy components cannot use those webpages which use TLS V3 connection because the web server rejects the connection.
The certification used is Encryption Everywhere DV TLS CA - G2

Error message:
Socker Error # 10054
Connection reset by peer

The code:
  H := TIdHttp.Create(nil);
  SS := TStringStream.Create;
  H.Get(MyPath+'u_products.xml', SS) ;

Open in new window

I can use the Smtp server of Google with Indy

Ugyan ezzel a kóddal a Google SMTP szervere meghívható, így biztosan nem azzal van probléma.

SSL információk:

    CN=DigiCert Glob­al Root G2,OU=ww­w.digicert.com,O­=DigiCert Inc,C=­US
Not valid before:
    2017-11-27 12:46­:40 UTC
Not valid after:
    2027-11-27 12:46­:40 UTC
Key size:
Signature Algorithm:

    Digital Signatur­e, Certificate S­ign, CRL Sign
    TLS Web Server A­uthentication, T­LS Web Client Au­thentication
    CA:TRUE, pathlen­:0
    OCSP - URI:http:­//ocsp.digicert.­com
    Full Name:­ URI:http://crl­3.digicert.com/D­igiCertGlobalRoo­tG2.crl

I use Delphi Seattle.
My customer loads pictures in database using Devexpress TcxImage component.
In this component they can "paste" pictures from a browser.

Later I need to make thumbnail picture of this. And this is the problem:

-my "thumbnail creation" procedure is for jpg image
-so it works well if it is a jpg but I get Jpeg error #53 if it is a png picture

Question: how can I detect at the beginning if it is a png picture (remember that I cannot know it if the customer uses paste from a browser) and how can I transform it in jpg image?

Thank you very much!
I read a POP3 message in a TIdMessage component says M (idPOP3.Retrieve(MessageNumber,M))
But the Body has only one line, "This is a multipart message in MIME format.
The message content is (seen with gmail client) just a couple of simple text lines ...
So where are these text lines ?
Delete method of TidPOP3 component
I retrieve a message from the POP server : idPOP3.Retrieve(N,M) where M is a TIdMessage
I process the message and then I delete it with idPop3.Delete(N)
But the message is still there !
I try to access a gmail account to read and process incoming emails in Delphi XE2
I activated OPO3 for the gmail account
My code is like this :

  SSL := TIdSSLIOHandlerSocketOpenSSL.Create(Application);
  Pop3 := TIDPop3.Create(Application);
  with Pop3 do
      AuthType  := patSASL;
      Host      := 'pop.gmail.com';
      UserName  := 'username@gmail.com';
      Password  := 'theusernamepassword';
      Port      := 995;
      IOHandler := SSL;
      UseTLS    := utUseImplicitTLS;

On the Connect call, I get error EidSASLMechNeed with text (I translate it from french) : SASL mechanism needed for the connection
I have the needed libraries libeay32.dll and ssleay32.dll (dated december 201)

Any idea what is wrong ?

I wrote an Android app in Delphi Seattle. It transfers data from a database from another.
The problem is that when the phone enters in display sleep mode, the app stops transferring. When the screen is on again it will continue where it left it.

How can I set it to work in display sleep mode?

Thank you very much!
I need to build a simple "Server Client" Program with delphi Rad studio 10 seattle Version with the following requirements:
1. The program should use  Indy components: IdTcpServer and IdTcpClient.
2. Using LocalHost to specify the the host of the server.
2. The IdTCpClient can preform the following:
     - Connection to the server + Disconnecting
     -  Sending textual message to the server(with support for BIDI writing)
3. The IdTCpServer can perform the following:
     - read the sent message from the client
     - Make a list of all the active connected Clients. This List should be Updated automatically When connecting a new client or disconnecting an existing one.
     - The Server is capable of sending back a message to a specific client or clients
     - The server can hold some information about the client (Name , Age ...)

As good start I wish you download the attached project below and complete the missing:

Thanks in Advance
Is there a way, in a Delphi application running on a portable PC, to check :
1. The battery charge status
2. If the PC is being charged with power cable
Using  serversocket and clientsocket components I could build a chat program with delphi xe 10 seattled.
When ClientSocket is connected to a localHost with host='' and  port=21 and the ServerSocket activated with Port=21 then every thing is going well and the communication was established.
However I would like to transfer my ServerApplication(with ServerSocket) to a real server(not a local one). I have two options:
1. Simply using my web (hosted in a server which is not mine)
2. Purchase a server for my own.
In both cases I don't know how to do it...
Please help!
I have last week installed the latest RAD Studio Rio version 10.3 and can't make code insight work properly with a Windows VCL application.
The same code works fine with RAD Studio 10.2.3 Toyo which I have installed on the same PC ( Windows 10 Professional 64 bit)

I attach two screenshots of the same code snippet showing code insight for an STL <list> template variable which shows correct members such as push_back in the RAD studio 10.2.3 IDE but something else in the RAD Studio 10.3 IDE.

I have enabled all the options in the Code insight settings and can't see why the code insight isn't working as expected (or desired).
Any comments would be appreciated.
I am having trouble installing an Active X control component in Embarcadero RAD Studio10.3 Rio with the C++ compiler.
I have previously installed the same Active X control (a third party component) in RAD Studio C++ Builder 10.2 Tokyo and C++ Builder 10.1 Berlin with little trouble.
I get as far as creating a unit but when trying to install the unit into an existing package the compiler doesn't list any existing packages ?
It is something that I hardly ever do and would appreciate step by step instructions from experience with to RAD studio 10.3
I have no experience in using Delphi but am quite familiar with C++ Builder.
Hi all,
I have a complex project written in Delphi using 3. party components (DevExpress VCL, Unidac and FastReport).
A governmental organisation, which can pay a lot, needs this project in C# .Net as a web browser-based application (no other program is acceptable).
I know C# but I don't know .Net and web browser application.
What do you think?
Do you think if I can convert the project, spending a year (first learning .Net then spend time to get enough experience and then convert my project to a web-based application)

Does this sound logical? doable and if it is I 'll be really appreciated to learn the intelligent way to do it.

Thank you.
Hi all,
I fell in love with Delphi 15 years ago, spent days and nights, nights and days, finished great projects with high complexity with it.
However, today's industry standard is web browser based C# .Net applications (even though I  avoided confrontation for years) and when you say to a company or a governmental organisation that you want to write their program with Delphi they look you as you are a vampire. And I lost at least 2 big (really big) projects because of this.

Sum it up, what do you think?
After age of 40, spending 15 years with Delphi and having all the licenses you need (Delphi, Devexpress VCL, Unidac and FastReport) is it logical to immigrate from Delphi to C# .Net

Any idea or shared experience will be really appreciated.

Thank you.

I'm trying to migrate my projects from Delphi 7 to RAD Studio 10.2.3 Tokyo.
I have a problem with the buttons because in D7 I used two components for the Button:

- suButtons (Sunisoft SUIPack)
- TButtonXPMACCorel (CWin)

look the attached image.

Unfortunately I could not get these components in the new RAD Studio.
Does anyone know any similar component that can have a button with this appearance?






Delphi is the most powerful Object Pascal IDE and component library for cross-platform Native App Development with flexible Cloud services and broad IoT connectivity. It provides powerful VCL controls for Windows 10 and enables FMX development for Windows, Mac and Mobile. Delphi is your choice for ultrafast Enterprise Strong Development™. Look for increased memory for large projects, extended multi-monitor support, improved Object Inspector and much more. Delphi is 5x faster for development and deployment across multiple desktop, mobile, cloud and database platforms including 32-bit and 64-bit Windows 10.