我一直致力于通过Delphi将我的程序集转换为可用。我能够将程序集转换为PAS文件,并在我的delphi应用程序中调用该方法。但我遇到了一个问题,我的PAS文件要求System_Windows_Forms_TLB,我能够找到并添加。但那个文件使用Accessibility_TLB,我不知道那是哪里?有谁知道这是在哪里或我在这里做错了什么?对不起,我对COM的处理没有经验。
答案 0 :(得分:5)
System_Windows_Forms_TLB
单元来自 System.Windows.Forms.dll 程序集。同样, Accessibility_TLB
单元来自 Accessibility.dll 程序集。我的系统上有两份副本:
C:\WINDOWS\Microsoft.NET\Framework>dir /a /s Accessibility.dll Volume in drive C is TPT60-1106 Volume Serial Number is 148C-7498 Directory of C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322 02/21/2003 10:24 AM 7,680 Accessibility.dll 1 File(s) 7,680 bytes Directory of C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 07/25/2008 12:17 PM 10,752 Accessibility.dll 1 File(s) 10,752 bytes Total Files Listed: 2 File(s) 18,432 bytes 0 Dir(s) 49,421,320,192 bytes free
答案 1 :(得分:3)
我发现它要求System_Windows_Forms_TLB和Accessibility_TLB的原因是因为我将整个程序集设置为COMVIsible而不仅仅是接口。这反过来要求那些集会,而不是让GAC负责其余的。我从程序集中删除了COMVisible,并将其添加到接口,它们都正常工作。