bdn n
http://bdn.borland.com/article/0,1410,32765,00.html
重要的部分摘抄如下
경영진 요약
• 네임 스페이스는 Win32의 경우 Delphi에 영향을 미치지 않습니다.
• 네임 스페이스는 다음과 같이 단위 이름을 기준으로 생성됩니다.
• 단위 이름이 점으로 표시되면 마지막 점까지의 단위 이름이 사용됩니다.
• 점령되지 않은 경우 기본 네임 스페이스가 사용됩니다.
• 기본 네임 스페이스가 없으면 단위 이름이 사용됩니다.
• Delphi 8에서 변환 된 코드에는 약간의 수정이 필요할 수 있습니다.
• 항상 라이브러리가 아닌 패키지를 사용하여 공유 가능한 어셈블리를 만듭니다.
• Delphi는 항상 전체 유닛 이름으로 유형을 참조합니다.
• 다른 언어는 네임 스페이스를 사용하는 유형을 참조해야합니다.
• ASP.NET 선언, 구성 파일 및 .NET 반사는 항상 네임 스페이스에서 유형을 참조하십시오.
• 여러 장치가 동일한 이름의 동일한 이름으로 공개 유형을 방출하는 경우 어셈블리를 사용할 수 없을 수 있습니다.
Borland는 항상 도서관 프로젝트를 사용하여 어셈블리를 만드는 것을 권장했습니다. Delphi 2005에서는 컴파일러가 더 엄격하며 더 이상 Delphi '라이브러리'를 참조하는 응용 프로그램을 컴파일 할 수 없습니다.
항상 패키지 프로젝트를 사용하여 .NET 어셈블리를 만듭니다.
그러나 무엇이든, 규칙에는 예외가 있으며 델파이에서 코딩하더라도 네임 스페이스를 사용해야하는 몇 가지 상황이 있습니다.
한 가지 예는 ASPX, ASCX 또는 ASMX 파일에서 태그를 사용하는 경우입니다. 파일 application.pages.webform1.pas에서 twebform이라는 웹 페이지를 작성하면 페이지 태그가 다음과 같습니다.
<%@page language = "c#"codebehind = "webform1.pas"inherits = "application.pages.twebform1"%> |
다른 하나는 유형 정보를 문자열 형태로 .NET에 전달할 때, 특히 반사 기반 API 및 구성 파일을 사용할 때입니다.
var c : typeconverter; C : = assembly.createInstance ( 'sample.controls.tconverter'); |
이 약간의 차이는 일반적으로 사람들을 여행하며 특히 Delphi 8의 코드를 포팅하거나 다른 언어에서 코드를 변환 할 때주의해야 할 것입니다.
这就解释了我原来的疑问 这就解释了我原来的疑问, 在 d2005 中, 新建一个 .net dll, 编译, 在别的编译器中 (c#), 可以使用, 但是在 delphi 中自己却不能用, 虽然用薄可以解决问题, 虽然用薄可以解决问题, 虽然用薄可以解决问题,但是包中添加资源很不方便 但是包中添加资源很不方便, 真是不知道 보 랜드 是怎么想的。