1. Clarence Chamorro
  2. PowerBuilder
  3. Tuesday, 2 January 2018 19:20 PM UTC

I understand that this is not a community to help other products(third party products), but maybe somebody can give me a direction. I purchase the new realease DW2XLS object (The one that works with Appeon PB2017). They give me two dll (PB2XLS.dll & PB2XLS_64.dll and a PBL & they reside where my EXE is).

My issue is the fallowing: If I am in PB2017 development tool IDE and I execute the application it work perfect; but if I deploy the application and I run it via the EXE then it give me the following error:

A System Error:

Error Number 14.

Error Text= Error Opening DLL library pb2xls.dll for external function at line 20 in Function of_create of object n_dwr_workbook..

Window/menu/Object = n-dwr_workbook

Error Object/Control = n_dwr_workbook

Script = of_create

Line In Script = 20.

I did send an email to their tech support. The only thing they told me is to make sure I have the two dll where the EXE is located.  I do have the two DLL where the EXE is located.

If it is working OK thru the PB2017 development tool IDE maybe I have to declare the DLL in a pbr, or I have to do a external declaration of the dll functions. 

Any body with experience with DW2XLS could give give me a direction or action to take, Please?

Regards,

Clarence A Chamorro.

Accepted Answer
Srinivas G Accepted Answer Pending Moderation
  1. Tuesday, 1 September 2020 05:31 AM UTC
  2. PowerBuilder
  3. # Permalink

If you are using 64bit executable then rename PB2XLS_64.dll to PB2XLS.dll add to the executable folder. The error shows it could not find the PB2XLS.dll file.

Comment
  1. Clarence Chamorro
  2. Friday, 2 October 2020 13:01 PM UTC
Dr. Srinivas you are completely correct. I did it (rename PB2XLS.dll to PB2XLS-32.dll and then rename PB2XLS_64.DLL to PB2XLS.DLL and it work perfect.

Thank you very much for your brilliant advise.

Regards,

Clarence.
  1. Helpful
There are no comments made yet.
Miguel Leeuwe Accepted Answer Pending Moderation
  1. Sunday, 30 August 2020 18:28 PM UTC
  2. PowerBuilder
  3. # 1

We are also using an older version of dw2xls (I think it's for pb 12.6) and have no problems at all.

I do add that we only have 32 bit executables, so the problem might also exist in the version that we use.

What about your Office on the client: 32 or 64 bit? I'm wondering if that could somehow influence the internal calls made to the DLL.

Comment
There are no comments made yet.
Andrew Barnes Accepted Answer Pending Moderation
  1. Friday, 28 August 2020 15:58 PM UTC
  2. PowerBuilder
  3. # 2

Hi Clarence,

PBR declaration are not used for DLLs, so that is not your issue. 

As for DLL locations, if they are Windows code, i.e. not .NET they can be located anywhere on the system path or in the EXE folder.  If they are .NET then they have to be in the Global Assembly Cache or the EXE folder.  So either way, if you have them in the EXE folder you should be good.

Your error reminds me of one that I experienced recently with a plain (an extremely simple) Win32 .dll that I wrote in Visual Studio 2013.  In my case it worked fine for all our user workstations but it blew up when running on a server.  Eventually I traced the issue to some other dependent DLLs that any DLL created with MSVS2013 depends, MSVCP120.dll and MSVCR120.dll.  Both were on my development machine as well as our user workstation images, but were apparently not installed with the Windows Server 2019, and therefore things ran fine in my development IDE and our user workstations, but not on the servers.

You might contact your technical support to see if they know of any other .dll dependencies.  Also there is a Microsoft tool called Depends.  I believe that it is available for download on Microsoft's site.  It is easy to use and will check for any dependancies and call out anything that is missing.  If you run it on the DW2XLS dlls on one of your deployed machines that is erroring out, it might show you that some required dll is missing.

Good luck,

Andy

Comment
There are no comments made yet.
Peter Currier Accepted Answer Pending Moderation
  1. Friday, 28 August 2020 15:17 PM UTC
  2. PowerBuilder
  3. # 3

Hi All.

I am experiencing this issue as well and I am wondering if this was ever resolved.   The code works in PB2017 IDE, but not when deployed as a 64-bit executable.  I get the same error"Error Opening DLL library pb2xls.dll" - I am surprised that it is trying to open that dll and not the 64-bit version.  Any suggestions would be appreciated.

Peter

 

Comment
  1. Peter Currier
  2. Friday, 28 August 2020 16:28 PM UTC
Thanks for getting back to me Chris.



The vendor supplied the following files:



dw2xls_pb2017.pbl -- which is added to the library list of the apps and is also included in the compile library list.



and two DLLs: pb2xls.dll and pb2xls_64.dll



both DLLs are deployed with the application.



Since our application is generated as a 64-bit executable I am surprised that the dw2xls logic is attempting to open the 32-bit pb2xls.dll and not the pb2xls_64.dll.



Peter



  1. Helpful
  1. Andrew Barnes
  2. Friday, 28 August 2020 18:19 PM UTC
Hi Peter,

The answer to your question about which DLL, 32bit vs 64bit, that is being called would probably be found in the external function declarations of the DW2XLS functions. I think that one could abstract the function calls such that both 32 and 64 bit versions are declared and through the use of the Environment object, the proper DLL is used automatically. However it is possible that the DW2XLS developers did not do that and simply expected the end user developer to manually change the external function declarations to use the 64-bit versions if they wanted to make a 64-bit application. So poke about through the dws2xls_PB2017.pbl and see how the external functions are declared and accessed. Your answer will likely reveal itself.
  1. Helpful
  1. Peter Currier
  2. Friday, 28 August 2020 19:19 PM UTC
Thanks for your help, Andrew.



I tried something a little easier and it seems to have worked. I renamed the 64-bit DLL to match name of the 32-bit dll so it now matches the function declarations in the PB code.

  1. Helpful
There are no comments made yet.
Eduardo G. Accepted Answer Pending Moderation
  1. Monday, 8 January 2018 12:17 PM UTC
  2. PowerBuilder
  3. # 4
Comment
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Tuesday, 2 January 2018 20:54 PM UTC
  2. PowerBuilder
  3. # 5

Hi Clarence;

  Shenn is probably correct. The issue will most likely be with the DW2XLS vendor`s product. I suspect that you may need to get a more recent version of DW2XLS that is  PB 2017 compatible.

Regards ... Chris

Comment
There are no comments made yet.
Shenn Sellers Accepted Answer Pending Moderation
  1. Tuesday, 2 January 2018 19:34 PM UTC
  2. PowerBuilder
  3. # 6

We have the version that was labeled to be used with PB 12.5.  I am using this version just fine with PB 2017.  I did try to download and use the build for PB 2017, but I kept experiencing issues with it.  So that is why I reverted back to the PB 12.5 version.  My guess is the DW2XLS makers need to redo the PB 2017 version as there is something screwy with it.

Comment
  1. Moshe Tangi
  2. Wednesday, 30 May 2018 11:15 AM UTC
Hi Shenn



How do you able to use the 12.5 version with pb 2017 ? i tried and got the error that the object is out of date ,



and because its a pbd file i can't do regenerate

  1. Helpful
  1. Shenn Sellers
  2. Wednesday, 11 July 2018 17:33 PM UTC
If you purchased the product, you have received a PBL of the library. I believe the PBD is just for the demo.
  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.