1. Eric Verhorstert
  2. PowerBuilder
  3. Tuesday, 15 March 2022 14:03 PM UTC

Converted a PB 12.5 application to PB 2021 build 1506.

Conversion went fine. The program can be started with the IDE.

The exe that is created does not start. When the exe is started with /pbdebug the last lines in the file are:

 

Executing object function +CREATE for class N_CST_GNV_LANGUAGE, lib entry N_CST_GNV_LANGUAGE
Executing instruction at line 2
Executing object function +CREATE for class N_CST_GNV_BASIS, lib entry N_CST_GNV_BASIS
Executing instruction at line 2
Executing object function +CREATE for class NONVISUALOBJECT, lib entry _TYPEDEF
End object function +CREATE for class NONVISUALOBJECT, lib entry _TYPEDEF
Executing instruction at line 3
Executing object function TRIGGEREVENT for class N_CST_GNV_LANGUAGE, lib entry N_CST_GNV_LANGUAGE
Executing system dll function
Executing event +CONSTRUCTOR for class N_CST_GNV_LANGUAGE, lib entry N_CST_GNV_LANGUAGE
Executing instruction at line 1
Executing object function +CONSTRUCTOR for class N_CST_GNV_BASIS, lib entry N_CST_GNV_BASIS
End object function +CONSTRUCTOR for class N_CST_GNV_BASIS, lib entry N_CST_GNV_BASIS
Executing object function +CREATE for class DATASTORE, lib entry _TYPEDEF
Executing instruction at line 5089
Executing object function DATASTORECREATE for class DATASTORE, lib entry _TYPEDEF
Executing system dll function
End class function DATASTORECREATE for class DATASTORE, lib entry _TYPEDEF
Executing instruction at line 5090
End class function +CREATE for class DATASTORE, lib entry _TYPEDEF
Executing instruction at line 1
Executing instruction at line 2

 

I suppose the last two lines (executing instruction at line 1 / line 2) refer to the constructor event of N_CST_GNV_LANGUAGE. The two lines are:

ids_language = create datastore
ids_language.dataobject = 'dw_language'

 

What can we try to find out why the exe stops here?

Accepted Answer
Benjamin Gaesslein Accepted Answer Pending Moderation
  1. Wednesday, 16 March 2022 13:50 PM UTC
  2. PowerBuilder
  3. # Permalink

Hi Eric,

the deployed application likely crashes because it cannot find the dataobject. If you do not deploy pbds, you must create a res file containing a list of all "loose" objects and associate it with the application. By loose I mean any objects that are not directly referenced. This mostly applies to datawindow objects, which are assigned as a string but may also include other objects that are created with the CREATE USING "<string>" syntax. These objects will not be compiled into the executable otherwise and cannot be found at runtime.

If you have a lot of such objects, deploying PBDs is usually the more feasible approach.

Comment
  1. Eric Verhorstert
  2. Wednesday, 16 March 2022 15:18 PM UTC
We have created a resource file. There are about 700 lines in this resource file and the datawindow is in. In PB12.5 everything works fine.

You are completely correct that it fails on line: ids_language.dataobject = 'dw_language'



In the windows event I see:

Naam van toepassing met fout: xxx.exe, versie: 2022.1.0.0, tijdstempel: 0x61e55e53

Naam van module met fout: pbdwe.dll, versie: 21.0.0.1506, tijdstempel: 0x61e55fbf

Uitzonderingscode: 0xc0000005

Foutmarge: 0x000b0101

Id van proces met fout: 0x520c

Starttijd van toepassing met fout: 0x01d83942ba9a7bed

Pad naar toepassing met fout: C:\xxx\Program\xxx.exe

Pad naar module met fout: C:\Program Files (x86)\Appeon\Common\PowerBuilder\Runtime 21.0.0.1506\pbdwe.dll

Rapport-id: 6e133190-a291-434f-9aee-2178312f5be0

Volledige pakketnaam met fout:

Relatieve toepassings-id van pakket met fout:
  1. Helpful
  1. Eric Verhorstert
  2. Wednesday, 16 March 2022 15:30 PM UTC
This was stupid of me. Everything was in the resource file but I copied the source from c:\dev to c:\dev2021 and forgot to change the path in het resource file.



Thanks for the help.
  1. Helpful
  1. John Fauss
  2. Wednesday, 16 March 2022 16:21 PM UTC
I've done that, also, Eric, as have many others, so don't feed bad. Glad to hear you found the cause of the problem!
  1. Helpful
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Tuesday, 15 March 2022 16:38 PM UTC
  2. PowerBuilder
  3. # 1

Hi Eric;

    From the naming convention of the UO, it looks like your App is using the PFC framework. If so, when you upgraded, you might also need to make sure that the PFC version that you are using matches the PB version that you are using. The other possible issue could be that you did not deploy all the PBD files for your App properly.  HTH

Regards ... Chris

Comment
  1. Eric Verhorstert
  2. Wednesday, 16 March 2022 09:08 AM UTC
Hello Chris,



Thanks for the answer. We do not use PFC. I run the exe on the same PC where PB2021 is installed. We don't have any pbd's. We include all pbd's in the exe.



Thanks

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