Assemblies erstellen
Library oder Package?
Während unter Delphi für Win32 eine Projekt-Vorlage für Win32 zur Verfügung steht (Datei/Neu/DLL), sucht man so etwas unter Delphi für .NET vergeblich. Hier muss man sich zwischen "Package" und "Library" entscheiden. Ein Package war unter Delphi für Win32 eine Delphi-Besonderheit; das Kompilat hatte die Endung bpl und konnte nur von anderen Delphi-Anwendungen verwendet werden, auch wenn es sich im Prinzip um eine DLL handelte.
Unter .NET hat ein Package die Endung DLL und ist eine ganz normale .NET-Assembly, die auch von anderen .NET-Anwendungen eingebunden werden kann. Im Unterschied zu einer Library, die auch zu einer DLL kompiliert wird, hat ein Package bereits einen Link auf den Namespace Borland.Delphi.System. D.h., dass die Borland.Delphi.dll für Ihre Assemlby als externe Datei benötigt wird. Technisch wäre es zwar möglich, diese DLL direkt in Ihre eigene hineinzulinken. Da sie jedoch die Delphi-Laufzeitumgebung (RTL) enthält, kann sie nur einmal geladen werden. Wenn Sie also eine Delphi-Anwendung haben, die Ihre neue Assembly verwendet, und beide Borland.Delphi.dll eingelinkt haben, haben Sie ein Problem. Es ist also eine gute Idee, Borland.Delphi.dll immer extern zu lassen.
Ein Library-Projekt dagegen enthält noch keinen Link auf Borland.Delphi.System.
Für unser Beispiel verwenden wir deshalb ein Package-Projekt. Dafür wählen Sie im Menü Datei/Neu/Andere und klicken dann unter "Delphi für .NET-Projekte" auf "Package":
Eine Abkürzung führt über die Tool-Palette, die standardmäßig in der rechten Spalte unten in der IDE angezeigt wird: