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.

Share tech news, updates, or what's on your mind.

Sign up to Post

I developed a Chess on line game with  IdTcpServer IdTcpClient from Indy with DDelphi Rad studio 10  seattle.  My question is:
I need to know how a client program can be notified when the same client program is disconneced from the internet  for certain reason.
here what I tried to do through the use of IDthreadComponent :

procedure TFChessGamesPage.IdThreadComponentException (Sender: TIdThreadComponent; AException: Exception);
HowEver it seems that things go very slow and my client program needs long time to realize this Disconnection...
What to do?
thanks in advance
Rowby Goren Makes an Impact on Screen and Online
LVL 12
Rowby Goren Makes an Impact on Screen and Online

Learn about longtime user Rowby Goren and his great contributions to the site. We explore his method for posing questions that are likely to yield a solution, and take a look at how his career transformed from a Hollywood writer to a website entrepreneur.

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 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­,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­­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 use Atozed Intraweb with Delphi XE 10.2.3.
I save a Window to pdf using 'Window Print' as pdf.
then I woud get the file saved on the tablet and upload it (with IwFileUploader) without re-selecting the pdf I have just saved.
How is it possible? Note that I use delphi over 15 years, but am absolutely unexpert about HTML5, javascript etc, so I should need a simpe solution.
Then, when I more expert, my goal shoud be to save the window automatically without selecting where to save the pdf.
I Hope my english is quite comprensive.
Thank You very much
Oronzo Conte
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      := '';
      UserName  := '';
      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 ?
Angular Fundamentals
LVL 12
Angular Fundamentals

Learn the fundamentals of Angular 2, a JavaScript framework for developing dynamic single page applications.


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.
Delphi 10.2.
What does it take to catch webhooks from a SMTP-server?
Guess ngrok is necessary to recieve it locally.
What components in Delphi should I use for HTTP?
Can you get me started on this?
CompTIA Network+
LVL 12
CompTIA Network+

Prepare for the CompTIA Network+ exam by learning how to troubleshoot, configure, and manage both wired and wireless networks.


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?
Running Delphi XE2
For an obscure reason, now when I click on the HELP in the menu bar, it popup this (french translated) : naming space for RAD studio help is not defined. Please install the RAD Studio documentation !!!
Can I fix this without having to reinstall the doc.
If I need to reinstall, where can I find it (I do not have the setup anymore)
I am looking for a full working example of a Delphi (mine is XE2) application accessing the GMail pop server (
I have tried by myself, but it looks difficult to connect to the server
Once that is done, I will have no problem retrieving and processing the incoming emails
please help re:
[DCC Error] splash_u.pas(62): E2010 Incompatible types: 'Integer' and 'Boolean'

this is the code:
procedure TTfrmSplashScreen.tmrSplashScreenTimer(Sender: TObject);

  k := k + 1;
  lblsplashscreen.Caption := 'Loading ' + IntToStr(k) + '%';

 if (k = 100) then pgbSplashScreen.Step :=1
    and pgbSplashScreen.Max =(100);
  tmrSplashScreen.Enabled := False;

I have a device, camera that connects to wifi and transmits the video via wifi. How can I read this video buffer from this device using Delphi Desktop application and display the video in this desktop app? Via ethernet LAN connection. Using TCP read buffer? But how to read the right buffer exactly from this particular device? Please show me some code.

Imagine this scenario. I have a video surveillance  camera transmitting video via wifi in country A and I want to see the video in country B. Via LAN.

Regards, Bogomil

I have the following code in Delphi XE 10.1, compiling with 32bit:
  TEditStream = record
    dwCookie: Longint;
    dwError: Longint;
    pfnCallback: TEditStreamCallBack;

function EditStreamCallback(dwCookie: Longint; pbBuff: PByte; cb: Longint; var pcb: Longint): Longint; stdcall; stdcall;
  MS: TMemoryStream;
  // dwCookie is Application-defined,
  // so we're passing the stream containing
  // the formatted text to be added.
  MS := TMemoryStream(dwCookie);
  Result := 0;
  with MS do
    if (Size = Position) then
      pcb := 0;
    else if (Size - Position) <= cb then
      pcb := Size;
      Read(pbBuff^, Size);
      pcb := cb;
      Read(pbBuff^, cb);

function REFetchText(RE: TRichEdit; const Text: AnsiString): integer;
  ES: TEditStream;
  MS: TMemoryStream;
  MS := TMemoryStream.Create;
    MS.Write(Text[1], Length(Text));
    MS.Seek(0, soFromBeginning);
    ES.dwCookie := Longint(MS);
    ES.dwError := 0;
    ES.pfnCallback := @EditStreamCallback;
    if Pos('{\rtf', Text) > 0 then
      Result := SendMessage( RE.Handle, EM_STREAMIN, SF_RTF or SFF_SELECTION, Longint(@ES))
      Result := SendMessage(RE.Handle, EM_STREAMIN, SF_TEXT or SFF_SELECTION, Longint(@ES));

Open in new window

if I compile and run it for 64bit I get an accessviolation on "SendMessage". I think the problem are some parameters but how to do?
Thanks, Peter






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.