-2

PowerBuilder application has some limitations on how objects are managed in libraries. for example there is no way i can copy user object from one library to another through script.

I am looking for some way to monitor the PowerBuilder application and record sequence of system events performed in library painter. Based on recorded events i want to have a list of win32 API calls that were made for those actions. And in the end reproduce same results with win32 API calls i recorded.

The Purpose is to bypass use of PowerBuilder IDE for library functions.

Please tell me how is that possible?

Ver: PB 12.5 / Win 7, 8.1

Peter Duniho
  • 68,759
  • 7
  • 102
  • 136
Shoki
  • 21
  • 12
  • 1
    Use Process Monitor. https://learn.microsoft.com/en-us/sysinternals/downloads/procmon – Michael Gunter Mar 19 '19 at 16:07
  • 1
    [Time Travel Debugging](https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/time-travel-debugging-overview). – IInspectable Mar 20 '19 at 09:24
  • The API calls recording is the best i think i should go for. at least i can see why my app crash. moreover that there are chances i can reproduce same actions without running original app. I used process explorer which is nice app for process monitoring but TTD is new for me. i need some time to figure out if there is way to solve those issue. – Shoki Mar 23 '19 at 08:49

1 Answers1

1

You can use ORCA functionality to update the library files from an external application. Look at the PDF file under the SDK\ORCA folder. There is a function PBORCA_LibraryEntryCopy.

It would be helpful if you told us what version of PowerBuilder you are using. Also more detail on why. What is it that you want to accomplish? There could be a simpler method that you didn't think of if we knew exactly what and why.

Roland Smith
  • 957
  • 4
  • 7
  • My PB app check for duplicate objects, export them or look for child objects if window name is given. many other options were included but all my work stopped at when i needed to copy, move, delete objects. fortunately, ORCA option is there that i will use for sure. But this does not end problems with PB app. There are many places where i could not find reason of unexpected behavior. Unfortunately SAP is not working on 64bit PowerBuilder IDE and on my side there is no hope for an upgrade of the PB 12.5 32bit IDE. The idea i have is based on how PB app generates win API calls. – Shoki Mar 23 '19 at 08:41
  • Many issue are with ActiveX controls used. PB IDE itself crashes during development. Running 2 IDEs at the same time quickly generates errors. All that is so annoying sometime i think i should take the good and leave the bad with PB. moreover that my other PB App have more than 6K objects so using design mode is almost useless with that many objects. regenerating or searching in IDE takes too much time. That project took more than a decade of development and updates. many developers made hands dirty in it. so i needed another app just to manage Libraries. – Shoki Mar 23 '19 at 09:31
  • If i make it very simple, really, i want good functionality of PB IDE extracted from it and use it somehow without PB. or at least i can see where my app without any reason crashes. i dont know how but if everything is the win32 API wiring under the hood then why not open it. – Shoki Mar 23 '19 at 09:36
  • The way i want to use this idea: I will make app in PB and generate executable file. Run the executable while monitoring and recording it for API calls. close my app and run the recording. next, i will do cutting functionality out of recording just like a video cutter is used. And finally every little piece of cutting will run as complete executable file. – Shoki Mar 23 '19 at 09:46
  • someone there too sick to add a line for reason why my question is marked negative.so that is why i keep getting -1 on every next question. crapoverflow – Shoki Mar 23 '19 at 10:32
  • Like I said, you can use ORCA functions to copy/delete objects. Any function that does not use callbacks can successfully called from PB. – Roland Smith Mar 24 '19 at 14:20
  • The app I work on using PB 12.5 has over 10,000 objects and I don't have any issues. Perhaps you have too many objects in each library or a lot of unused objects. I use PBSearch to find my way around and it already has an unused object report with move/delete. http://www.topwizprogramming.com/pbsearch.html – Roland Smith Mar 24 '19 at 14:22
  • your app has nice interface https://imagebin.ca/v/4bTuUIJ0lq35. only difference is that my app if given selected windows then it can tell how many objects are related to those windows. it makes easy to separate modules from a project. https://ibin.co/4bTrw02lXAxR.png. but it is true that speed of searching objects is much more faster that PB IDE interface. i will make it available for free with source when i will add few more features. – Shoki Mar 26 '19 at 04:50