Question PDSOE Debug settings

Hello Guyz,

I have setup my PDSOE instance to work with our dev environnement.
Openedge version 11.6

There is my propath setup:
1691574675747.png
Where \dev_vgoutey is my project directory.
So the way i have set it up is that when we need to work on an existing program or create a new one we will mote it/creating it in the project folder.
I will be read as a the runing one because of the propath order.

The debug running configurations is has below:
1691586453634.png

I'm forced to go by the login program that initizialied many standard function in persistent that I don't have access to and I need them to run any of my actual program.
So I managed to logged in and be connected to the right DB with my credential. It's able to launch the program I'm trying to update in place of the one in production directory. But the debugging won't take in account the break point and so allowing me to debug.

Do you have any idea of what I'm missing?


Thanks in advance,

Best Regards,

BobyIsProgress
 
Hello,

I managed to run my window program and debug it by passing by a procedure file like this:

Code:
/*------------------------------------------------------------------------
    File        : progLauncher.p
    Purpose     :

    Syntax      :

    Description : Lancer en debug une suite de programme


    Author(s)   :
    Created     : Tue Sep 05 16:01:59 CEST 2023
    Notes       :
  ----------------------------------------------------------------------*/

/* ***************************  Definitions  ************************** */

BLOCK-LEVEL ON ERROR UNDO, THROW.

/* ********************  Preprocessor Definitions  ******************** */
RUN com/pinfo01.p PERSISTENT(YES) .

RUN vignal/wxLOGTauxServiceFRS.w .

The more important think was the call the procedure com/pinfo01.p .

I would like to know if it's possible to set a configuration with a list of persistent proc to be run with?

Best Regards,
 
Hello Guyz,

@Osborne thanks for your help.

I come here with a solution based on this KB: 000172163

I have update the main-block of adecomm/_runcode.p here:
Code:
DEFINE VARIABLE isArchitect AS LOGICAL NO-UNDO. /* to put in the DEFINITION block */

/* to put in the MAIN-BLOCK */
  /* Changes to _runcode.p*/
  isArchitect = OS-GETENV("ABL_LAUNCH_MODE") EQ "run".
 
 
  IF v_RunPersist = FALSE THEN
  DO:
    IF isArchitect THEN
        RUN VALUE( p_RunFile ) "Architect_Is_Running".
    ELSE
        RUN VALUE( p_RunFile ).
  END.
  ELSE
  DO:
    /* Run the user's file persistent. */
    IF isArchitect THEN
        RUN VALUE( p_RunFile ) PERSISTENT SET p_hProc "Architect_Is_Running".
    ELSE
        RUN VALUE( p_RunFile ) PERSISTENT SET p_hProc .
       
    /* If the user has already deleted their own persistent procedure,
       then we don't wait in our window.  We take it to mean the user
       has nothing to run persistently.
    */
    IF VALID-HANDLE( p_hProc ) AND VALID-HANDLE( p_Stop_Widget ) THEN
    DO:
      /* If valid, we will use the persistent procedure's current window to
         check for events which close the window and hence close the
         persistent procedure.
      */
      ASSIGN hCurWin = IF VALID-HANDLE(p_hProc:CURRENT-WINDOW)
                       THEN p_hProc:CURRENT-WINDOW
                       ELSE DEFAULT-WINDOW.
      /* In addition to waiting for CHOOSE of the stop widget, we also
         wait for the events most likely to close a persistent window:
         WINDOW-CLOSE and CLOSE.  By default, if the user does a Window Close
         (Alt+F4) in a persistent window, the .w code sends a CLOSE event
         which we detect here along with WINDOW-CLOSE and force a STOP.
      */
      WAIT-FOR    WINDOW-CLOSE,CLOSE OF p_hProc
               OR WINDOW-CLOSE,CLOSE OF hCurWin
               OR CHOOSE             OF p_Stop_Widget.
    END.
   
  END.

And there in the Defintion block of the program I'm testing:
Code:
&if "Architect_Is_Running" &then
    DEFINE VARIABLE hdl AS HANDLE NO-UNDO.
    hdl = SESSION:FIRST-PROCEDURE.
    DO WHILE VALID-HANDLE(hdl) :
        IF hdl:NAME = 'com/pinfo01.p' THEN LEAVE.
        hdl = hdl:NEXT-SIBLING .
    END.
    IF NOT VALID-HANDLE(hdl) THEN RUN com/pinfo01.p PERSISTENT(YES) .
&elseif defined(uib_is_running) <> 0 &then

&else

&endif


It's allowing me to manage initialization of input parameter or variables if I'm testing from one or another and many other things


Best Regards
 
Last edited:
Hello,
I'm reopening the subject.
The fact is that
Code:
&if "Architect_Is_Running" &then
was always true.
And so after reading again the documentation I should test the given argument like this:
Code:
&if "" = "Architect_Is_Running" &then
But it's always false.

As a reminder this is the calling line of the procedure from adecom/_runcode.p
Code:
RUN VALUE( p_RunFile ) "Architect_Is_Running".

and using
Code:
&if {1} = "Architect_Is_Running" &then
as suggested by the progress documentation about argument using is not working in a preprocessor use case.
So I'm a bit at losse if you have any idea.

My idea was to identify when I'm running a program from PDSOE to replace input/output parameter statement by define variable statement.

Thanks again.

Best Regards,
 
Top