Does Delphi require a runtime library? - delphi

I want to use a language that does not need any runtime library like .NET. Do Delphi 2009 or Delphi 2010 executables require any runtime library to start?

If you build without using runtime packages then the executable will have the runtime library built in to it. You can therefore distribute a single executable module that will run on a plain vanilla Windows system.
For what it is worth, .net is supplied as a Windows component and you can rely on its presence, albeit sometimes a rather lower version than you would like.

Related

WebView2Loader.dll vs WebView2.dll

The company I work for developed an application that uses WebView2 to display a Edge browser within the app. The IDE we use (Delphi) provides a dll called "WebView2Loader.dll" to distribute along side the exe.
When looking at how the WebView2 runtime operates, there are a lot of mentions of something called "Evergreen" which seems to be the WebView2 runtime that auto updates itself to the latest and greatest.
https://learn.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution#understand-the-webview2-runtime-and-installer-preview
This is where the confusion came in. My question is how does this Evergreen relate to the WebView2Loader.dll? The way I think it works is that the loader dll is only there to find the installed WebView2 runtime and the Evergreen is actually doing the downloading of the runtime. I get this indication from this quote "WebView2Loader.dll is a small component that helps apps locate the WebView2 Runtime, or non-stable channels of Microsoft Edge, on the device." from this link https://learn.microsoft.com/en-us/microsoft-edge/webview2/how-to/static.
And then my follow up question would be, would customers have to download Evergreen manually or would that runtime exist if they have edge installed already?
WebView2Loader.dll is a dynamic library wraps around WebView2 Runtime and allows Delphi applications to make use of its functionality.
WebView2 Runtime is a standalone runtime package that allows applications to use WebView2 environment without Microsoft Edge being installed on the target computer.
WebView2 Runtime can be distributed in two modes.
Evergreen mode installs the WebView2 package as a system component similar to C++ Runtime packages. It is installed once and can then be used from any application. It is also capable of updating itself.
In Fixed version mode you distribute the needed binaries with your application. Such binaries are generally available just to your application. And if multiple applications are installed each ship with their own binaries so it uses more disk space.

Is it possible to use Delphi XE2 to develop Windows CE Applications?

I have to develop an application to run on Windows CE accessing a remote Firebird database.
I would like to use Delphi to do so.
Is it possible?
Native Delphi only works with x86 compatible processors and Win32/Win64 or MacOS 10 API.
Ken White already pointed to you Delphi Prism, however if you would purchase it, instead of re-marked tool, you'd perhaps purchase the original product, i heard it comes with multiple platforms support instead of one. RemObjects Oxygene is the original product, part of which is re-sold as Prism.
Another option would be using Lazarus (vanilla or CodeTyphon distro). Its LCL library mimics VCL in many respects and FPC compiler mimics Delphi language (and some other Pascal dialects as well).
http://www.pilotlogic.com/codetyphon/help/index.html?cross_build_for_windows_mobile.htm
http://wiki.freepascal.org/Windows_CE_Interface
http://www.lazarus.freepascal.org/index.php?topic=8175.0
No, it isn't. Delphi XE2 does apps for Win32/64, OS X, (and with the help of FreePascal, iOS), but not for CE.
You can probably use Delphi Prism to do so. There is a separate delphi-prism tag for that here at SO.
In fact, you may be able to use the Delphi IDE to build Windows CE applications, using KOL-CE library, after some adaptations.
KOL-CE - Key Objects Library CE is a set of objects to develop powerful (but compact) Windows CE/Pocket PC/Windows Mobile/Win32 GUI applications using Free Pascal Compiler. The library is based on KOL library by Vladimir Kladov (http://kolmck.net).
It targets the Lazarus IDE, but since it is a fork of a Delphi project, you may be able to use it in your Delphi IDE, perhaps after some modifications. And if you are not able (or do not have the time) to do the needed modifications, I'm quite confident that you would be pleased to use the Lazarus IDE and modern object pascal instead of switching to another language.
You need to install the FPC arm-wince cross compiler for Win32 to compile WinCE executables, but you develop your application in Windows, with the IDE.
Note that KOL is a light new set of components, very diverse to the VCL. Very powerful, but only low-level object code can be re-used, since they are not compatible with the VCL (or the Lazarus LVCL).
Using Lazarus and its native LVCL components is also available to Windows CE, is much close to the VCL classes layout, but will produce much bigger executables than KOL-CE.
For the historic perspective: no you can't in Delphi itself as of Delphi 2007.
In Delphi 2005 and Delphi 2006 could do this, targeting the .NET Compact Framework on Windows CE as Delphi contained a Delphi .NET compiler that was more compatible with the Delphi language than the current (but much more evolved) Oxygene .NET/Java platform implementation of the Delphi language.
As of Delphi 2007, the Delphi .NET compiler got retired.
Right now, Oxygene is much better as it supports a broader set of language and platform features than Delphi .NET ever did. It is less compatible with the Delphi language because the platforms it supports warranted for some language deviations that in practice are very useful.
Oxygene ships both separately (with a full feature set) and as Delphi Prism (with only the .NET portion).
For Delphi 2005/2006 you needed the CF Build Helper from Jeremy North and the Class Helpers I wrote (they are included in the CF Build Helper). A nice article on how to use both is at EDN.
Given the hoopla you had to go through back then, it is much wiser to use Oxygene if you want a language very close to the Delphi language.
For a historic overview of Pascal and Delphi like languages, read this article by Jim McKeeth.

Delphi with NetBeans 7.1.2

I have already installed NetBeans 7.1.2 and i am looking for Delphi plugin. Is it available at this version or in earlier ones (and which one)? Can I import delphi projects in netbeans?
Delphi uses a proprietary compiler and framework that AFAIK is not available outside Delphi itself.
There is only a (small) Pascal plugin project for the NetBeans IDE. However it shows no progress since 2009.
However I would keep NetBeans on my hard disk, as it is a good editor for some web standard file formats (CSS, HTML) and XML / XSD files, with context-sensitive help and syntax checks, validations and so on.

is Delphi still the same (still run with no installed libraries)?

Back when I used Delphi (win32), programs made with it would run on windows, with no need to install any runtime libraries like .NET or Java(?). Is this still the case? If not, which language can do that?
Delphi executables don't have any external dependency.
It's true since Delphi 1 up to Delphi XE.
I just wrote a post on my blog about this fact I like very much in Delphi.
http://blog.synopse.info/post/2010/09/20/Dll-hell%2C-WinSXS-directory-and-Delphi-paradise
No dll hell with Delphi applications!
Deploying a Delphi application is very easy.
If you need some database access, you could need some additional components, like the BDE, or the ODBC drivers, or whatever...
But there are a lot of stand-alone frameworks, with no external dependency, available for Delphi. We provide one Client/Server Open Source solution, using SQLite3 as database storage. And one of great feature of SQLite3 is that it doesn't need to install any client software. Our framework provide the Client/Server features, in pure Delphi.
Both the language and the IDE had some serious improvements from Delphi 1.
To name a few extentions for the language:
Support for interfaces
Records with methods
Record and class helper functions
Annonymous functions
Generics
Hinting directives
There are also some IDE improvements.
Unicode support
More integrated tools
Usage of identifiers (2011).
There are still some things missing:
64 bit support
generics still have some bugs.
It is still the case for the "normal" Delphi, i.e. Delphi for Win32. There is also Delphi Prism which targets .NET for which it is obviously not the case.
Currently there's Delphi for Win32 available, which doesn't require any runtimes and Delphi Prism (for .NET application development). Delphi for 64-bit native Windows development is promised next year.
Well, Lazarus obviously :-)
Seriously, Delphi is fine, but before you buy a recent one, if you need win9x support, check thoroughly. (since the unicode versions might no longer support that)

Does a simple delphi form app needs any libraries or dependencies to deploy?

I need to code a simple form application and I want to make it easy to deploy (without installing libraries or dependencies), I don't want to use visual studio cpp or csharp because clr apps compile with .net frameworks and I have no much experience with mfc and dialogs.
So I was wondering which libraries does a simple delphi vcl forms app (those using TForm) use, because I've never had to install anything to run simple delphi apps.
Delphi embeds everything in the EXE file. There are libraries that depend on BPL or DLL files, but for a simple application, the EXE is all you need...

Resources