cancel
Showing results for 
Search instead for 
Did you mean: 

UFL 'u212com.dll' that implements this function is missing

Former Member
0 Kudos

I am attempting to write a user function library for the crystal reports version that ships with Visual Studio 2010. Following the walkthrough on the Business Objects website (although that is for VS2005) I have successfully created my .dll file and added it to the GAC, and it appears in the function list under 'Additional Functions' in the Crystal Reports formula editor. However when I use the function on in my Windows forms application, I get the error "UFL 'u212com.dll' that implements this function is missing.". This is on my development machine and I have installed the latest service pack for Crystal Reports for VS2010 (64-bit). My OS is Windows 7 64-bit.

I have two questions:

1) What version of the .NET framework should my class library be targeting? My windows forms application targets the .NET framework version 4, but should I be doing the same thing for the .dll for Crystal Reports? It does show up in the formula editor though, so I guess that means that Crystal Reports recognises it correctly.

2) I have done a search on the PC for the file 'u212com.dll' and it is in the folder C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win64_x64 (and also in the equivalent 32-bit folder) Is this correct, or is there is a specific 64-bit version of this file?

Or is it something else that I am missing? Thanks in advance for any suggestions.

Accepted Solutions (1)

Accepted Solutions (1)

former_member183750
Active Contributor
0 Kudos

The fact that you can see the UFL under 'Additional Functions' tells me that the UFL is compiled as 32 bit. This is good for creating the report in the IDE which is 32 bit. But the app you are building is compiled as 64 bit. But there is no 64 bit UFL(?) that yo have built so far. So, two options;

1) Build the UFL as "Any CPU". I am not sure if this will actually work. never tried this, but I do know that it is not possible to compile an app using the CR runtime as "Any CPU". E.g.; we always recommend to compile either as 32 bit and \ or 64 bit, not "Any CPU" This may be the case with the UFL, thus the next suggestion.

2) Compile a second copy of the UFL as 64 bit. You'll then have to use 64 bit GAC and regasm on that dll.

- Ludek

Former Member
0 Kudos

Hi Ludek

Thanks for the quick and detailed response. I was already building it as AnyCPU, but if I build separate x86 and x64 versions of the .dll and register them using the correct versions of regasm and gacutil it works perfectly in both the IDE and the 64-bit application. Thanks again.

Andy

Former Member
0 Kudos

Hi Andy,

Can you share the steps to build the 64 bit equivalent of the dll. We arent using any .NET application for CR. These Reports are migrated from XIr2 version to  BI4 ( CR 2011).

omarbilfaqih
Discoverer
0 Kudos

Thanks for your expert advice, i am getting the same error. i am using 2d barcode functions downloaded from this link.

http://www.idautomation.com/font-encoders/crystal-reports/

the u212com.dll appears in

C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86

as we as

C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win64_x64

and also

in SYSWOW64 folder.

i tried building my app in 32 bit ,64 bit also any CPU. I get the same error.

former_member183750
Active Contributor
0 Kudos

See if the logs from process Monitor tell you anything. Look for Access denied error messages.

BTW., next time it may be better to create a new post rather than attaching to a post that is a few years old (no big deal, just sayn).

- Ludek

Senior Support Engineer AGS Product Support, Global Support Center Canada

Follow me on Twitter

Got Enhancement ideas? Use the SAP Idea Place

Answers (0)