on 02-26-2015 6:34 PM
This application has *139* PBLs
Orcascript build completes without error.
This application build fine from within the Project Painter in the IDE
But when executing an ORCAScript generated EXE, resources are not found at runtime as if they are not available in the PBDs.
I get these sort of things all over the application
Is the PBDFlag string too long for ORCAScript???
Here are some snippets:
//*
start session
scc get connect properties "ywTrunkTFS.pbw"
scc connect
scc set connect property logfile "BuildViaORCAwithGLV.log"
scc set connect property logappend "false"
scc set target "smartsoft.pbt" "OUTOFDATE"
scc refresh target "3PASS"
build application full
build library "advance.pbl" "" pbd "" pbd
build library "adv_dw.pbl" "" pbd "" pbd
...137 more of these....
build executable "Smartsoft.exe" "Smartsof.ico" "Smartsof.pbr" "NYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY"
I have the same result when building without source code refresh
start session
Set LibList "grain.pbl;adv_dw.pbl;adv_dw1.pbl;.....136 more......
build application full
build library "adv_dw.pbl" "" pbd "" pbd
build library "adv_dw1.pbl" "" pbd "" pbd
...136 more....
build executable "Smartsoft.exe" "Smartsof.ico" "Smartsof.pbr" "NYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY"
***What is happening here?
Is w_sa_edit_sales_costs_search opened using
1. Open(w_sa_edit_sales_costs_search)
or
2. Window w_temp
Open(w_temp, "w_sa_edit_sales_costs_search")
If it is done using method 2, try declaring an application variable that you will never use:
w_sa_edit_sales_costs_search w_test
And try your recompile and execute. Of course a local declaration or changing the code to use method 1 would work just as well.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Yakov;
FYI: I spent about a month last year looking at this very type of issue at one of my Canadian government clients (HRSDC) on one of their big human resources applications. Between the HRSDC develop and I we tried various options and could never make the build EXE work from ORCAScript - even with a clean generation. The only way we made the EXE build correctly was from the PB IDE.
I suspect that there are still some bugs in ORCAScript that need to be resolved when compiling large PB applications. I feel your pain on this one (been there, done that).
Regards ... Chris
Thanks for sharing your experience, Chris.
The real challenge here is getting focus on the issue and getting it resolved. Because of the sensitive nature of source code, opening a reproducible case through submitting full source code is not an option. Creating a case by simulating the situation is a hit or miss time consuming operation of dubious outcome.
It is real important for my current project to implement automated building. I will next try using Roland Smith's ORCAApi. It bypasses ORCAScript and goes directly to the ORCA API.
I know the IDE has certain 'privileges' because dashes-in-identifiers compiling is supported in the IDE and NOT supported by ORCA. It may have others, such as long library lists, too.
Seems like Very Large Apps and PowerBuilder Compiling is uncharted water.
Anyone else have an experience to share?
Thanks to PBOrcapi by TopWiz Software I was able to bypass ORCAScript and interact directly with the ORCA API using PowerScript.
I was able to produce a working executable with 137 PBDs outside the IDE, that did not exhibit the window load errors I described above.
Thank you Roland Smith for our assistance in achieving this milestone.
Caveat I used the provided TopWiz UI tool to do the job, but I am confident that I will be able to produce my own fully functional build utility in PowerScript that I will integrate into a complete build solution)
Hi Chris / Yakov,
I am facing similar another issue with Build script - May be due to build script.
When I run application (executable) built using build script (PB ORCA 12.6) - Some windows is not getting opened properly . after investigation we found that those Window' ancestor open event is not getting triggered and due to that behaviour defined in Ancestor event is not functioning.
When I built executable using PB 12.6 IDE then application is working fine without any issue.
After more investigation we found that when we run application (executable built using PB ORCA 12.6 script) then COMCTL32.DLL loaded twice with two different versions (5.82.6001.18000 & 6.10.6002.18005) due to that those windows not behaved correctly.
When we run executable built using PB IDE then only COMCTL32.DLL (with version 6.10.6002.18005) loaded & its working fine.
Also one more thing we noticed - when we built executable using PB ORCA script then Description and company name is displayed as below - this is minor issue.
Description | Company Name |
Sybase Inc. Product File | Sybase, Inc. |
Can someone suggest ? same bug reported to SAP PB12.6 ?
Thanks & Regards,
Devang Modi.
Hi Devang;
I think that your problem started before v12.6 as one of my Canadian Government customers (ESDC formerly HRSDC) was having the same issues with PB 12.5.1 just over a year ago. No matter what we tried, the OrcaScript compile failed to properly build the EXE whereas the build from the IDE always worked 100%. The application .EXE failure was similar to your observations.
ESDC did register a formal problem ticket with SAP and also supplied a copy of their OracScript script settings. However, I never did hear about a fix from SAP and I believe that ESDC finally gave up waiting for a fix and went to an IDE build only.
Regards ... Chris
Echoing Chris' comment, we abandoned ORCAscript long ago in favor of PBORCapi from TopWiz systems. I built a custom build processor which we use as part of our continuous integration processor and for production builds. Also note that the latest Bootstrap tool from TopWiz has a build facility which gracefully handles ORCA aborts .and continues processing. We have IDE commandline launched batch build process process that intermittently aborts in the IDE that we replaced using the new Bootstrap Compile process.
After build using new PB 12.6 4096 patch - issue is not getting resolved.
Two versions of COMCTL32.DLL is still loading when I build it using PBORCA script.
I built it on Windows 2012 and running executable on Windows 2008 SP2. Is it due to OS version mismatch. But application is running fine when we built it using PB12.6 IDE ( which is also on Windows 2012) .
Any pointers to solve ?
Hi Devang,
Please be aware that Windows 2012 is not a supported platform for PowerBuilder 2016 at design time:
Release Bulletin - SAP Library
This is probably the root cause.
You should consider using another O.S to build your EXE with Orca.
HTH,
Jacob
I had this but it was unrelated to a migration or ORCA.
I had modified(almost rewritten) an ancestor when I started to receive this message.
I verified the object existed and only in one library. Tried a number of possible solutions:
1. exported the window(dataobjects)) in question so if any issues arose I could import later.
2. Went into the PB BROWSER to find the window(object) ,right clicked and then edit. When it opened, I looked to see which PBL it wanted to save it too. This would verify I was looking in the right place.I also put a random space in and did a SAVE to see if any errors would display.
3. Right clicked on the PBL with the object and did an Optimize (why I exported) this will provide insight into some missing objects or errors it might be seeing. There was significant information there. Working with those suggestions I made changes. Optimize sometimes deletes objects.
4. Then I did a full rebuild (3 times). Testing after each rebuild.
I remember (years ago) embarrassing remark, when there were ancestors to either determine order and regen accordingly or do Rebuilds multiple times.
It resolved the issue for me. It was a journey.
I did not have 139 PBL's. Frankly, I am surprised PB supports it. Are they all being used? Could there be duplicate objects? How did you find the Library list? Did you see the app run successfully? In particular the object where you are seeing the error? No, I do not expect you to answer those questions for me.
BACKGROUND: the app I am currently working is from the late 80's early '90s. Its 3rd party and the company was sold three times and now no longer exists. The ancestor changes across companies are not consistent.
Unrelated, another thing I see which causes errors is they(3rd party app) sometimes (not always) code e.g.
GetItemString(row, column)
They do not preface with THIS or an Object name. They rely on Focus being on the object which does work and I also was surprised at. Why I mention this, any changes I make no matter how small can break the app because of this.These GetItems are in the Ancestor. An Enhancement causing focus change which when corrected then causes much regression testing.
Yakov,
They are so lucky to have you! I can't imagine anyone else who could work with this migration. Good Luck, if I can help or you just want to talk it through, I would be happy.
There is a lot of info here you may only find one piece that applies (hopefully) but I thought too much better than not enough.
Chris Moyer
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
82 | |
9 | |
9 | |
7 | |
7 | |
7 | |
7 | |
6 | |
5 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.