{"id":140,"date":"2015-08-07T23:21:09","date_gmt":"2015-08-07T23:21:09","guid":{"rendered":"http:\/\/www.baronsoftware.com\/Blog\/?p=140"},"modified":"2015-08-07T23:21:09","modified_gmt":"2015-08-07T23:21:09","slug":"stopping-a-delphi-application-from-having-too-many-instances","status":"publish","type":"post","link":"https:\/\/www.baronsoftware.com\/Blog\/stopping-a-delphi-application-from-having-too-many-instances\/","title":{"rendered":"Stopping a Delphi application from having too many instances."},"content":{"rendered":"<p>Every single developer wishes to have their client start up only a single instance of their application. \u00a0 This reduces the amount of possible application issues if the code makes a database connection or does some sort of processing that takes away the machine resources. \u00a0 The following code snippet will help Delphi programmers to keep the process count down to a single instance. \u00a0This was coded using Rad Studio XE8 Delphi and is used in many of my applications.<\/p>\n<p>The code will be embedded in the project&#8217;s source because it has to occur prior to the application creating the main form.<\/p>\n<p><strong>Click on the menu Project \/ View Source or using the project manager, you can right click and upon getting the pop-up, you can select view source as well.<\/strong><\/p>\n<p><strong>You will need for the most part the following uses prior to the forms you will be setting up in the project source file.<\/strong><\/p>\n<p><code><br \/>\nuses<br \/>\nForms,<br \/>\nWindows,<br \/>\nDialogs,<br \/>\nTlHelp32,<br \/>\nSysUtils,<br \/>\nSystem.UITypes, ..<br \/>\n<\/code><\/p>\n<p><strong>The function CheckProcessCount will accept the application executable name so that it can locate the process (only if it is active ). Upon locating it the result will be set to one, otherwise a zero is returned<\/strong>.<\/p>\n<p style=\"padding-left: 30px;\"><code><br \/>\nfunction CheckProcessCount(const ExeName: String): Integer;<br \/>\nvar<br \/>\nNextProcessLoop: BOOL;<br \/>\nFHandle: THandle;<br \/>\nFProcessEntry32: TProcessEntry32;<br \/>\nbegin<br \/>\nFHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);<br \/>\nFProcessEntry32.dwSize := SizeOf(FProcessEntry32);<br \/>\nNextProcessLoop := Process32First(FHandle, FProcessEntry32);<br \/>\nResult := 0;<\/code><\/p>\n<p style=\"padding-left: 30px;\"><code><br \/>\nwhile Integer(NextProcessLoop) &lt;&gt; 0 do<br \/>\nbegin<br \/>\nif ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =\u00a0UpperCase(ExeName)) or<br \/>\n(UpperCase(FProcessEntry32.szExeFile) =UpperCase(ExeName))) then Inc(Result);<br \/>\nNextProcessLoop := Process32Next(FHandle, FProcessEntry32);<br \/>\nend;<br \/>\nCloseHandle(FHandle);<br \/>\nend;<br \/>\n<\/code><\/p>\n<p><strong>The application executable name is sent to the processcount and will return either a 0 (not found) or a 1 (found).<\/strong><br \/>\n<strong> If the application is already running, an informational message is given to the user and then the application handle is acquired and the window is brought to the front.<\/strong><br \/>\n<strong> If the application is not running then the application will initialize and start running.<\/strong><\/p>\n<p style=\"text-align: left;\"><code>{$R *.RES}<br \/>\nVar<br \/>\nHandle : hwnd;<\/code><\/p>\n<p style=\"text-align: left;\">begin<\/p>\n<p style=\"text-align: left; padding-left: 90px;\">if CheckProcessCount(ExtractFileName(Application.ExeName)) &gt; 1 then<br \/>\nbegin<br \/>\nMessageDlg(&#8216;Manage-It! Adminstration Application is already running!&#8217;, mtInformation, [mbOk], 0, mbOk);<br \/>\nHandle := FindWindow(nil, &#8216;Manage-It! Help Desk Suite Administrator&#8217;);<br \/>\nif Handle &gt; 0 then<br \/>\nbegin<br \/>\nSetForegroundWindow(Handle);<br \/>\nend;<br \/>\nend<br \/>\nelse<br \/>\nbegin<br \/>\nApplication.Title := &#8216;Manage-It! Administrator&#8217;;<br \/>\nApplication.CreateForm(TAdminForm, AdminForm);<br \/>\nApplication.Run;<br \/>\nend;<br \/>\nend.<\/p>\n<p><strong>This sample code has been compiled using Rad Studio XE8 Delphi and it does work under Windows 7 Professional. \u00a0 It is a Windows 32 bit application so please be aware of that.<\/strong><\/p>\n<p><strong>Pretty simple but yet effective.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Every single developer wishes to have their client start up only a single instance of their application. \u00a0 This reduces the amount of possible application issues if the code makes a database connection or does some sort of processing that takes away the machine resources. \u00a0 The following code snippet will help Delphi programmers to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rop_custom_images_group":[],"rop_custom_messages_group":[],"rop_publish_now":"initial","rop_publish_now_accounts":[],"rop_publish_now_history":[],"rop_publish_now_status":"pending","_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[5],"tags":[20,13,8,15,9,24,27,26],"class_list":["post-140","post","type-post","status-publish","format-standard","hentry","category-rad-studio-embarcadero-delphi-development","tag-delphi","tag-embarcadero","tag-lazarus","tag-microsoft","tag-pascal","tag-windows-10","tag-windows-7","tag-windows-8"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Stopping a Delphi application from having too many instances.<\/title>\n<meta name=\"description\" content=\"Every single developer wishes to have their client start up only a single instance of their application. This reduces the amount of possible application issues if the code makes a database connection or does some sort of processing that takes away the machine resources.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.baronsoftware.com\/Blog\/stopping-a-delphi-application-from-having-too-many-instances\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Stopping a Delphi application from having too many instances.\" \/>\n<meta property=\"og:description\" content=\"Every single developer wishes to have their client start up only a single instance of their application. This reduces the amount of possible application issues if the code makes a database connection or does some sort of processing that takes away the machine resources.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.baronsoftware.com\/Blog\/stopping-a-delphi-application-from-having-too-many-instances\/\" \/>\n<meta property=\"og:site_name\" content=\"Baron Software\" \/>\n<meta property=\"article:published_time\" content=\"2015-08-07T23:21:09+00:00\" \/>\n<meta name=\"author\" content=\"richard@baronsoftware.com\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Rbaroniunas\" \/>\n<meta name=\"twitter:site\" content=\"@Rbaroniunas\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"richard@baronsoftware.com\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.baronsoftware.com\\\/Blog\\\/stopping-a-delphi-application-from-having-too-many-instances\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.baronsoftware.com\\\/Blog\\\/stopping-a-delphi-application-from-having-too-many-instances\\\/\"},\"author\":{\"name\":\"richard@baronsoftware.com\",\"@id\":\"https:\\\/\\\/www.baronsoftware.com\\\/Blog\\\/#\\\/schema\\\/person\\\/079d370e4230be9d5f75885bb33dd8cd\"},\"headline\":\"Stopping a Delphi application from having too many instances.\",\"datePublished\":\"2015-08-07T23:21:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.baronsoftware.com\\\/Blog\\\/stopping-a-delphi-application-from-having-too-many-instances\\\/\"},\"wordCount\":345,\"publisher\":{\"@id\":\"https:\\\/\\\/www.baronsoftware.com\\\/Blog\\\/#organization\"},\"keywords\":[\"Delphi\",\"Embarcadero\",\"Lazarus\",\"Microsoft\",\"Pascal\",\"Windows 10\",\"Windows 7\",\"Windows 8\"],\"articleSection\":[\"Rad Studio Delphi Development\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.baronsoftware.com\\\/Blog\\\/stopping-a-delphi-application-from-having-too-many-instances\\\/\",\"url\":\"https:\\\/\\\/www.baronsoftware.com\\\/Blog\\\/stopping-a-delphi-application-from-having-too-many-instances\\\/\",\"name\":\"Stopping a Delphi application from having too many instances.\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.baronsoftware.com\\\/Blog\\\/#website\"},\"datePublished\":\"2015-08-07T23:21:09+00:00\",\"description\":\"Every single developer wishes to have their client start up only a single instance of their application. This reduces the amount of possible application issues if the code makes a database connection or does some sort of processing that takes away the machine resources.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.baronsoftware.com\\\/Blog\\\/stopping-a-delphi-application-from-having-too-many-instances\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.baronsoftware.com\\\/Blog\\\/stopping-a-delphi-application-from-having-too-many-instances\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.baronsoftware.com\\\/Blog\\\/stopping-a-delphi-application-from-having-too-many-instances\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.baronsoftware.com\\\/Blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Stopping a Delphi application from having too many instances.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.baronsoftware.com\\\/Blog\\\/#website\",\"url\":\"https:\\\/\\\/www.baronsoftware.com\\\/Blog\\\/\",\"name\":\"Baron Software\",\"description\":\"Highest Quality Software Developed.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.baronsoftware.com\\\/Blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.baronsoftware.com\\\/Blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.baronsoftware.com\\\/Blog\\\/#organization\",\"name\":\"Baron Software\",\"url\":\"https:\\\/\\\/www.baronsoftware.com\\\/Blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.baronsoftware.com\\\/Blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/i2.wp.com\\\/www.baronsoftware.com\\\/Blog\\\/wp-content\\\/uploads\\\/2018\\\/01\\\/BaronSoftwareLogo.fw_.png?fit=1920%2C400&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i2.wp.com\\\/www.baronsoftware.com\\\/Blog\\\/wp-content\\\/uploads\\\/2018\\\/01\\\/BaronSoftwareLogo.fw_.png?fit=1920%2C400&ssl=1\",\"width\":1920,\"height\":400,\"caption\":\"Baron Software\"},\"image\":{\"@id\":\"https:\\\/\\\/www.baronsoftware.com\\\/Blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/Rbaroniunas\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.baronsoftware.com\\\/Blog\\\/#\\\/schema\\\/person\\\/079d370e4230be9d5f75885bb33dd8cd\",\"name\":\"richard@baronsoftware.com\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e5a3cc457a883c420e8af899f2639359d220ae6bfed4587ca7ed17f45ca0c21c?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e5a3cc457a883c420e8af899f2639359d220ae6bfed4587ca7ed17f45ca0c21c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e5a3cc457a883c420e8af899f2639359d220ae6bfed4587ca7ed17f45ca0c21c?s=96&d=mm&r=g\",\"caption\":\"richard@baronsoftware.com\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Stopping a Delphi application from having too many instances.","description":"Every single developer wishes to have their client start up only a single instance of their application. This reduces the amount of possible application issues if the code makes a database connection or does some sort of processing that takes away the machine resources.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.baronsoftware.com\/Blog\/stopping-a-delphi-application-from-having-too-many-instances\/","og_locale":"en_US","og_type":"article","og_title":"Stopping a Delphi application from having too many instances.","og_description":"Every single developer wishes to have their client start up only a single instance of their application. This reduces the amount of possible application issues if the code makes a database connection or does some sort of processing that takes away the machine resources.","og_url":"https:\/\/www.baronsoftware.com\/Blog\/stopping-a-delphi-application-from-having-too-many-instances\/","og_site_name":"Baron Software","article_published_time":"2015-08-07T23:21:09+00:00","author":"richard@baronsoftware.com","twitter_card":"summary_large_image","twitter_creator":"@Rbaroniunas","twitter_site":"@Rbaroniunas","twitter_misc":{"Written by":"richard@baronsoftware.com","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.baronsoftware.com\/Blog\/stopping-a-delphi-application-from-having-too-many-instances\/#article","isPartOf":{"@id":"https:\/\/www.baronsoftware.com\/Blog\/stopping-a-delphi-application-from-having-too-many-instances\/"},"author":{"name":"richard@baronsoftware.com","@id":"https:\/\/www.baronsoftware.com\/Blog\/#\/schema\/person\/079d370e4230be9d5f75885bb33dd8cd"},"headline":"Stopping a Delphi application from having too many instances.","datePublished":"2015-08-07T23:21:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.baronsoftware.com\/Blog\/stopping-a-delphi-application-from-having-too-many-instances\/"},"wordCount":345,"publisher":{"@id":"https:\/\/www.baronsoftware.com\/Blog\/#organization"},"keywords":["Delphi","Embarcadero","Lazarus","Microsoft","Pascal","Windows 10","Windows 7","Windows 8"],"articleSection":["Rad Studio Delphi Development"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.baronsoftware.com\/Blog\/stopping-a-delphi-application-from-having-too-many-instances\/","url":"https:\/\/www.baronsoftware.com\/Blog\/stopping-a-delphi-application-from-having-too-many-instances\/","name":"Stopping a Delphi application from having too many instances.","isPartOf":{"@id":"https:\/\/www.baronsoftware.com\/Blog\/#website"},"datePublished":"2015-08-07T23:21:09+00:00","description":"Every single developer wishes to have their client start up only a single instance of their application. This reduces the amount of possible application issues if the code makes a database connection or does some sort of processing that takes away the machine resources.","breadcrumb":{"@id":"https:\/\/www.baronsoftware.com\/Blog\/stopping-a-delphi-application-from-having-too-many-instances\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.baronsoftware.com\/Blog\/stopping-a-delphi-application-from-having-too-many-instances\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.baronsoftware.com\/Blog\/stopping-a-delphi-application-from-having-too-many-instances\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.baronsoftware.com\/Blog\/"},{"@type":"ListItem","position":2,"name":"Stopping a Delphi application from having too many instances."}]},{"@type":"WebSite","@id":"https:\/\/www.baronsoftware.com\/Blog\/#website","url":"https:\/\/www.baronsoftware.com\/Blog\/","name":"Baron Software","description":"Highest Quality Software Developed.","publisher":{"@id":"https:\/\/www.baronsoftware.com\/Blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.baronsoftware.com\/Blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.baronsoftware.com\/Blog\/#organization","name":"Baron Software","url":"https:\/\/www.baronsoftware.com\/Blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.baronsoftware.com\/Blog\/#\/schema\/logo\/image\/","url":"https:\/\/i2.wp.com\/www.baronsoftware.com\/Blog\/wp-content\/uploads\/2018\/01\/BaronSoftwareLogo.fw_.png?fit=1920%2C400&ssl=1","contentUrl":"https:\/\/i2.wp.com\/www.baronsoftware.com\/Blog\/wp-content\/uploads\/2018\/01\/BaronSoftwareLogo.fw_.png?fit=1920%2C400&ssl=1","width":1920,"height":400,"caption":"Baron Software"},"image":{"@id":"https:\/\/www.baronsoftware.com\/Blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/Rbaroniunas"]},{"@type":"Person","@id":"https:\/\/www.baronsoftware.com\/Blog\/#\/schema\/person\/079d370e4230be9d5f75885bb33dd8cd","name":"richard@baronsoftware.com","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/e5a3cc457a883c420e8af899f2639359d220ae6bfed4587ca7ed17f45ca0c21c?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/e5a3cc457a883c420e8af899f2639359d220ae6bfed4587ca7ed17f45ca0c21c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e5a3cc457a883c420e8af899f2639359d220ae6bfed4587ca7ed17f45ca0c21c?s=96&d=mm&r=g","caption":"richard@baronsoftware.com"}}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2e6qU-2g","jetpack-related-posts":[{"id":438,"url":"https:\/\/www.baronsoftware.com\/Blog\/happy-birthday-delphi-22-years-counting\/","url_meta":{"origin":140,"position":0},"title":"Happy Birthday to Delphi at 22 years and counting","author":"richard@baronsoftware.com","date":"February 14, 2017","format":false,"excerpt":"Happy Birthday to Delphi at 22 years and counting Well with the next release, \"Godzilla - Tokyo\" currently in beta testing and getting prepared to support Linux servers, there is no better way then to shout out a happy birthday to Delphi. Delphi History Delphi was originally developed by Borland\u2026","rel":"","context":"In &quot;Rad Studio Delphi Development&quot;","block_context":{"text":"Rad Studio Delphi Development","link":"https:\/\/www.baronsoftware.com\/Blog\/category\/rad-studio-embarcadero-delphi-development\/"},"img":{"alt_text":"Delphi for Linux","src":"https:\/\/i0.wp.com\/www.baronsoftware.com\/Blog\/wp-content\/uploads\/2016\/12\/LinuxIsComing-300x300.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":983,"url":"https:\/\/www.baronsoftware.com\/Blog\/how-to-restart-a-vcl-delphi-application-while-using-a-mutex\/","url_meta":{"origin":140,"position":1},"title":"How to restart a VCL Delphi application while using a Mutex","author":"richard@baronsoftware.com","date":"January 5, 2020","format":false,"excerpt":"How to restart a VCL Delphi application while using a Mutex. This article puts all of the research in one single page. Using a mutex prevents multiple application instances from occurring. You may wonder why would you wish to restart an application. It doesn't mean there was a software defect\u2026","rel":"","context":"In &quot;Rad Studio Delphi Development&quot;","block_context":{"text":"Rad Studio Delphi Development","link":"https:\/\/www.baronsoftware.com\/Blog\/category\/rad-studio-embarcadero-delphi-development\/"},"img":{"alt_text":"Baron Software","src":"https:\/\/i0.wp.com\/www.baronsoftware.com\/Blog\/wp-content\/uploads\/2019\/08\/BaronSoftwareLogo_2020.fw_.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":477,"url":"https:\/\/www.baronsoftware.com\/Blog\/2017-rad-studio-c-builder-delphi-developers-survey\/","url_meta":{"origin":140,"position":2},"title":"2017 Rad Studio (C++ Builder and Delphi) Developers Survey","author":"richard@baronsoftware.com","date":"July 29, 2017","format":false,"excerpt":"2017 Rad Studio Developers Survey The 2017 Embarcadero survey provides the latest information about the programming language Delphi.\u00a0 The survey can be reviewed from Marco Cantu's web site Apparently all versions are still in use since the original design was built as a 32 bit compiler. \u00a0So in theory a\u2026","rel":"","context":"In &quot;Rad Studio Delphi Development&quot;","block_context":{"text":"Rad Studio Delphi Development","link":"https:\/\/www.baronsoftware.com\/Blog\/category\/rad-studio-embarcadero-delphi-development\/"},"img":{"alt_text":"Survey","src":"https:\/\/i0.wp.com\/www.baronsoftware.com\/Blog\/wp-content\/uploads\/2017\/07\/2017survey_01-300x115.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":342,"url":"https:\/\/www.baronsoftware.com\/Blog\/look-ahead-embarcadero-delphi\/","url_meta":{"origin":140,"position":3},"title":"Look ahead with Embarcadero and Delphi","author":"richard@baronsoftware.com","date":"October 14, 2016","format":false,"excerpt":"Look ahead with Embarcadero and Delphi Embarcadero is hosting a webinar for customers that are on update subscriptions only concerning the next update as well as the anticipated release of\u00a0Godzilla which will contain the\u00a0ability to build Linux server applications with a single code base. \u00a0 Finally Embarcadero is heading in\u2026","rel":"","context":"In &quot;Software Events&quot;","block_context":{"text":"Software Events","link":"https:\/\/www.baronsoftware.com\/Blog\/category\/software-events\/"},"img":{"alt_text":"Look ahead with Delphi","src":"https:\/\/i0.wp.com\/www.baronsoftware.com\/Blog\/wp-content\/uploads\/2016\/10\/EmbarcaderoWeb.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.baronsoftware.com\/Blog\/wp-content\/uploads\/2016\/10\/EmbarcaderoWeb.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.baronsoftware.com\/Blog\/wp-content\/uploads\/2016\/10\/EmbarcaderoWeb.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":993,"url":"https:\/\/www.baronsoftware.com\/Blog\/gotchas-when-using-delphi\/","url_meta":{"origin":140,"position":4},"title":"Gotchas when using Delphi Update","author":"richard@baronsoftware.com","date":"January 13, 2020","format":false,"excerpt":"Sometimes when you are programming using Embarcadero Delphi you will come up with a few Gotchas. These are not bugs but more as a pain. Initially you create an application in a debug mode while you are testing the code. You have a icon for the application making it look\u2026","rel":"","context":"In &quot;Rad Studio Delphi Development&quot;","block_context":{"text":"Rad Studio Delphi Development","link":"https:\/\/www.baronsoftware.com\/Blog\/category\/rad-studio-embarcadero-delphi-development\/"},"img":{"alt_text":"Baron Software","src":"https:\/\/i0.wp.com\/www.baronsoftware.com\/Blog\/wp-content\/uploads\/2019\/08\/BaronSoftwareLogo_2020.fw_.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":1197,"url":"https:\/\/www.baronsoftware.com\/Blog\/why-choose-delphi-for-rapid-application-development\/","url_meta":{"origin":140,"position":5},"title":"Why Choose Delphi for Rapid Application Development","author":"richard@baronsoftware.com","date":"December 13, 2024","format":false,"excerpt":"Delphi is a rapid application development IDE that shortens time for designing and implementing an application for various platforms. Some of the highlights A visual design interface. Fast compilation speeds Strong database integration. A mature component library (VCL). Its ability to maintain legacy systems. Delphi can create high-performance applications with\u2026","rel":"","context":"In &quot;Rad Studio Delphi Development&quot;","block_context":{"text":"Rad Studio Delphi Development","link":"https:\/\/www.baronsoftware.com\/Blog\/category\/rad-studio-embarcadero-delphi-development\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.baronsoftware.com\/Blog\/wp-json\/wp\/v2\/posts\/140","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.baronsoftware.com\/Blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.baronsoftware.com\/Blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.baronsoftware.com\/Blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.baronsoftware.com\/Blog\/wp-json\/wp\/v2\/comments?post=140"}],"version-history":[{"count":1,"href":"https:\/\/www.baronsoftware.com\/Blog\/wp-json\/wp\/v2\/posts\/140\/revisions"}],"predecessor-version":[{"id":141,"href":"https:\/\/www.baronsoftware.com\/Blog\/wp-json\/wp\/v2\/posts\/140\/revisions\/141"}],"wp:attachment":[{"href":"https:\/\/www.baronsoftware.com\/Blog\/wp-json\/wp\/v2\/media?parent=140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.baronsoftware.com\/Blog\/wp-json\/wp\/v2\/categories?post=140"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.baronsoftware.com\/Blog\/wp-json\/wp\/v2\/tags?post=140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}