Hello:
We are working on a routine that allows an MVBA application to reference a (C#) DLL and allows the VBA to make calls to the DLL which in turn make calls to ProjectWise. In this case we are copying out all files stored in ProjectWise in the same folder as the active design file.
This situation is working perfectly when it is executed from within MicroStation. The code makes a call to get the active session and copies down all the remaining files from the folder that the active design file belongs to.
However, when we execute the same code from PowerGeopak, the system wants to force another user login. Regardless of how the login dialog is handled (filled-in; canceled); PowerGeopak crashes.
We have tried forcing a login from the code-side and if we do that, we get a “ Multiple Sessions“ error....even though we should be able to create concurrent logins.
For some reason, PowerGeopak is not allowing the access to the active ProjectWise session that MicroStation does.
Is there a special “handshake” that will allow our program to “talk” to ProjectWise via the active connection under Power Geopak?
Is there a special API that applies to PowerGeoPak that we need to use?
We are testing this against MicroStation SS4 (081109829) and PowerGeopak SS4 (081109885) - both under the "Untitled Workspace"
Thank You
Additional information:
with all of our testing it seems the "bottom line" is that the integration for both PowerGeopak and MicroStation are prohibiting us from connecting to the ProjectWise Database/active connection. How can we make a connection through the integration...or around the integration. When the products are not integrated,our MicroStation tests are successful but the PowerGeopak still fails. Are there any VBA to projectWise examples? Thanks!
I don't have VBA to Pwise examples. I have only worked in C++ and C#. Have you tried using aaApi_GetCurrentSession to determine if there is an active session of ProjectWise? If there is a current session then there is not a need to log in. If there is not a current session, then you would need to use aaApi_Login leaving User and Password null for single sign on. In addtion, in the menu in AutoCAD that calls my code I execute DMSOFF which turns off the integration temporarily this may help as well if you have that in Microstation.
Thanks Dean.
yes, we are using the "getCurrentSession" call...but it seemed like it wasn't letting us use that session ..and if we tried to log in, it gave us a "multiple logins not allowed" error. The "DMSOFF" might be the key...we will try that and report back here. Thanks for your input!!
- Bob
no luck yet. while AutoCAD and Office have a "Disable command" (DMSOFF). as near as I can tell...the only way to disable the integration for MicroStation/PowerGeopak is to set the config variable (in the PW.cfg file) and re-start. still looking, maybe I'm missing something.
Thanks!
Hi Bob,
The quickest and best results will come with doing the following:
HTH,Bob
hey Bob.
.... We can set up the dumps etc. but I have a quick question....
Does this mean that you think this type of code should be working?
We were operating on the idea that we were not interfacing with the integration properly.
in MicroStation; if we shut down the integration....it works flawlessly.
true enough, that in PowerGeopak is does not work either way...
We were sort of expecting/hoping there was some sort of example code for this sort of program.
we "took a shot" but really we did it in the "dark" we have never seen or read anything on how this "should be done".
Are there examples of code that run in the graphics environment (i.e. GEOPAK, MicroStation...) and make API calls to ProjectWise?
or a white paper on how to do it?
thanks!!
B