Process Log Missing Visual Basic UFL Any idea what is causing this:
1/14/2009 5:43:46 PM
Messasge: The Visual Basic UFL that implements this function is missing (or U2lcom.dll is missing).
Source: Crystal Reports ActiveX Designer
Stack Trace: at CRAXDRT.ReportClass.ReadRecords()
at CrystalDelivery.frmMain.fncCheckAlerts(String ReportSettingsInfo, String strCheckReport, Int32 intRow, Boolean booWeek, Boolean booTime, Boolean booHistory)
Target Site: Void ReadRecords()
JamesJ- 01-14-2009
OK, I'm just guessing here, but it appears that the report that you're trying to run uses an external function (user-created, or maybe one of the "additional" functions that come with CR). I don't use them myself, but U2lcom.dll is apparently the routine that manages those functions, so the error is saying that either the library containing the function is missing, or the routine that it would use to find that library (U2lcom.dll) is missing.
I guess the first thing would be to check that system and see if U2lcom.dll is there in one of the CR directories. If not, see if you can get a copy from the machine that the report was developed on (presumably the report worked on that machine, so it must have the library installed). If U2lcom.dll is there, then maybe the library containing the specific function that the report is trying to use is missing. Unfortunately, that could be anything. Maybe someone can tell you what special functions the report is using. If not, you could try going through the formulas in the report, looking for the function. Once you identify the function, you'll need to figure out what file it's in and make sure that system has a copy of that file.
If you search online for U2lcom.dll, there are plenty of hits describing it, places where you can supposedly d/l it, etc.
James
JamesJ- 01-14-2009
Hmm. A couple of other thoughts:
I suppose it's possible that the error is about some function that CD is trying to use, not your report. Maybe there's some file that CD needs that's not installed on that system for some reason. I still think it's probably something in the report, but I can't say for sure.
How did you install CD? The CD d/l supposedly contains two installation programs, one that checks for "required runtime files" and one that doesn't. Which one did you use? There are also links on the Groff Automation main page to some CR runtime files. Maybe you just need to d/l and install those. Again, I'm just guessing, but it might be worth a shot.
You didn't say whether you're getting that error on any report, or just one specific report. If it's just one report and CD is able to run others without any problem, then the problem is probably in that report. If CD gets that error on any report that you try to run, then the problem may be in CD (unless all of the reports have the same problem, which is possible).
James
rayc- 01-14-2009
I did figure out it stops on one report. In doing some reading on u2lcom.dll I installed Crystal Developer on the Crystal Delivery pc. It then had u2lcom.dll in 2 paths. I still got the error so I tried to manually register the dll and got an error about "cannot find registry server". The report does use a SQL function of IFNULL. I'm not sure if I can remove tha and work around not using that function or not. I had to unload and reload Crystal Delivery 7.0.7 this morning. You mentioned copying "the file". How do I know what file is needed. Do you mean the report file?
JamesJ- 01-14-2009
If you installed "Crystal Reports", I would think that would be enough to get U2lcom.dll wherever CD needed it. I suppose you could try putting a copy of U2lcom.dll in the CD directory. Sometimes a program will automatically find a required DLL if it's in the same directory as the EXE. Of course if CD is already seeing U2lcom.dll and the problem is that it can't find a function used in the report, then that's not going to help.
IFNULL doesn't ring any bells. Is that MS SQL? What does it do? You use that in a formula in the report? Any chance that you could use CR's IsNull function instead?
As for copying a file, no I wasn't referring to the report file. The assumption was that you needed either U2lcom.dll, or some other DLL file that included an external function that the report was trying to use. If it's not U2lcom.dll, then figuring out what file you do need is the tricky part. If you can figure out what the function is (IFNULL?), then maybe you can use that name to track down the DLL file that it's in.
Ideally, whoever used that function in the report should be able to tell you where the function is located.
James
Forumer™ is Voted #1 Free Forum Hosting provider
Build your own community today with the largest message board hosting company.