tags:

views:

101

answers:

2

I have been working on converting a assembly of mine to be usable through Delphi. I was able to convert the assembly to a PAS file and call the method in my delphi application. But i ran into a problem where my PAS file is asking for System_Windows_Forms_TLB which i was able to find and add. But then that file uses Accessibility_TLB and i have no clue where that is? Does anyone know wherethat is or am i doing something wrong here? Sorry i'm not experienced at all dealing with COM's.

+5  A: 

The System_Windows_Forms_TLB unit comes from the System.Windows.Forms.dll assembly. The Accessibility_TLB unit, likewise, comes from the Accessibility.dll assembly. I have two copies on my system:

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
Rob Kennedy
+3  A: 

I found out that the reason it was asking for System_Windows_Forms_TLB and Accessibility_TLB was because i had the whole assembly set to COMVIsible instead of just the interface. This was in turn asking for those assemblies instead of letting the GAC take care of the rest. I removed COMVisible from the assembly and added it to just the Interface and it all worked correctly.

Andy Xufuris