Jump to content


Photo

Uploading TE DLL's


21 replies to this topic

#1 François Villeneuve

François Villeneuve

    Member

  • Members
  • PipPip
  • 15 posts
  • Location:Ottawa (Canada)
  • Interests:Portfolio Manager at Export Development Canada<br /><br />Mostly interested in fixed income structured notes and their associated swap hedge. (PRDC, Range Accrual, Inverse FRN, CMS Spread, etc.)<br /><br />Also spending time on developing products with Turbo Excel

Posted 05 June 2006 - 09:00 AM

I'm using a new(er) version of Turbo Excel with an xls2c7.dll file as of 3/24/2006 4:14 PM. The compilation in Excel works fine as does running the XLL. But we're having trouble uploading the DLL in our deal capture system.

I tried creating a very simple program and it didn't work. A previous version of this simple program that I compiled using a previous version of Turbo Excel still works fine with the new xls2c7 file.

So it seems to me that the problem is happening when compiling the spreadsheet.

Any idea?

François

#2 Adam

Adam

    Member

  • Members
  • PipPipPip
  • 306 posts
  • Gender:Male

Posted 05 June 2006 - 09:13 AM

First off, can you tell me what the specific error messages you are getting from the deal capture system are?

Another suggestion is to check that in both cases you are building the file with the TurboExcel set for the same edition. (That is, TurboExcelEdition in the TurboExcel.ini file.)

I recall that we had experienced similar issues in the past, but I am having trouble finding in my records how we resolved these problems.

#3 François Villeneuve

François Villeneuve

    Member

  • Members
  • PipPip
  • 15 posts
  • Location:Ottawa (Canada)
  • Interests:Portfolio Manager at Export Development Canada<br /><br />Mostly interested in fixed income structured notes and their associated swap hedge. (PRDC, Range Accrual, Inverse FRN, CMS Spread, etc.)<br /><br />Also spending time on developing products with Turbo Excel

Posted 05 June 2006 - 10:09 AM

My Turbo Excel edition is: PROFESSIONAL

The error we're getting in our deal capture system is: Library Not Found
My programmer tells me that the deal capture system found the DLL but when it tries to call the function, it could not find it.

#4 Adam

Adam

    Member

  • Members
  • PipPipPip
  • 306 posts
  • Gender:Male

Posted 05 June 2006 - 10:18 AM

One thing I did note in looking through my records was that we changed which compiler you used as part of solving the problem. Can you confirm that all versions of this dll are being built using the same compiler?

It could be that a compiler difference (or a change in the calling convention set for the model) has changed the internal name of the function, causing the deal capture system to be looking for the wrong function name inside the dll file. I believe you already have Dependency Walker. If you open up both the dll that works in the deal capture system, and the one that doesn't, on the right side, second pane from the top, you should see a list of the functions exported by the dll. Is the name of the function the same in both dll files?

#5 François Villeneuve

François Villeneuve

    Member

  • Members
  • PipPip
  • 15 posts
  • Location:Ottawa (Canada)
  • Interests:Portfolio Manager at Export Development Canada<br /><br />Mostly interested in fixed income structured notes and their associated swap hedge. (PRDC, Range Accrual, Inverse FRN, CMS Spread, etc.)<br /><br />Also spending time on developing products with Turbo Excel

Posted 05 June 2006 - 01:57 PM

1) When working on our recent customized function, you made a "beta" version of xls2c7.dll. I'm still using that one. I don't have the old xls2c7.dll file that I used to build an older function that our deal capture system can read.

2) I used Dependency Walker on both the good and the bad custom made dll. The names are the way I set them in the Turbo Excel dialog box.

Does this help?

#6 Adam

Adam

    Member

  • Members
  • PipPipPip
  • 306 posts
  • Gender:Male

Posted 06 June 2006 - 11:09 AM

Another thing to look at is DLLs that are required by the DLLs you built, primarily the xls2c7.dll file. If you run Dependency Walker, there is a pane in the middle which lists all the libraries used by the file you opened. Specifically, we want to look at xls2c7.dll in this list. Ideally, you would run Dependency Walker on the same machine as the deal capture system, to see what is happening in that environment. Does xls2c7.dll have a ? next to it in the "bad" DLL? Does it have the same path listed in both DLLs? Is the icon next to it red in one, and blue in the other DLL?

Essentially, we have two DLL files which we know to work in Excel, in a specific environment, that being whatever machine or machines you use to build and test the DLLs before importing them to the deal capture system. One of them works in the deal capture system, and the other does not. We need to determine what is different between these two DLL files that causes one to work in the deal capture environment and the other not to. We have already established that the internal function name is the same, when you looked in Dependency Walker, which indicates that the problem is not the deal capture system having the function information specified correctly for one DLL but not the other. Now we are trying to determine if the difference is in the required DLLs.

#7 François Villeneuve

François Villeneuve

    Member

  • Members
  • PipPip
  • 15 posts
  • Location:Ottawa (Canada)
  • Interests:Portfolio Manager at Export Development Canada<br /><br />Mostly interested in fixed income structured notes and their associated swap hedge. (PRDC, Range Accrual, Inverse FRN, CMS Spread, etc.)<br /><br />Also spending time on developing products with Turbo Excel

Posted 06 June 2006 - 03:35 PM

We ran both DLL's and get the same error message:

Error: At least one file could not be opened for reading.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.


Since both DLL caused the same thing, it's not that. I could see xls2c7.dll as a dependant, but it looked the same.

Any idea?

#8 Adam

Adam

    Member

  • Members
  • PipPipPip
  • 306 posts
  • Gender:Male

Posted 07 June 2006 - 09:30 AM

At this point, I would appreciate it if you could mail me the two DLLs so that I can have a look at them myself. Including the xls2c7.dll and the spreadsheet used to build shouldn't be necessary, but wouldn't hurt. Please send them to support@savvysoft.com.

#9 Adam

Adam

    Member

  • Members
  • PipPipPip
  • 306 posts
  • Gender:Male

Posted 07 June 2006 - 10:29 AM

Having looked at the two dll files, both appear to be fine at first glance. I do need to ask you to confirm, however, that in the deal capture system, the setup to use the non-working one, fvTriangle2, does have both the function name and the dll name set to fvTriangle2, rather than fvTriangle. That is, when the deal capture system is loading fvTriangle2.dll, is it looking for the function named fvTriangle2?

I know that sounds like a stupid question, but from what you've said, both DLL files load fine, but the deal capture system fails to find the function it needs inside fvTriangle2.

#10 François Villeneuve

François Villeneuve

    Member

  • Members
  • PipPip
  • 15 posts
  • Location:Ottawa (Canada)
  • Interests:Portfolio Manager at Export Development Canada<br /><br />Mostly interested in fixed income structured notes and their associated swap hedge. (PRDC, Range Accrual, Inverse FRN, CMS Spread, etc.)<br /><br />Also spending time on developing products with Turbo Excel

Posted 07 June 2006 - 03:33 PM

Yes. For the first DLL, the function name is set to fvTriangle. For the second one, it's fvTriangle2.

#11 Adam

Adam

    Member

  • Members
  • PipPipPip
  • 306 posts
  • Gender:Male

Posted 08 June 2006 - 09:16 AM

The next thing I would like to check is regarding xls2c7.dll. Could you please confirm that there is only one copy of this file on the deal capture system? If there are multiple copies, please try backing them up somewhere, deleting them, and putting in just one copy of the latest version of xls2c7.dll which you have (3/24/2006, according to your original post). Then try the deal capture system again.

#12 François Villeneuve

François Villeneuve

    Member

  • Members
  • PipPip
  • 15 posts
  • Location:Ottawa (Canada)
  • Interests:Portfolio Manager at Export Development Canada<br /><br />Mostly interested in fixed income structured notes and their associated swap hedge. (PRDC, Range Accrual, Inverse FRN, CMS Spread, etc.)<br /><br />Also spending time on developing products with Turbo Excel

Posted 08 June 2006 - 09:49 AM

We checked an it's the same versin of xls2c7.dll (March 24, 2006).

#13 Adam

Adam

    Member

  • Members
  • PipPipPip
  • 306 posts
  • Gender:Male

Posted 08 June 2006 - 03:02 PM

One more thing that I would like to see, if it is possible.

Dependency Walker allows you to profile an application, and save the log of what has happened in terms of loading DLL files. If you can, please open the deal capture system application in Dependency Walker (via File->Open), and select Profile->Start Profiling. This will launch the deal capture system from within Dependency Walker. Then attempt to load up fvTriangle2.dll in the deal capture system, and after it fails, go back to Dependency Walker and select File->Save. The resulting .dwi file will contain information on the system attempting to load the dll file (and the dll files it depends on), as well as loading the function from the dll file.

If you can run this, please zip up the .dwi file (they get fairly large), and email it to support@savvysoft.com.

Ideally, load fvTriangle.dll first, so that we can see a successful load and a failed load in the same log file.

#14 jrynd

jrynd

    Advanced Member

  • Savvysoft
  • PipPipPip
  • 106 posts
  • Gender:Male

Posted 08 June 2006 - 03:46 PM

We ran both DLL's and get the same error message:

Error: At least one file could not be opened for reading.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
Since both DLL caused the same thing, it's not that. I could see xls2c7.dll as a dependant, but it looked the same.

Any idea?


These errors are innocuous as far as I can tell.

#15 François Villeneuve

François Villeneuve

    Member

  • Members
  • PipPip
  • 15 posts
  • Location:Ottawa (Canada)
  • Interests:Portfolio Manager at Export Development Canada<br /><br />Mostly interested in fixed income structured notes and their associated swap hedge. (PRDC, Range Accrual, Inverse FRN, CMS Spread, etc.)<br /><br />Also spending time on developing products with Turbo Excel

Posted 13 June 2006 - 08:43 AM

We've tried doing the Dependency Walker thing with our deal capture system, but we can't run them together. Any other idea? Thanks.

#16 Adam

Adam

    Member

  • Members
  • PipPipPip
  • 306 posts
  • Gender:Male

Posted 13 June 2006 - 10:08 AM

First, a couple of things I would like to get confirmed.
- That the two dll files that you sent to me were from the production system, not a development system.
- That you are using Microsoft Visual C++ .NET to compile for both dlls.

Second, from what I understand of the way your deal capture system is set up, you have in the source code calls to load each dll file and locate the function inside it. Would it be possible for you to email to me the code that loads and calls into fvTriangle.dll and the code that loads and calls into fvTriangle2.dll? Since you cannot run dependency walker with the deal capture system, that would let me try to create an executable to load each on its own, which could be run in dependency walker.

#17 François Villeneuve

François Villeneuve

    Member

  • Members
  • PipPip
  • 15 posts
  • Location:Ottawa (Canada)
  • Interests:Portfolio Manager at Export Development Canada<br /><br />Mostly interested in fixed income structured notes and their associated swap hedge. (PRDC, Range Accrual, Inverse FRN, CMS Spread, etc.)<br /><br />Also spending time on developing products with Turbo Excel

Posted 13 June 2006 - 04:02 PM

1) The two DLL files are from a development environment. The deal capture system is on another development environment system. I am using C++ .NET for both dlls.

2) Our deal capture system is programmed in Smalltalk, so we don't have a blob of code we can send you. We can send a few lines in isolated procedures, though. Would that work?

#18 Adam

Adam

    Member

  • Members
  • PipPipPip
  • 306 posts
  • Gender:Male

Posted 13 June 2006 - 04:10 PM

Sending the lines of code from the procedures involved in loading the DLL and calling the function should help, yes.

Another thing that may be useful... since we cannot use Dependency Walker with the deal capture system, is it possible to try using the DLLs in Excel on the same system as the deal capture system? That is, to copy fvTrianglexll.xll and fvTriangle2xll.xll to the deal capture system, and run Excel there? If this is feasible, could you profile Excel on that system and try loading and calling into each of the two DLLs?

#19 François Villeneuve

François Villeneuve

    Member

  • Members
  • PipPip
  • 15 posts
  • Location:Ottawa (Canada)
  • Interests:Portfolio Manager at Export Development Canada<br /><br />Mostly interested in fixed income structured notes and their associated swap hedge. (PRDC, Range Accrual, Inverse FRN, CMS Spread, etc.)<br /><br />Also spending time on developing products with Turbo Excel

Posted 14 June 2006 - 03:18 PM

Ok. Mea culpa. Sorry... :(

Turns out we were loading up fvTriangle2.dll in the wrong way. It works within the deal capture system.

But... We still can't load the CMS custom solution that Rich developed for us. Would this have to do with the fact that our TOPSALL.dll that were are using (and to which the CMS function is referring to) is old? (Last update: June 2005)

#20 Adam

Adam

    Member

  • Members
  • PipPipPip
  • 306 posts
  • Gender:Male

Posted 14 June 2006 - 03:34 PM

Here we basically start at the beginning again.

- What specific error is encountered when trying to load the CMS solution?
- Does the CMS solution dll function inside Excel?
- Was the dll for this CMS solution built on the same production environment, with the same compiler, as the simple functions?
- Are the dll for this solution, the appropriate xls2c dll, and the topsall.dll all located where they can be found on the deal capture system?
- Is the CMS solution being loaded the correct way by the deal capture system?



Reply to this topic



  


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users