我有 3 个 PB 目标,每个目标都考虑一个模块及其 exe,但现在我需要在 3 个模块之间进行集成,并且我需要成为一个 exe。我建议创建新目标并在其中调用所有其他 3 个模块,但我需要用户感觉使用一个 exe。我为每个模块使用 Outlook 界面。
1 回答
It's entirely possible to make a new target using PBLs (P ower B uilder object L ibraries - spaces required by SO editor for bolding to work, sorry) from existing targets and create a new target using an existing application object or different application object. There are a few things you'll need to watch out for.
References to other objects in your code will translate to references to the compiled versions of those objects, so if A references B in Target1, then if B compiles a little differently in Target123, then A may not work correctly. You'll find yourself doing a lot more Full Builds when you switch between projects.
Of course, you'll need to watch for code-level issues like compatibility of global variables, and whether code from Target1 objects use the global variables differently than objects in Target2 (or expect exclusive use of the variables).
Duplicate objects (same name, same type, different PBLs) is an issue to be aware of, especially if objectA in Target1 has different code than objectA in Target2. You don't mention PFC in your question, but you've tagged PFC; if you have custom extensions in each target or if each target is based on a different version of PFC, duplicate objects will be a massive issue for you. When you unify PBL lists, the first object in target library order will get picked up, and the others ignored. PBL Peeper (www.techno-kitten.com, a little self-promotion) will help you identify duplicates and compare them.
There are probably plenty more issues you'll need to deal with, including a design of what is going to happen to the application experience when these are "integrated". This might be trivial, or it might be a nightmare.
Good luck,
Terry.