1. Cheri Hutchinson
  2. PowerBuilder
  3. Thursday, 21 November 2019 01:17 AM UTC

Is there a way to recover some of the objects that are in a PBD file and get them back into a PBL? My company keeps the developer's checked out files on the C drive of each person's computer. They took my computer to upgrade to Windows 10 and when they brought it back it had been totally re-imaged and everything on the C drive was lost! There were several critical objects that were in a build on a network drive as part of a Test release so I have those objects in their PBD form. I need the source code so I can make some final changes and check it back into our source saver.

PowerBuilder 2017 R2 if that makes any difference.

Any help would be appreciated. Am frustrated enough having to reload software and versioning systems. Due to the stress I will need VERY specific instructions.

Cheri

Cheri.hutchinson@gbrx.com

work: 503-598-3803

Olan Knight Accepted Answer Pending Moderation
  1. Friday, 20 December 2019 18:55 PM UTC
  2. PowerBuilder
  3. # 1

I'll add to the general discussion bymentioning that it is FAR easier to recreate code you have already developed than to develop it in the first place.

 

If you sepnt 4 weeks codeing X, then getting back into an oldm, pre-X version of the code and starting over you will progress MUCH faster.

Not perfect, and not fun, but way better than starting with nothing. I speak from experience.  :)


Later -

Olan

Comment
There are no comments made yet.
Roland Smith Accepted Answer Pending Moderation
  1. Thursday, 21 November 2019 11:30 AM UTC
  2. PowerBuilder
  3. # 2

I have a free tool called DWFromPBD which can extract DataWindow objects from a PBD.

http://www.topwizprogramming.com/tools.html

 

Comment
There are no comments made yet.
Miguel Leeuwe Accepted Answer Pending Moderation
  1. Thursday, 21 November 2019 08:50 AM UTC
  2. PowerBuilder
  3. # 3

Hi,

 

There's a very good decompiler for pbd files It's not free, but it might be worth it:

http://www.pb-decompiler.com/shudepb_en.asp

There's a demo version which limits the amount of lines recovered, but might give you a good indication on how well it works.

Comment
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Thursday, 21 November 2019 02:40 AM UTC
  2. PowerBuilder
  3. # 4

Hi Cheri;

   My suggestion would be to contact Don Clayton at Appeon's USA partner. Don has special software that can reconstitute any object class and PowerScript from a PBD file. He has helped numerous PB developers accomplish this type of recovery.

FYI: InterTech

HTH

Regards ... Chris

Comment
  1. Cheri Hutchinson
  2. Thursday, 21 November 2019 04:20 AM UTC
Thanks Chris!

I reached out to InterTech. Perhaps I will hear something tomorrow.
  1. Helpful
There are no comments made yet.
Cheri Hutchinson Accepted Answer Pending Moderation
  1. Thursday, 21 November 2019 01:58 AM UTC
  2. PowerBuilder
  3. # 5

Thank you Michael! I will dig further.

We still have the source safe versions, so I can restore most of the app, just not the work I spent the last month doing. We use TFS for source control but are hoping in the near future to start a rewrite of one of our large PowerBuilder apps using PowerBuilder 2019. That is a short way off, but now will be a bit longer, waiting for me to recover and get things back to where they are in the Test build. Fortunately that build is on a network/backed up drive, but the actual source for those new items in the build are not because they had not been checked in yet - per standard process here.

Sleep well.

Comment
There are no comments made yet.
Michael Kramer Accepted Answer Pending Moderation
  1. Thursday, 21 November 2019 01:39 AM UTC
  2. PowerBuilder
  3. # 6

Hi, PBL and PBD files contain:

  1. List of all source objects in the file (a directory incl. where in file the object is located)
  2. The text defining each DataWindow object
  3. Compiled version of every class (remember even global functions, structures, and application object are classes though each is restricted in some way)
  4. Source code version of every class -- ONLY in PBL, NOT in PBD

Therefore - and I'm very sorry - from a PBD you can get the source code for every DataWindow object but the source code for every PowerScript class in that library is GONE!

Even the best and costliest decompiler can only get back partial source code.

  • EX A: Conditional compile may have resulted in .PBD just having empty lines in certain code areas
  • EX B: Project objects have no compiled equivalent so they are totally gone. Completely.

The ONLY way to get your PBL files back including all source code is either backup (which I understand is not available) or retrieving from source control. NOTE: Even from source control standard properties of application object are only partially available.

NOTE
App icon and default fonts you will have to enter once more. They ONLY exist in the compiled version of the app object. This Appeon tells is improved in upcoming release but that doesn't help you right now, today.

Do you have a backup even if it is "old" like weeks old or so? "Get Latest" from source control is far easier if you have oudated version of source code than no code at all.

I guess you use traditional/legacy source control (read: Not native source control for git nor SVN). In that case I suggest ytou do Get Latest twice. First time will create PBL files you are missing. Second time will get all the source code for the new PBL files.

If you have no backup and no tools like PBGEN to recreate all from source then it is still possible to recreate all from scratch albeit tedious - and as noted above a few properties on the application object must be entered explicitly. Hopefully you have back to jump start your source recovery.

 

Wishing you luck (in Europe at CET) so it is WAY late for me. Perhaps someone in the Americas or Asia can help you further while I and other PB folks in Europe/Middle East/Africa get some sleep.

HTH /Michael

 

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.