1. Jason Ross
  2. PowerBuilder
  3. Wednesday, 13 October 2021 00:40 AM UTC

I have a deployed version of powerbuilder 2021 build 1288 and when accessing a calendar dropdown the application crashes with this error.

I have these two functions in my code which call the user32.dll which is directly where the error message is pointing to. I have a copy of user32.dll in my deployed workspace and for some reason the error is still occurring - other .dlls seem to be working fine.

FUNCTION ulong win_GetFocus() ALIAS FOR "GetFocus" LIBRARY "user32.dll"

FUNCTION ulong win_GetClassName(ulong hwnhttps://i.stack.imgur.com/7PmNS.pngd, ref string cname, int buf) ALIAS FOR "GetClassNameW" LIBRARY "user32.dll"

 

Accepted Answer
Roland Smith Accepted Answer Pending Moderation
  1. Wednesday, 13 October 2021 01:18 AM UTC
  2. PowerBuilder
  3. # Permalink

The correct definition for GetClassName is:

Function long GetClassName ( longptr hWnd, Ref string lpClassName, long nMaxCount ) Library "user32.dll" Alias For "GetClassNameW"

The string argument must be prefilled with the Space function before calling it. MaxCount is the number passed to the Space function. I would use 250.

Comment
There are no comments made yet.
John Fauss Accepted Answer Pending Moderation
  1. Wednesday, 13 October 2021 04:59 AM UTC
  2. PowerBuilder
  3. # 1

In addition to what Roland has pointed out, I do not think it wise to place a copy of a Windows system DLL in your application's deployed workspace/folder.

Comment
  1. Jason Ross
  2. Friday, 15 October 2021 01:41 AM UTC
Thanks, makes sense, was unsure if it was correctly referencing any DLLs initially so that's why I put it in the deployed workspace but will take it out now.
  1. Helpful
There are no comments made yet.
Jason Ross Accepted Answer Pending Moderation
  1. Friday, 15 October 2021 01:39 AM UTC
  2. PowerBuilder
  3. # 2

This worked, greatly appreciate the help and quick response, thanks.

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.