Posts

Showing posts from March, 2018

Originally shared by Castle Game Engine

Originally shared by Castle Game Engine We are now officially Embarcadero Technology Partner! What this means, in simple terms, is that Michalis has full access to the latest Delphi version, with all the Delphi platforms (including Android and iOS), for free. This should be great news for… http://castle-engine.io/wp/2018/04/01/castle-game-engine-is-now-embarcadero-technology-partner/

Delphi 10.2.3: Tools > Options Click OK = Script Error

Image
Delphi 10.2.3: Tools > Options Click OK = Script Error I have another weird situation with Delphi 10.2.3. Anytime I open up the options and click OK I get a popup screen telling me there is a Script Error. How to produce the error: Click Tools > Option then click the OK button. It does not happen when I click the Cancel button. Has anyone ever seen this behavior?

...waiting for the englisch version

...waiting for the englisch version Originally shared by Yaroslav Brovin FGX native webinar. New crossplatform mobile native library for Delphi. https://youtu.be/iYaECY1DHZo

Konopka VCL Controls Loaded but GetIt Does Not Show as Installed

Konopka VCL Controls Loaded but GetIt Does Not Show as Installed I just upgraded to Delphi 10.2 Version 25.0.29039.2004. I used the GetIt Package Manager to install the Konopka VCL Controls. It told me that Rad Studio would need to be relaunched after the install. I clicked YES. It did the install and it hung after the component install window closed. The only way I could get out of GetIt Package Manager and Delphi was to end task from Task Manager. When I start Delphi 10.2 it tells me that the Konopka VCL Controls are loaded. However, when I load the "Installed" packages from GetIt Package Manager it does not show the Konopka VCL Controls as loaded. I've tried removing the packages from the IDE and re-installing and it hangs every time at the same step. Has anyone experienced this behavior? Is there a way to inform GetIt that a package is installed?

Hi, I've just checked in first revision of CrossVcl TWebView component. It is cross-platform web browser based on native web arch on each platform. It is very simple yet, but works and also it shows how to create custom-native controls for CrossVcl.

Image
Hi, I've just checked in first revision of CrossVcl TWebView component. It is cross-platform web browser based on native web arch on each platform. It is very simple yet, but works and also it shows how to create custom-native controls for CrossVcl. https://github.com/eugenekryukov/crosswebview P.S. There are only few hours when our 20% discount will expire.

There's a language enhancement I'd like to see in Delphi, but I'm not sure what exactly it is.

There's a language enhancement I'd like to see in Delphi, but I'm not sure what exactly it is. I can only point to where it shows up as a missing for me. Feel free to comment on what it is that I seem unable to point to directly. Perhaps it even has some kind of name; I really don't know. I was writing a bit of code where I needed to create a couple of methods that everybody runs into now and then: LoadXxxxFromYyyy and SaveXxxxToYyyy. Xxxx is usually an object of some kind and Yyyy is some kind of container object like a File, Stream, Ini, Form, Cache, Buffer, ... whatever. We've all written plenty of these, right? Now, since Xxxx is usually an object, the things that are being copied out and in are typically PROPERTIES -- and usually Public or Published properties at that. What I'd LIKE to see is the ability to write a single bi-directional copy method like this: CopyEx( aVal1 : T1; aCollection : T2; dirFlg : Boolean ); Unfortunately, this is impossible today b

There's a language enhancement I'd like to see in Delphi, but I'm not sure what exactly it is. I can only point to where it shows up as a missing for me. Feel free to comment on what it is that I seem unable to point to directly. Perhaps it even has some kind of name; I really don't know.

There's a language enhancement I'd like to see in Delphi, but I'm not sure what exactly it is. I can only point to where it shows up as a missing for me. Feel free to comment on what it is that I seem unable to point to directly. Perhaps it even has some kind of name; I really don't know. I was writing a bit of code where I needed to create a couple of methods that everybody runs into now and then: LoadXxxxFromYyyy and SaveXxxxToYyyy. Xxxx is usually an object of some kind and Yyyy is some kind of container object like a File, Stream, Ini, Form, Cache, Buffer, ... whatever. We've all written plenty of these, right? Now, since Xxxx is usually an object, the things that are being copied out and in are typically PROPERTIES -- and usually Public or Published properties at that. What I'd LIKE to see is the ability to write a single bi-directional copy method like this: CopyEx( aVal1 : T1; aCollection : T2; dirFlg : Boolean ); Unfortunately, this is impossible today b

Originally shared by Thomas Mueller (dummzeuch)

Originally shared by Thomas Mueller (dummzeuch) Starting with Delphi 2007 EmBorCodera switched to msbuild for the build system. The newly introduced .dproj file used since then is a valid build script for msbuild but unfortunately the format has changed between Delphi 2007 and 2009. This means that… http://blog.dummzeuch.de/2018/03/31/specifying-the-msbuild-configuration-for-a-delphi-project-on-the-commandline/

Originally shared by Thomas Mueller (dummzeuch)

Originally shared by Thomas Mueller (dummzeuch) Have you ever wondered which functions of GExperts you have used the most? Or how often at all? How much time it has saved you? Now you can find out: I just added Usage Statistics to GExperts which tells you exactly how often you have called each of the… http://blog.dummzeuch.de/2018/03/30/gexperts-usage-statistics/

Naming.

Naming. I am creating a command pattern hierarchy and one of the base classes is this: TDatabaseBoundCommand = class( TCommandBase ) strict protected function GetDataset : TD;virtual;abstract; function CommandSucceded( out MsgText : String ): Boolean;virtual;abstract; function Execute: TExecutionResult; override; property Dataset : TD read GetDataset; end; For perspective, TCommandBase implements this interface: TExecutionResult = ( erSuccess, erFail ); ICommand = interface ['{3A03CDCF-B9DB-46E7-8FBB-860DD909053B}'] function GetMessage: String; function Execute : TExecutionResult; property Message: String read GetMessage; end; In other words, it implements the message property and creates a virtual;abstract of the Execute method. My issue is that right now my TDatabaseBoundCommand class depends on TDataSet but I realised I want to jeep it flexible enough that - for example - a RemObjects or kbmMW client layer can be implemented, thus I nee

TMS software collaborates with NexusDB

Image
TMS software collaborates with NexusDB (NexusDB v4.5) https://www.nexusdb.com/support/index.php Get TMS RemoteDB NOW: https://www.tmssoftware.com/site/remotedb.asp

Originally shared by Eivind Bakkestuen

Originally shared by Eivind Bakkestuen Ann: NexusDB v4.5 significant update - TMS RemoteDB support built in We are happy to announce that in collaboration with TMS, our newly released NexusDB v4.5 update adds built in support for the TMS RemoteDB library on the server side. The library is compiled into our standard server executable, which means that with the help of the TMS library, you can now use Rad Studio to create NexusDB database clients for Android, iOS and MacOSX in addition to the existing Windows support. And there is no need to recompile the server! Please note that NexusDB does not include the library in its distribution; TMS RemoteDB is a separate purchase from TMS. More info here: https://tmssoftware.com/site/remotedb.asp This release also has a number of other improvements. The full list of changes can be found at https://www.nexusdb.com/mantis/changelog_page.php Webshop here: https://www.nexusdb.com/support/index.php?q=pricing Our site: https://www.nexusdb.com Regards,

In 10.2.3,Delphi X64 Breakpoints will not work when the compiled binary's path contains chinese words.

Image
In 10.2.3,Delphi X64 Breakpoints will not work when the compiled binary's path contains chinese words. https://quality.embarcadero.com/browse/RSP-20243

Recommended way to open a table in a DataModule within a thread?

Recommended way to open a table in a DataModule within a thread? We've got a DataModule with a bunch of tables on it, and several of them are opened at program startup and left open for the duration of the program. The data is coming from a DB server somewhere (ie., not locally). A few are quite large and take a long time to load. Other than local caching, we're thinking it might work well to simply run the slower-loading queries in a separate thread. I know there are issues running threads in forms, and DMs are basically forms although they don't interact with the screen. Anyway, we're getting weird errors, so I think we're missing something. Can someone please post a snippet of code that shows how to do a simple TDataSet.Open; call inside of a thread? We'll also need a simple flag that's set when it's ready to use, although I don't expect any major race conditions. It's only going to be run once when the app starts up.

Good afternoon guys, how are you?

Good afternoon guys, how are you? I'm venturing into the mobile world, for android I've been able to do all the processes until I publish to the store, now I'm trying on the iphone. I work with delphi tokyo, I have already done the paserver process, this is communicating ok, I already compile for osx from my mac that is with the updated high sierra, latest version xcode. when i try to add the ios simulator in sdk manager, it does the whole process but leaves the following message in the log: Directory does not exist: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/UIFoundation.framework/   When I compile the app, the simplest possible only with a label and a button, it transfers to the mac, opens the simulator and installs the app in the simulator, only the app opens and closes, only the splash screen appears. Does anyone have a tip to give me? I'm kind of lost.   Thank you

How to hash a string using RSA-SHA1?

How to hash a string using RSA-SHA1? Delphi supports HMAC-SHA1 through TRESTHTTPProcs.HashHMACSHA1(). Is there a similar function for RSA-SHA1?

Fishfact introduced to modern REST

Fishfact introduced to modern REST http://c4d.asuscomm.com/wordpress/2018/03/29/rest-easy-with-kbmmw-12-fishfact-demo-using-http-sys-transport/

I have Rad Studio Berlin on drive C and i want to keep it. I had Rad Studio 10.2.2 on drive H. I downloaded installer of 10.2.3. Uninstalled 10.2.2 and started 10.2.3 installer. It offers me upgrade or update.

I have Rad Studio Berlin on drive C and i want to keep it. I had Rad Studio 10.2.2 on drive H. I downloaded installer of 10.2.3. Uninstalled 10.2.2 and started 10.2.3 installer. It offers me upgrade or update. Update .. there is just some XE7 stuff. Upgrade.. i registered it and it says there is not enough space. But i want it install it to drive H again. How can i do that?

Hi Can you help with following error

Hi Can you help with following error " [dcc32 Error] uCustomer.pas(389): E2010 Incompatible types: 'TBlobStream' and 'TStream' " What i am Trying to do is Save PDF file to SQL Table , for that i am using Genosite PDFDocument Component Code i am using as below procedure TfCustomer.BitBtn1Click(Sender: TObject); var selectedFile: string; dlg: TOpenDialog; Name:string; blob: TBlobStream; TempStrm: TMemoryStream; begin selectedFile := ''; dlg := TOpenDialog.Create(nil); try dlg.InitialDir := 'C:\'; dlg.Filter := 'PDF ( .pdf)| .pdf'; if dlg.Execute(Handle) then selectedFile := dlg.FileName; Name:= ''; Name:= OpenDialog1.FileName; finally dlg.Free; end; if selectedFile <> '' then QCustomerDocument.Open; if not (QCustomerDocument.State in [dsEdit, dsInsert]) then QCustomerDocument.Insert; // Create a blob stream for writing blob := QCustomerDocument.Crea

Hi all

Hi all Looking for an easy to use component (googling shows so many its hard to pick what to use, etc) to convert a .wav file to a different format i.e to PCM 11025kHz, 8Bits Mono i.e like a resample/re convert (i.e it would read in the .wav file and then create a new .wav file with that selected format) Thanks! Brian

Once a TFDMemTable is set to Active at design time the TFieldDefs seem locked.

Once a TFDMemTable is set to Active at design time the TFieldDefs seem locked. It lets me change them when it is Active but it always reverts the changes after I reload the form. Is this a bug or is it some kind of Cache setting on TFDMemTable that is causing this? This StackOverFlow post talks about the issue a bit at Runtime: https://stackoverflow.com/questions/44874674/adding-a-new-field-to-fdmemtable-when-loading-an-existing-data

Once a TFDMemTable is set to Active at design time the TFieldDefs seem locked. It lets me change them when it is Active but it always reverts the changes after I reload the form. Is this a bug or is it some kind of Cache setting on TFDMemTable that is causing this? This StackOverFlow post talks about the issue a bit at Runtime: https://stackoverflow.com/questions/44874674/adding-a-new-field-to-fdmemtable-when-loading-an-existing-data

Once a TFDMemTable is set to Active at design time the TFieldDefs seem locked. It lets me change them when it is Active but it always reverts the changes after I reload the form. Is this a bug or is it some kind of Cache setting on TFDMemTable that is causing this? This StackOverFlow post talks about the issue a bit at Runtime: https://stackoverflow.com/questions/44874674/adding-a-new-field-to-fdmemtable-when-loading-an-existing-data

OAuth with Jira:

OAuth with Jira: Anyone have a working example on how to login into Jira from Delphi? Jira uses OAuth1 with RSA keys. I'm having difficulty to put everything in the right place.

Ann: NexusDB v4.5 significant update - TMS RemoteDB support built in

Ann: NexusDB v4.5 significant update - TMS RemoteDB support built in We are happy to announce that in collaboration with TMS, our newly released NexusDB v4.5 update adds built in support for the TMS RemoteDB library on the server side. The library is compiled into our standard server executable, which means that with the help of the TMS library, you can now use Rad Studio to create NexusDB database clients for Android, iOS and MacOSX in addition to the existing Windows support. And there is no need to recompile the server! Please note that NexusDB does not include the library in its distribution; TMS RemoteDB is a separate purchase from TMS. More info here: https://tmssoftware.com/site/remotedb.asp This release also has a number of other improvements. The full list of changes can be found at https://www.nexusdb.com/mantis/changelog_page.php Webshop here: https://www.nexusdb.com/support/index.php?q=pricing Our site: https://www.nexusdb.com Regards, The NexusDB Team https://www.nexusdb.c

BLAISE PASCAL Magazine 69/70:

Image
BLAISE PASCAL Magazine 69/70: "TMS WEB Core, how to install my first project" + examples of projects including Pascal code ORDER now!! https://www.blaisepascalmagazine.eu/product/issue-69-70/
Is there any way to force case sensitivity in Delphi (XE, 10, 10.1, 10.2) source code?

And here it is, the podcast video (March 27, 2018):

And here it is, the podcast video (March 27, 2018): https://www.youtube.com/watch?time_continue=1&v=A7qjw27WCPU Thanks to everyone who participated in the live PODCAST yesterday (March 27, 2018)! Bruno Fierens, Holger Flick & Wagner Landgraf https://www.youtube.com/watch?time_continue=1&v=A7qjw27WCPU

Warning: the latest NexusDB release (4.50) does not install in Windows 7 - the installer fails with error 217 and some error boxes ("Cannot load nxSupport.dll", if I remember correctly). So if upgrading to Windows 10 is not an option, one has to continue using previous versions. It is strange that this obvious error ever made it to the release :-(

Warning: the latest NexusDB release (4.50) does not install in Windows 7 - the installer fails with error 217 and some error boxes ("Cannot load nxSupport.dll", if I remember correctly). So if upgrading to Windows 10 is not an option, one has to continue using previous versions. It is strange that this obvious error ever made it to the release :-( Ping Eivind Bakkestuen - when can we expect the fixed release?

I was wondering if you can help me with Delphi on Linux.

I was wondering if you can help me with Delphi on Linux. I've setup two VMs: one with CentOS and another with Delphi. The paserver runs on CentOS and the Connection Profiles and the SDK in Delphi all are good. The Test Connection button works. Then, I create a simple console app with a writeln statement and try to run it on Linux but what I get is the message in the Event Log in Rad and not on Linux. Anyone any idea what is wrong? Thanks

Good ideas, I think...

Good ideas, I think... http://www.codingindelphi.com/blog/four-humble-ideas-for-embarcadero/

This mite help some one.

This mite help some one. A wile ago i posted a question about Notification Area that no body gave me information about. So i came to this https://www.codeproject.com/Questions/467637/NotifyIcon-always-show-icon where - Rokas Gustys - had the same problem as mine. I found this https://hianz.wordpress.com/2012/07/13/modify-windows-7-notification-area/ So here is the source for Delphi 10... using BCHexEditor. I did not change the registry only read it. I tested it in window 7 program Tray_Notification; uses Vcl.Forms, Main in 'Main.pas' {Form1}; {$R *.res} begin Application.Initialize; Application.MainFormOnTaskbar := True; Application.CreateForm(TForm1, Form1); Application.Run; end. unit Main; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Grids, BCHexEditor, BCHexEditorEx, Vcl.ExtCtrls, Vcl.ComCtrls, Vcl.Menus; type TForm1 = class(TFor

CrossVcl 1.03 just released. Bunch of fixes, new features and internal improvements. TBitBtn comes to macOS and Linux. Order now with 20% discount till end of March.

Image
CrossVcl 1.03 just released. Bunch of fixes, new features and internal improvements. TBitBtn comes to macOS and Linux. Order now with 20% discount till end of March. What's new: https://crossvcl.com/history.html CrossVcl Home: https://www.crossvcl.com

Hi.

Hi. I'd like to refactor my desktop VCL application. I want to separate business logic from UI. Best way to do that is use MVC, or MVVM pattern? And which library is the best to do this task in Delphi? DelphiMVCFramework? Or maybe DSharp? Or else?

Slides from sessions at the SDN Event of Friday March 23, 2018, by TMS Software’s Bruno Fierens (Presentation and overview of TMS WEB Core & Getting started with developing TMS Web applications) can be found here:

Slides from sessions at the SDN Event of Friday March 23, 2018, by TMS Software’s Bruno Fierens (Presentation and overview of TMS WEB Core & Getting started with developing TMS Web applications) can be found here: http://www.tmssoftware.net/public/TMSWEBCore_Presentation_SDN.pdf

I'm experiencing some horrible performance with FireDAC in master/detail setup.

I'm experiencing some horrible performance with FireDAC in master/detail setup. I got a fairly plain master/detail setup with schema adapter, and appending rows seems to be O(n^2) with respect to rows, which means it bogs down quickly. I've narrowed it down to TFDDatSView.HandleNotification being called excessively often, but not sure if this is expected ( ie FireDAC is useless in non-trivial master/detail setups ), or I am doing something stupid and/or wrong (which I hope). edit: fortunately it turns out it's the latter! Attached a project which reproduces it in Delphi 10.1.2. After hitting "Run" button the window caption shows the time taken per append, which in my case grows quickly. https://www.dropbox.com/s/uxmzptipulodkl7/FireDACMasterDetailPerformance2.zip?dl=0

Hi

Hi, Has anyone stumbled upon any good article with best practices for structuring the Firemonkey Mobile application? Google is dead silent about that matter, but I hope there are some real world production ready applications written with Delphi FMX.. I am particularly interested in the following topics: - What building blocks for views to choose for each screen (frames vs forms)? - How to implement navigation between screens? - Design components in design time or perform it in runtime?

stay tuned!! TODAY @ 7pm

Image
stay tuned!! TODAY @ 7pm LIVE! with TMS Software’s Bruno Fierens, Holger Flick & Wagner Landgraf http://delphi.org/2018/03/live-with-tms-softwares-bruno-fierens-holger-flick/

Title

Originally shared by Embarcadero Technologies
Originally shared by Embarcadero Technologies

Title

Image
LIVE! with TMS Software’s Bruno Fierens, Holger Flick & Wagner Landgraf March 27, 2018 @7pm http://delphi.org/2018/03/live-with-tms-softwares-bruno-fierens-holger-flick/

Hi

Hi, It's been 3 years since I've reported this bug: https://quality.embarcadero.com/browse/RSP-11267 It was closed as Fixed (with no meaningful comments) but the issue still exists in Tokyo 10.2.3. Please vote for it to re-open it because this bug makes PPL useless. Marco Cantù can you please help? https://quality.embarcadero.com/browse/RSP-11267

Hi everyone

Hi everyone I'm in the middle of trying to incorporate the Facebook Audience Network and Facebook Adaptor frameworks into my iOS Firemonkey app (to allow the AdMob banner I'm using to be able to use that as an ad provider). I've done the usual "faking" to pull in the .a file that I extracted from the framework bundles: function LibFBAdapter: Pointer; cdecl; external 'FacebookAdapter.a' name 'OBJC_CLASS_$_GADFBBannerAd'; function LibFBAN: Pointer; cdecl; external 'FBAudienceNetwork.a' name 'OBJC_CLASS_$_FBAdQualityRule'; It's pulling the .a file in when linking, but I'm getting an error about missing libraries (copied below). These seem like it's missing a C++ library (mutex.unlock is mentioned) or maybe its something else, but I wonder if anyone on here might be able to offer a suggestion as to what I may be missing? Do I need to add the framework to the "Options passed to LD Linker" too? Error: "__ZNS

Delphi 10.2.3 Third Party Components

Delphi 10.2.3 Third Party Components In the past it would take a week, two at the most for DevExpress to bring out the latest library for the latest Delphi incarnation. Then Digital Metaphors ( Report Builder ) might be a week or so after that. We pay mega bucks for both of these libraries ! It appears both of them still have no offerings for Delphi 10.2.3. Not only that but no announcements as to when we might expect them. This is what we pay tons of money for eh ! Maybe a post on G+ might shame them ! Has anyone tried the latest versions from DevExpress and Digital Metaphors? Do they work with 10.2.3?

FYI

FYI Zeos 7.2.4 database comps (stable, open source) just released! https://sourceforge.net/projects/zeoslib/ https://sourceforge.net/projects/zeoslib/

We just updated, improved 2 existing FM Styles and added tinted (colorized) buttons + new tool button with gear icon for all platforms:

Image
We just updated, improved 2 existing FM Styles and added tinted (colorized) buttons + new tool button with gear icon for all platforms: - "Material Pattens Blue" https://www.delphistyles.com/fmx/MaterialPattensBlue.html - "Calypso": https://www.delphistyles.com/fmx/Calypso.html We'll update all existing FM styles gradually and add these new objects!

Does anybody of the mobile developers know if this will cause probelms for Delphis support for Android P?

Does anybody of the mobile developers know if this will cause probelms for Delphis support for Android P? https://developer.android.com/preview/restrictions-non-sdk-interfaces.html https://developer.android.com/preview/restrictions-non-sdk-interfaces.html

Hello

Hello, I've finally release a new demo for the AlignWeigth property of my TGraphicPanel https://quality.embarcadero.com/browse/RSP-20201 https://github.com/tothpaul/Delphi/tree/master/GraphicPanels/Demo1 https://github.com/tothpaul/Delphi/tree/master/GraphicPanels/Demo1

Hi i am trying to send mail using indi Component

Image
Hi i am trying to send mail using indi Component but i am getting error saying that Could not Load SSL Library i have download libeay32.dll ssleay32.dll and copy to the same folder where is the exe. but still keep giving me the same error can someone help me. thaks please check the attach image

Fellow Delphi Developers!

Image
Fellow Delphi Developers! StyleControls VCL 3.94 just released. http://www.almdev.com In new version we added improvements to our page / tab controls. We have different solutions (themed and GDI+ controls), which help you to create modern UI with pages.

I've just downloaded the starter edition of Delphi 10.

I've just downloaded the starter edition of Delphi 10.2.3 and I'm looking for recommended books on Delphi. Is "Delphi in a Nutshell" by Ray Lischner still relevant? It was published in 2000, so I'm wondering if it's too out-of-date to be useful. And where can I find the eBook edition of "Object Pascal Handbook" by Marco Cantù? It's supposed to be available for free, but when I click on the download button, I get "Not authorized" (even though I'm logged into the Embarcadero forum). Any other recommendations, besides the books published by Packt? (I'm not a big fan of their books, I think they're very poorly edited.) Thanks.

I've just downloaded the starter edition of Delphi 10.2.3 and I'm looking for recommended books on Delphi. Is "Delphi in a Nutshell" by Ray Lischner still relevant? It was published in 2000, so I'm wondering if it's too out-of-date to be useful. And where can I find the eBook edition of "Object Pascal Handbook" by Marco Cantù? It's supposed to be available for free, but when I click on the download button, I get "Not authorized" (even though I'm logged into the Embarcadero forum). Any other recommendations, besides the books published by Packt? (I'm not a big fan of their books, I think they're very poorly edited.)

I've just downloaded the starter edition of Delphi 10.2.3 and I'm looking for recommended books on Delphi. Is "Delphi in a Nutshell" by Ray Lischner still relevant? It was published in 2000, so I'm wondering if it's too out-of-date to be useful. And where can I find the eBook edition of "Object Pascal Handbook" by Marco Cantù? It's supposed to be available for free, but when I click on the download button, I get "Not authorized" (even though I'm logged into the Embarcadero forum). Any other recommendations, besides the books published by Packt? (I'm not a big fan of their books, I think they're very poorly edited.) Thanks.

Is there a libeay64.dll and ssleay64.dll? When I compile my program in 32 bits on my machine , it works fine. We use an indy TidHTTP component and IdSSLIOHandlerSocket component. However, when I compile in 64 bits, it says it can't load SSL library. What's even weirder is that another teammate can compile in 64bits, and it doesn't give an error.

Is there a libeay64.dll and ssleay64.dll? When I compile my program in 32 bits on my machine , it works fine. We use an indy TidHTTP component and IdSSLIOHandlerSocket component. However, when I compile in 64 bits, it says it can't load SSL library. What's even weirder is that another teammate can compile in 64bits, and it doesn't give an error. We have libeay32.dll and ssleay32.dll in our directory.

I saw this article on the most recent ACM A.M. Turing Award and noticed this at the bottom of the first paragraph:

I saw this article on the most recent ACM A.M. Turing Award and noticed this at the bottom of the first paragraph: "Today, 99% of the more than 16 billion microprocessors produced annually are RISC processors, and are found in nearly all smartphones, tablets, and the billions of embedded devices that comprise the Internet of Things (IoT)." There was a thread recently that I wasn't able to locate where the topic of support for RPi devices came up. Something about how RPi's aren't Intel CPUs. Well, neither are iPhones or Android phones. It's nice that Delphi finally targets Linux platforms, although its support is hardly generic and not too useful for IoT-scale devices. (Do I need to mention that most RPi devices sold today have a footprint that's on par with what most Linux servers offered 15 years ago? I had a small mini-ITX based server box that had a 600MHz x86 clone CPU with 256MB of RAM and a 20GB HDD, and I used it for nearly 8 years. It was plugged i

Originally shared by Thomas Mueller (dummzeuch)

Originally shared by Thomas Mueller (dummzeuch) A colleague of mine asked me today, how this could be: Given this exception handler: [delphi] try // some code that calls methods except on e: Exception do LogError(e.Message); end; [/delphi] How could e be nil? (and e.Message result in an Access… http://blog.dummzeuch.de/2018/03/23/when-an-exception-is-nil-in-the-exception-handler/

Hi

Hi Can you some one help for following i am using Quick Report 6 Berlin 10.1 What i need generate report and send via e mail option to be saved or send mail can you help me with code. thanks

Interesting, I've recently seen some trends in this direction: https://blogs.remobjects.com/2018/03/22/delphi-visual-library-on-webassembly-platform/

Interesting, I've recently seen some trends in this direction: https://blogs.remobjects.com/2018/03/22/delphi-visual-library-on-webassembly-platform/ https://blogs.remobjects.com/2018/03/22/delphi-visual-library-on-webassembly-platform/

Question about TDictionary in DX10.2:

Question about TDictionary in DX10.2: I have a TDictionary< integer, string >. So if I've got a string value 's', how do I do a reverse lookup to find the integer key associated with this value? The only thing I've found that works is to explicitly loop over the list and look for an item with a matching Value. But I'd think there would be built-in function to do that.

Does seem that way unfortunately.

Image
Does seem that way unfortunately.

In this line:

In this line: for i := 0 to High(FerUsa.FOchiuri) do I have this warning: [dcc32 Warning] DefOchiuri.pas(20680): W1037 FOR-Loop variable 'i' may be undefined after loop What can I understand from this?

Next kbmMW Features blog post.

Next kbmMW Features blog post. http://c4d.asuscomm.com/wordpress/2018/03/22/kbmmw-features-2-remote-desktop/

Hi

Hi I'm looking any example of Google Arcore with Delphi. Arcore is a Google’s augmented reality SDK for Android. https://www.blog.google/products/google-vr/announcing-arcore-10-and-new-updates-google-lens https://storage.googleapis.com/gweb-uniblog-publish-prod/images/logo_ARCore_lockup_Horizontal.max-1000x1000.png

So am working on a particular .NET project and came across NewtonSoft JSON.NET Serializer, it allows you serialize Collections such as a generic list and dictionary of objects to JSON in one simple line.

So am working on a particular .NET project and came across NewtonSoft JSON.NET Serializer, it allows you serialize Collections such as a generic list and dictionary of objects to JSON in one simple line. Also allows deserialization, does anyone know if such library exists for Delphi?? http://JSON.NET

I am working on a small project for a community archive and am looking for some components to handle scanning of images and importing images directly from a camera. Can anyone recommend any good TWAIN components? I used to use the ones from MCM Design, but they seem to be no longer supported. Freeware components would be great (I am trying to keep the cost as low as possible for the project) but commercial components would be considered.

I am working on a small project for a community archive and am looking for some components to handle scanning of images and importing images directly from a camera. Can anyone recommend any good TWAIN components? I used to use the ones from MCM Design, but they seem to be no longer supported. Freeware components would be great (I am trying to keep the cost as low as possible for the project) but commercial components would be considered. It would be nice if the components support features such as cropping and de-speckling images etc, but not essential. Any suggestions most welcome.

I noticed the other day on StackOverflow somebody mentioned that if you need to use Break in For loop, to use While instead of For.

I noticed the other day on StackOverflow somebody mentioned that if you need to use Break in For loop, to use While instead of For. I use a lot of For loops with Break, so today I tried to use While instead of For and it doesn't really make sense to me. For example: I have simple array of records that are organized as header (level = 0), detail (level = 1): TRec = record Level: integer;// header, detail Processed: boolean; end; DataArray: TArray ; // array with multiple header, details records and if I need to process all details of a specific header I do it like this: ProcessDetails(DataArray, 10); // Example of processing details of Header at index 10 in DataArray.. // method with For loop procedure ProcessDetails(var aArray: TArray ; aHeaderIndex: integer); var i: integer; begin // Process all details of selected Header // details are listed after Header for i := aHeaderIndex + 1 to High(aArray) do begin if aArray[i].Level = 0 then Break; // End on next Hea

Since today I get the following error message in Delphi 10.

Since today I get the following error message in Delphi 10.2.3 Tokyo: "can't load package ...\ibmonitor250.bpl". %1 is not a valid Win32 application. Do you want to attempt to load this package the next time a project is loaded? Any idea what might cause this?

Since today I get the following error message in Delphi 10.2.3 Tokyo: "can't load package ...\ibmonitor250.bpl". %1 is not a valid Win32 application. Do you want to attempt to load this package the next time a project is loaded?

Since today I get the following error message in Delphi 10.2.3 Tokyo: "can't load package ...\ibmonitor250.bpl". %1 is not a valid Win32 application. Do you want to attempt to load this package the next time a project is loaded? Any idea what might cause this?

The SilverPoint MultiInstaller (http://www.silverpointdevelopment.com/multiinstaller/index.htm) on steroids. GitHub project: https://github.com/pyscripter/MultiInstaller. Can install multiple Delphi packages directly from git repositories, zip files or existing sources in one-step. May come handy...

The SilverPoint MultiInstaller ( http://www.silverpointdevelopment.com/multiinstaller/index.htm ) on steroids. GitHub project: https://github.com/pyscripter/MultiInstaller . Can install multiple Delphi packages directly from git repositories, zip files or existing sources in one-step. May come handy... http://www.silverpointdevelopment.com/multiinstaller/index.htm

Throwback to the past on this one.

Throwback to the past on this one... I have an old application (D5/BDE) that uses some Paradox tables. I have been having issues with stale locks on these tables preventing the application from working due to "Directory is controlled by another NET file" errors. 1) Is there any way to tell what workstations have locks registered in the PDOXUSERS.NET file? I've seen a few tools that supposedly dump these, but none are compatible with newer operating systems. 2) Is there any way to forcibly terminate these connections and free up the files for access? I am working on migrating the data from these old Pdox tables to our newer database, but with the locks, I can't even open them to copy records :( Any help appreciated!

Throwback to the past on this one... I have an old application (D5/BDE) that uses some Paradox tables. I have been having issues with stale locks on these tables preventing the application from working due to "Directory is controlled by another NET file" errors.

Throwback to the past on this one... I have an old application (D5/BDE) that uses some Paradox tables. I have been having issues with stale locks on these tables preventing the application from working due to "Directory is controlled by another NET file" errors. 1) Is there any way to tell what workstations have locks registered in the PDOXUSERS.NET file? I've seen a few tools that supposedly dump these, but none are compatible with newer operating systems. 2) Is there any way to forcibly terminate these connections and free up the files for access? I am working on migrating the data from these old Pdox tables to our newer database, but with the locks, I can't even open them to copy records :( Any help appreciated!

I used to use Widestring in VCL.

I used to use Widestring in VCL. Now that I work more in Firemonkey I used String. I understand that new String=UnicodeString and ld String=AnsiString but I have class interfaces and libraries that use WideString declarations. Is it recomended to use Widestring in Firemonkey or leave declarations as String?

Hello people

Hello people, I have a project group which contain many packages. Most of them have a dependency from the first two of the packages. Compile, build and install all of them - without any problems. But after restart of the IDE... I think that Delphi try to load some of them before the first two bpl`s and the message is: "The program can't start because "myImportantFirst.bpl" is missing from your computer. Try reinstalling the program to fix this problem." Any ideas? Can I set the order of loading of my packages? Best regards!

Here is the most awaited 2nd blog article around the Pascal/Delphi language, brought by Marcos Douglas B. Santos for tmssoftware.com :

Here is the most awaited 2nd blog article around the Pascal/Delphi language, brought by Marcos Douglas B. Santos for tmssoftware.com : Object Pascal: Declaring Units https://www.tmssoftware.com/site/blog.asp?post=447 https://www.tmssoftware.com/site/blog.asp?post=447
I am trying to install Delphi Starter Edition. There is no problem during installation process but I get AV when starting the IDE. What am I doing wrong?

Using the [unsafe] attribute, it is possible to store the interface without reference counting.

Using the [unsafe] attribute, it is possible to store the interface without reference counting. Is there any way for this behavior to be "transferred" to the collection, e.g. List: IList ; something like: List: IList <[unsafe] IBaseInterface>; ?

New release: TMS Component Pack v8.8.6.0

Image
New release: TMS Component Pack v8.8.6.0 400 UI controls for VCL Win32 & Win64 applications, including also support for the new Delphi & C++Builder Tokyo 10.2.3 https://www.tmssoftware.com/site/tmspack.asp

I have a program using SaveState (Android).

I have a program using SaveState (Android). On the first version i had 6 parameters. saving 6 parameter onsavestate. On form show if SaveState.Stream.Size > 0 then begin ..... Read 6 parameters end else begin .... initialize end However now i need to add more parameters here i will have problems. if SaveState.Stream.Size > 0 then begin read 8 or more parameters My only solution is to DELETE the program and reinstall it. BUT I DO NOT WANT TO ASK the users to uninstall SO WHAT IS THE SOLUTION FROM ONE VERSION TO the other when more parameters are added ?

Devexpress TcxGridDBTableView

Devexpress TcxGridDBTableView I feel stupid, but I don't find a solution. Situation: I have a Grid with dynamic created Columns. Now I want to use the inplace Edit. Works.... But I really don't find a way to save and restore the Inplace Edit form layout. I wan't do prepare different Edit Layouts, depending on a state. Any help appreciated

Can you reproduce this on your system? I guess, it was already introduced in 10.2.2, but I am unsure about it:

Can you reproduce this on your system? I guess, it was already introduced in 10.2.2, but I am unsure about it: https://quality.embarcadero.com/browse/RSP-19984 Form designer raises "Property Image does not exist"

Thanks Dalija Prasnikar

Thanks Dalija Prasnikar http://dalijap.blogspot.com/2018/03/dont-mix-objects-and-interfaces.html?spref=gp

Hi

Image
Hi i am getting error when i try to run application on another PC i create MDI Application with UniDAC, its running fine in where i developing , i try to run exe in another pc its giving me error, UniConnection1 all fields are empty as well, if some one advice me what sould be the issue appriciate please refer to the attach image
Title

Dear Developers

Dear Developers, I'm pleased to announce the new version of X-DBGrid Component 6.8 and X-Files Components 6.8! What's new in version 6.8 ? ======================= - New packages rebuilded with using RAD Studio 10.2.3 Tokyo!!! - New public method ClearAutoFilter in TXDBGridFilter class - New published property PanelVisible in TXDBGridSearch class To read more, please visit our website at: http://www.x-files.pl/ You can also look at some screenshots at: http://www.x-files.pl/components/ and download the new Trial version from: http://www.x-files.pl/download/ You can also join to "Delphi X-DBGrid Component Community" at https://plus.google.com/#communities/100842098152269100547 Sincerely, Krzysztof Szyszka, X-Files Software Developer of X-DBGrid Component Embarcadero Technology Partner http://www.x-files.pl/

The Mustangpeak component library developed originally by Jim Kueneman deserves more love. You may want to give it a test drive.

The Mustangpeak component library developed originally by Jim Kueneman deserves more love. You may want to give it a test drive. https://github.com/pyscripter/MustangpeakCommonLib https://github.com/pyscripter/MustangpeakEasyListView https://github.com/pyscripter/MustangpeakVirtualShellTools https://github.com/pyscripter/MustangpeakVirtualShellTools

Hi can you help to write correct Query for Filter 3 Data fields

Hi can you help to write correct Query for Filter 3 Data fields for Example Data1 , Data2 , Data2 txt1 = Data1 txt2= data2 txt3 = data3 ex1: Data1 and Data 3 ex2: Data 3 and Data2 ex3: Data 1, Data 2 Data 3 Qury.Close; Query.Sql.Clear; Qury.Sql.Add (Select * From Table1); If Not (txt1.text = ' ')then Begin Qury.Sql.Add(Format ('Where Data1= ' '%s' ' ',[txt1] )); end; If not (txt3.text = ' ') then Begin Qury.Sql.Add(Format ('and Data3= ' '%s' ' ',[txt1] )); end; lets say txt1 one is blank then how to write correct code ?

I am completely in AWE of Primoz new book "Delphi High Performance". After reading only 4 chapters i have already produced two tickets for two different 3rd party vendors and the bugs are already fixed.

I am completely in AWE of Primoz new book "Delphi High Performance". After reading only 4 chapters i have already produced two tickets for two different 3rd party vendors and the bugs are already fixed. Most literature in lieu leaves me with a "well, i knew that". But this book is really an eye-opener to me. Object Pascal Handbook, by Marcu Cantu, is also much commendable, however a little bit more "encyclopaedial" in it's nature - i might buy it in physical form if available. Many gems in there. Brilliantly pruned between history and today. Just my humble opinion.

In a dual-monitor setup if you place and maximize IDE (10.

In a dual-monitor setup if you place and maximize IDE (10.2.3) on the second monitor and then hit F9, after compilation the IDE is placed on the main monitor. This happens on Windows 10 1709. I just files an RSP. Is there a workaround? https://quality.embarcadero.com/browse/RSP-20157 https://quality.embarcadero.com/browse/RSP-20157

In a dual-monitor setup if you place and maximize IDE (10.2.3) on the second monitor and then hit F9, after compilation the IDE is placed on the main monitor. This happens on Windows 10 1709. I just files an RSP.

In a dual-monitor setup if you place and maximize IDE (10.2.3) on the second monitor and then hit F9, after compilation the IDE is placed on the main monitor. This happens on Windows 10 1709. I just files an RSP. Is there a workaround? https://quality.embarcadero.com/browse/RSP-20157 https://quality.embarcadero.com/browse/RSP-20157

Decided to install the 10.2.3 "upgrade". Really wish I hadn't.

Image
Decided to install the 10.2.3 "upgrade". Really wish I hadn't. This happens after trying to download DirectX. Are there any log files to examine or anything

Works fine in Seattle and Berlin - broken in Tokyo.

Works fine in Seattle and Berlin - broken in Tokyo. https://quality.embarcadero.com/browse/RSP-20150 https://quality.embarcadero.com/browse/RSP-20150

cross-platform audio ...

cross-platform audio ... Suppose I wanted to build a simple audio mixer in Delphi that works on Win, MacOS, iOS, and Android (not Linux since no UI). Is there a generic API or library that supports all platforms for such a use-case, or would I need to create one? In this case, assume there are a few separate tracks or channels, and a bunch of user-selectable audio snippets (MP3 and FLAC) that can be arranged as desired via UI actions per track and time-order, and then mixed-down and played

Hello everyone!

Hello everyone! I added on Youtube a channel for the Delphi community. In the Portuguese language of Brazil. Soon I will demonstrate how to create "whatsapp" with Interbase :) Thanks for listening https://www.youtube.com/channel/UC9OmTvgiUju3hm6NAC5LrSA

Seems I have bad luck installing Delphi updates. I just installed 10.2.3 from the downloaded ISO and it broke my installation. When I now double click on bin\bds.exe I get the Windows error

Image
Seems I have bad luck installing Delphi updates. I just installed 10.2.3 from the downloaded ISO and it broke my installation. When I now double click on bin\bds.exe I get the Windows error "This App can't run on your PC To find a version for your PC, check with the software publisher." The file has a size of 0 bytes. WTF?
Has anyone implemented John Gustafson's Unum numeric format in Delphi? I have C implementation of it from a research paper but was hoping someone may have done this before I take off on it.

Has anybody lately acquired a code signing certificate? I was using one issued by startssl, but they seem to be gone for good (their process was pretty simple).

Has anybody lately acquired a code signing certificate? I was using one issued by startssl, but they seem to be gone for good (their process was pretty simple). I googled around and found ksoftware.net a reasonably priced, but they are just are resellers of COMODO. I checked COMODO requirements to get the code signing certificate: We need to complete the FACE to FACE validation, We need below documents 1.Government issued photo ID [driver's license OR passport] 2.One Financial institution documents [A bank statement or credit card less than six months old] 3.One Non- Financial documents [Gas bill, Water bill, Power bill ] 4.You need to fill out the Face to face form with Notary Signature. 5.You need to get Attested by notary (i.e above 1,2,3,4). Step 1 : Once you submit the Face to Face document, we will verify the Notary's credentials with the respective registration agency. 2. Phone verification Then we will make a Callback process to you from the verified phone number. Opti

hi i have done following code to get data from table to String grid combo box and pass it to colums, but once i select data in first row its ok if i go to second row and select the items from combobox it does not show only shows first item which i select only, please check the attach images and code what i did please

Image
hi i have done following code to get data from table to String grid combo box and pass it to colums, but once i select data in first row its ok if i go to second row and select the items from combobox it does not show only shows first item which i select only, please check the attach images and code what i did please procedure TfQuotation.StringGrid1GetEditorProp(Sender: TObject; ACol, ARow: Integer; AEditLink: TEditLink); begin with stringgrid1 do case acol of 0: begin ClearComboString; Combobox.Items.Add('HARDWARE'); Combobox.Items.Add('SERVICE'); end; end; end; //================================================================ procedure TfQuotation.StringGrid1ComboDropDown(Sender: TObject; ARow, ACol: Integer); begin with stringgrid1 do case acol of 2: begin ClearComboString; if (cells[0, arow] = 'HARDWARE') then begin QItem.Close; QItem.Open; QItem.First; repeat Combobox.Items.Add(QItem.FieldByName('Description').AsString); QItem.Next; until QItem.Eo

TMS RADical Web: CodeRage (video: Portuguese)

Image
TMS RADical Web: CodeRage (video: Portuguese) https://www.youtube.com/watch?v=Gpf145GPfC4&t=23s With Wagner Landgraf

Hello

Hello, I want to take screenshots of my application in a automatic way, it work fine until I need to show a PopupMenu...the popup() method is blocking the code. How can I show a PopupMenu, take a screenshot and close the menu to continue the execution of my automatic code ? Note that the code is in the application, I create forms, set controls properties, take a photo, etc...so I can handle error conditions very easly...but I can't figure how to display a popupmenu.

Blog post "RAD Server Support for Web Files in RAD Studio 10.2.3" at http://blog.marcocantu.com/blog/2018-march-rad-server-files-10.2.3.html

Blog post "RAD Server Support for Web Files in RAD Studio 10.2.3" at http://blog.marcocantu.com/blog/2018-march-rad-server-files-10.2.3.html http://blog.marcocantu.com/blog/2018-march-rad-server-files-10.2.3.html

We are glad to introduce new multiplatform FM Style "Puerto Rico":

Image
We are glad to introduce new multiplatform FM Style "Puerto Rico": https://www.delphistyles.com/fmx/PuertoRico.html This style includes 2 new style objects for all platforms: - "tintedbuttonstyle" (set TButton.StyleLookUpName) New button style with Tint property support. Now you can add tinted (colorized) buttons in your application. - "optionstoolbuttonstyle" (set TSpeedButton.StyleLookUpName) New tool button with gear icon. We'll update all existing styles gradually and add these objects.
is there any way to attach a TMainMenu to a TTabsheet or a TPanel? Is it possible to get the same effect with TMenu's some other way?

Kudos to EMB, re FMX.

Kudos to EMB, re FMX. I had a problem where if there was a lot of labels on a form, then one of them the font colour would get corrupted. If I tried to fix that, then another one would randomly get corrupted (would only show up when running) that is now fixed with the latest update just would say thanks

Kudos to EMB, re FMX. I had a problem where if there was a lot of labels on a form, then one of them the font colour would get corrupted. If I tried to fix that, then another one would randomly get corrupted (would only show up when running)

Kudos to EMB, re FMX. I had a problem where if there was a lot of labels on a form, then one of them the font colour would get corrupted. If I tried to fix that, then another one would randomly get corrupted (would only show up when running) that is now fixed with the latest update just would say thanks

I think we have a bug in the 64-bit debugger in Tokyo (also happens in 10.2.3). Notice in the watch list all the Internal Error: SY7671, and It can't display the values? Not even the tooltips. I know there are values in there, because Codesight can show them.

Image
I think we have a bug in the 64-bit debugger in Tokyo (also happens in 10.2.3). Notice in the watch list all the Internal Error: SY7671, and It can't display the values? Not even the tooltips. I know there are values in there, because Codesight can show them. Now, this works in XE5, so it probably broke after this. I uninstalled Berlin and Seattle, but since we use XE5 I thought it would be wise to keep it on the machine. I guess to debug the code, I'll have to use XE5.

Anybody loading an encrypted SQLite database in memory with FireDac?

Anybody loading an encrypted SQLite database in memory with FireDac? We noticed that if the database is read-only on disk (it's a lookup db, no saving to it), it is noticeably slower.

New behavior for F1

New behavior for F1 Press on F1 give help window with index list and open nearest root page And You must click on first item in index list for show correct page Also must be include namespace for variables defined in another unit Example: Press on ReportMemoryLeaksOnShutdown give help for System.boolean but press on System.ReportMemoryLeaksOnShutdown or press on ReportMemoryLeaksOnShutdown inside System unit give help for System.ReportMemoryLeaksOnShutdown but must click in help index window on item System.ReportMemoryLeaksOnShutdown

(OT) RAD Python Development Environment

(OT) RAD Python Development Environment My first language is definitely pascal / Delphi, but over the last couple of years I've done quite a bit of data analysis using Python. It's truly amazing for data analysis, and as a language I love the readability and focus on simplicity. It's also now number one on Stackoverflow for questions ( https://goo.gl/YHPko9 ). The biggest drawback when developing in Python is the lack of RAD type tools. It's a real pain to develop a GUI using Python (it can be done - just not easily). This is probably due to Python strong focus on being cross-platform. So here's my questions... Has Embarcadero considered leveraging the Firemonkey technology to create a RAD cross-platform Python development tool? Even though Python is free, I think a RAD Python environment would be extremely popular. Any thoughts Marco Cantu Steve

Anybody experiencing high CPU usage even when the IDE is in IDLE (10.2.2 - opened project) or it's just me?

Image
Anybody experiencing high CPU usage even when the IDE is in IDLE (10.2.2 - opened project) or it's just me?

Optimal Synchronous Concurrency

Image
Optimal Synchronous Concurrency What are the odds that two books from the same author, ordered from different sites, on different dates - both arrive at my door within 30 seconds, with two different methods of delivery? My son picked up the Delphi High Performance book from Packt.com in our mailbox, walked in to my office and dropped it off, and seconds later - there is a UPS delivery guy ringing my doorbell, carrying the OTL book from Lulu.com:) Looking forward to delving in deep, now. #synchronicity

Can anyone explain why strings are converted to uppercase when the hashcode is calculated?

Can anyone explain why strings are converted to uppercase when the hashcode is calculated? function TStringHelper.GetHashCode: Integer; var LResult: UInt32; I: Integer; Temp: string; begin Temp := Self.ToUpper; // ????? LResult := 0; for I := 0 to Temp.Length - 1 do begin LResult := (LResult shl 5) or (LResult shr 27); //ROL Result, 5 LResult := LResult xor UInt32(Temp[I]); end; Result := LResult; end;

I'm trying to learn the proper way to implement a constantly running thread for an FTP Client application.

I'm trying to learn the proper way to implement a constantly running thread for an FTP Client application. I need run an Indy FTP client control (TIdFTP) in a thread. Being that the FTP control maintains a connection (login) to the server, the thread would need to be constantly running and execute "commands" (Dir list, Change dir, upload, etc). Do I simply create a system of looping in the Execute procedure and watch a property I create to know when to do things? I looked into TIdThreadComponent, but could not find any documentation. I've done a bunch of searching, but the terms are so generic that I wasn't able to find the answer. This is XE8, Firemonkey. Targets are Windows and OSX.

I'm trying to learn the proper way to implement a constantly running thread for an FTP Client application. I need run an Indy FTP client control (TIdFTP) in a thread. Being that the FTP control maintains a connection (login) to the server, the thread would need to be constantly running and execute "commands" (Dir list, Change dir, upload, etc). Do I simply create a system of looping in the Execute procedure and watch a property I create to know when to do things? I looked into TIdThreadComponent, but could not find any documentation.

I'm trying to learn the proper way to implement a constantly running thread for an FTP Client application. I need run an Indy FTP client control (TIdFTP) in a thread. Being that the FTP control maintains a connection (login) to the server, the thread would need to be constantly running and execute "commands" (Dir list, Change dir, upload, etc). Do I simply create a system of looping in the Execute procedure and watch a property I create to know when to do things? I looked into TIdThreadComponent, but could not find any documentation. I've done a bunch of searching, but the terms are so generic that I wasn't able to find the answer. This is XE8, Firemonkey. Targets are Windows and OSX.