1. Hussain Albloshi
  2. PowerBuilder
  3. Tuesday, 6 September 2022 01:42 AM UTC

I have use the QRCodeGenLibrary.dll   in powerbuilder 2021 its working after install powerbuilder 2022  i get error   

please help soon   

Attachments (1)
John Fauss Accepted Answer Pending Moderation
  1. Saturday, 10 September 2022 15:19 PM UTC
  2. PowerBuilder
  3. # 1

Several people are trying to help you find a solution, without success, so let's try a restart.

There are a lot of details that all have to addressed in order for PB to interface with ANY external function. We do not have this DLL, so we need you to supply us with these details.

In order to find an answer, we need you to give us answers to several questions, so please provide responses to all of the following questions:

  1. Is the QRCodeGenLibrary.dll supplied by a vendor? If so, who is the vendor and is there a URL to any documentation? If not, where did the source code for the DLL come from? GitHub? If so, can you please supply the URL to the GitHub project?
  2. DLL source code language, if known (C#, C++, Delphi, etc.)
  3. Do string arguments need to be ASCII-encoded (single byte/character) or 16-bit Unicode (2 bytes/character)?
  4. Can you supply a link to or copy/paste any documentation or source code that describes the DLL's entry point/function name and arguments? This will help us determine the proper PB datatype for each of the arguments.
  5. Does the entry point(s) use the __stdcall calling convention?
  6. Is the DLL 32-bit or 64-bit?
  7. Are you calling this from a 32-bit or 64-bit PB 2022 application?
  8. Please show us the External Function Declaration (EFD) in the PB 2021 app (that works) that PB uses to call each of the functions in the QRCodeGenLibrary DLL.
  9. Please show us the PowerScript code in the PB 2021 app that calls the DLL function successfully.

 

Comment
  1. Fabrizio Viscardi
  2. Monday, 8 January 2024 15:25 PM UTC
It's simple: if the application is compiled in 32-bit P-code the library works perfectly. if the application is a 64-bit P-code the library does't work and gives the errror.

I have not ound any source in C or c#
  1. Helpful
  1. Armeen Mazda @Appeon
  2. Monday, 8 January 2024 15:45 PM UTC
Ken already gave you the answer. You will need a 64-bit compatible version. If you don't have the source code and a 64-bit version doesn't exist, you will either need to stay with 32-bit P-code or find a different DLL for QR Codes.
  1. Helpful
There are no comments made yet.
Ken Guo @Appeon Accepted Answer Pending Moderation
  1. Friday, 9 September 2022 07:12 AM UTC
  2. PowerBuilder
  3. # 2

Hi Hussain,

 

We found a similar case on Github that calls QRCodeGenLibrary.dll: https://github.com/thansuoi113/PowerBuilder-QRCode-API-Generator, which works properly in PB 2022 32-bit, but in 64-bit, it has the problem same as yours. The QRCodeGenLibrary.dll used in this case is a 32-bit DLL. If you have the source code, we suggest you compile it to a 64-bit DLL.

 

If you don’t have the source code, you can consider using calling .NET assemblies to implement this in 64-bit.

https://github.com/codebude/QRCoder

A pure C# Open Source QR Code implementation

 

If the problem remains with 64-bit DLL, please first check if you intend to migrate the application from 32-bit to 64-bit, please refer to Migrating 32-bit Applications to 64-bit for the factors that must be considered for the job. And kindly please report this problem via our Support System at https://www.appeon.com/standardsupport/newbug.

 

 Regards,

Ken

Comment
There are no comments made yet.
John Fauss Accepted Answer Pending Moderation
  1. Wednesday, 7 September 2022 19:27 PM UTC
  2. PowerBuilder
  3. # 3

Hussain -

I seem to recall having seen a note from Appeon about arguments passed to/from external DLL's in PB 2022, stating that the datatype checking was now going to be more stringently enforced due to PB using a newer version of the C++ compiler under the covers, but I cannot find the reference to this statement.

Assuming for a moment this is true, it is entirely possible for an external function declaration (EFD) that worked in PB 2021 and earlier to no longer work in PB 2022.

You have not yet provided the requested EFD(s) being used to interface with QRCodeGenLibrary.dll... there is no EFD referencing a DLL having this name in the reply to Chris you posted earlier. If you would please show us the EFD(s) to this DLL, we might be able to suggest some corrections for you to try.

It would also be very helpful if you can provide some documentation from the vendor that describes the API function(s) you are calling, so that we can make every attempt to supply those function(s) with the proper PB arguments.

Best regards, John

Comment
  1. Chris Pollach @Appeon
  2. Wednesday, 7 September 2022 20:08 PM UTC
That is what I said in my initial post. ;-)
  1. Helpful
  1. John Fauss
  2. Wednesday, 7 September 2022 20:18 PM UTC
I know, Chris - I'm just trying to encourage Hussain to give us sufficient information so that we can help him.
  1. Helpful 1
There are no comments made yet.
mike S Accepted Answer Pending Moderation
  1. Tuesday, 6 September 2022 13:03 PM UTC
  2. PowerBuilder
  3. # 4

sounds like the dll is not being found. make sure it is the in the current directory 

Comment
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Tuesday, 6 September 2022 02:15 AM UTC
  2. PowerBuilder
  3. # 5

Hi Hussain;

  PB 2022 uses a much newer version of the C++ compiler. I suspect that you'll need to refactor your DLL method(s) calling parameters. If you post your external method declaration (S), we can probably guide you.

Regards .... Chris 

Comment
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.