今天在 bdn 中看到一篇文章
http://bdn.borland.com/article/0,1410,32765,00.html
重要的部分摘抄如下
Zusammenfassung
• Die Namespaces betreffen Delphi für Win32 nicht.
• Die Namespaces werden basierend auf dem Einheitsnamen wie folgt erstellt:
• Wenn ein Einheitsname gepunktet ist, wird der Einheitsname bis zum letzten Punkt verwendet.
• Wenn es nicht gepunktet ist, wird der Standard -Namespace verwendet.
• Wenn es keinen Standard -Namespace gibt, wird der Einheitsname verwendet.
• Der von Delphi 8 konvertierte Code kann einige Änderungen erfordern.
• Verwenden Sie immer Pakete, nicht Bibliotheken, um gemeinsam genutzbare Baugruppen zu erstellen.
• Delphi verweist immer auf Typen nach ihrem vollständigen Einheitsnamen.
• Andere Sprachen müssen sich auf Typen mit ihrem Namespace beziehen.
• ASP.NET -Deklarationen, Konfigurationsdateien und .NET -Reflexion beziehen sich immer auf Typen nach dem Namespace.
• Wenn mehrere Einheiten einen öffentlichen Typ mit demselben Namen in denselben Namespace ausgeben, kann die Versammlung unbrauchbar sein
Borland hat immer empfohlen, keine Bibliotheksprojekte zu verwenden, um Versammlungen zu erstellen. In Delphi 2005 ist der Compiler strenger und ermöglicht es Ihnen nicht mehr, eine Anwendung zu erstellen, die auf eine Delphi -Bibliothek verweist.
Verwenden Sie immer ein Paketprojekt, um .NET -Assemblys zu erstellen.
Wie bei allem gibt es jedoch Ausnahmen in die Regel und es gibt mehrere Situationen, in denen Sie den Namespace verwenden müssen, obwohl Sie in Delphi codieren.
Ein Beispiel ist, wenn Sie Tags in ASPX-, ASCX- oder ASMX -Dateien verwenden. Wenn Sie eine Webseite namens TWEBForm in der Datei -Anwendung.Pages.Webform1.pas erstellen, wäre das Seiten -Tag:
<%@Page Language = "C#" codebehind = "webform1.pas" inherits = "application.pages.twebform1"%> |
Ein weiterer Teil ist das Übergeben von Typinformationen an .NET in Form von Zeichenfolgen, insbesondere bei der Verwendung von Reflexionsbasis -APIs und Konfigurationsdateien:
var c: TypeConverter; C: = Assembly.CreateInstance ('Probe.Controls.tconverter'); |
Dieser geringfügige Unterschied steuert häufig die Leute auf und ist etwas, das Sie vorsichtig sein müssen, insbesondere wenn Sie Code von Delphi 8 portieren oder Code aus anderen Sprachen konvertieren.
这就解释了我原来的疑问.但是包中添加资源很不方便 , 真是不知道 Borland 是怎么想的。