Hi Freaks
Could it be that a program crach after using $ude?
Or better: Yes it crash without any reason (just check in Uniface 9, but I observer this behavior also im UnifAce 10)
I do have a simple form, which list all globale procedures.
Then I use a button "Compile" which goes through the entry and compiles a procedure with
$1 = $ude("compile", "proc","%%ULABEL.UPRC%%%","library=%%UVAR.UPRC%%%")
(I create a view UPRC to be compatible to Uniface 10)
After the loop all looks okay, until the first call to a global procedure is executed.
(This procedure is not related to they just compiled ones)
Uniface try to call the procedure (can be seen in the proctracing) but crash immediately without any further information
Ingo
------------------------------
Ingo Stiller
Aareon Deutschland GmbH
------------------------------
I use $ude alot, in loops too, without any problems.... v10
My next step would be to compare using a hex editor the .prc of the 2 versions(working one and broken one)
------------------------------
Osman Shariff
------------------------------
I use $ude alot, in loops too, without any problems.... v10
My next step would be to compare using a hex editor the .prc of the 2 versions(working one and broken one)
------------------------------
Osman Shariff
------------------------------
Hi
I could loops through hundreds of "objects" like global procedures and UnifAce will compile them.
But the next call to a procedure after the loop crash UnifAce.
FORENTRY "objects"
$1 = $ude("compile", ...)
ENDFOR
call GP_HELLO_WORLD("") ; <----------- Crash
Ingo
------------------------------
Ingo Stiller
Aareon Deutschland GmbH
------------------------------
Hi
I could loops through hundreds of "objects" like global procedures and UnifAce will compile them.
But the next call to a procedure after the loop crash UnifAce.
FORENTRY "objects"
$1 = $ude("compile", ...)
ENDFOR
call GP_HELLO_WORLD("") ; <----------- Crash
Ingo
------------------------------
Ingo Stiller
Aareon Deutschland GmbH
------------------------------
I did the same test as above(forentity) for 2 global procs... and it worked
*I did the test via the ide and as a standalone application
------------------------------
Osman Shariff
------------------------------
I did the same test as above(forentity) for 2 global procs... and it worked
*I did the test via the ide and as a standalone application
------------------------------
Osman Shariff
------------------------------
...
Compile Global Proc module: 'GP_DTFELDER'
Global Proc module: GP_DTFELDER
Compile done: No compilation messages
(); DETAIL; 11; [0]; V_PE = $procerror
(); DETAIL; 12; [0]; reset $procerror
(); DETAIL; 13; [0]; if (V_PE < 0)
(); DETAIL; 19; [0]; else
(); DETAIL; 20; [0]; fieldvideo "ULABEL.UPRC", "DEF"
(); DETAIL; 21; [0]; C_CHECK.UPRC/INIT = 0
(); DETAIL; 22; [0]; endif
(); DETAIL; 23; [0]; endif
(); DETAIL; 24; [0]; endfor
(); DETAIL; 6; [0]; forentity "UPRC"
(); DETAIL; 25; [0]; debug
(); DETAIL; 26; [0]; call GP_ABOUT("") ; <- first call to a procedure
-- nothing more to come here --
neither the call itself is made (show me lines in GP) nor an error is returned and the next step is executed
If I change the number of parameters instead, UnifAce reports this correctly when calling GP_ABOUT :
But then UnifAce crashes at the next CALL GP_xyz
------------------------------
Ingo Stiller
Aareon Deutschland GmbH
------------------------------
...
Compile Global Proc module: 'GP_DTFELDER'
Global Proc module: GP_DTFELDER
Compile done: No compilation messages
(); DETAIL; 11; [0]; V_PE = $procerror
(); DETAIL; 12; [0]; reset $procerror
(); DETAIL; 13; [0]; if (V_PE < 0)
(); DETAIL; 19; [0]; else
(); DETAIL; 20; [0]; fieldvideo "ULABEL.UPRC", "DEF"
(); DETAIL; 21; [0]; C_CHECK.UPRC/INIT = 0
(); DETAIL; 22; [0]; endif
(); DETAIL; 23; [0]; endif
(); DETAIL; 24; [0]; endfor
(); DETAIL; 6; [0]; forentity "UPRC"
(); DETAIL; 25; [0]; debug
(); DETAIL; 26; [0]; call GP_ABOUT("") ; <- first call to a procedure
-- nothing more to come here --
neither the call itself is made (show me lines in GP) nor an error is returned and the next step is executed
If I change the number of parameters instead, UnifAce reports this correctly when calling GP_ABOUT :
But then UnifAce crashes at the next CALL GP_xyz
------------------------------
Ingo Stiller
Aareon Deutschland GmbH
------------------------------
Hi Ingo,
IMHO you should compare your Uniface config (INI + ASN) to a working environment like the one from Osman.
Regards,
Gianni
------------------------------
Gianni Sandigliano
IT
------------------------------
Hi Ingo,
IMHO you should compare your Uniface config (INI + ASN) to a working environment like the one from Osman.
Regards,
Gianni
------------------------------
Gianni Sandigliano
IT
------------------------------
I presume it works if there are no occurrences in "objects" ?
Did you try running it from the ide... compile/test frm ?
did you try :
call GP_HELLO_WORLD("")
FORENTITY "objects"
$1 = $ude("compile", ...)
ENDFOR
call GP_HELLO_WORLD("")
------------------------------
Osman Shariff
------------------------------
I presume it works if there are no occurrences in "objects" ?
Did you try running it from the ide... compile/test frm ?
did you try :
call GP_HELLO_WORLD("")
FORENTITY "objects"
$1 = $ude("compile", ...)
ENDFOR
call GP_HELLO_WORLD("")
------------------------------
Osman Shariff
------------------------------
proccode:
ENTRY LP_TEST1
v_CUROCC = $curocc("UPRC")
v_STATUS = 0
setocc "UPRC",-1
setocc "UPRC",1
putmess "A1"
CALL GP_ABOUT("")
putmess "A2"
FORENTITY "UPRC"
IF(C_CHECK.UPRC)
;message/hint "%%UVAR.UPRC%%%:%%ULABEL.UPRC%%%"
reset $procerror
$1 = $ude("compile", "proc","%%ULABEL.UPRC%%%","library=%%UVAR.UPRC%%%")
break
ENDIF
ENDFOR
setocc "UPRC",v_CUROCC
putmess "B1"
CALL GP_ABOUT("")
putmess "B2"
RETURN(0)
END
Compile/test in IDE which starts a new session with "ide /tst fromname"
result:
A1
A2
Compile Global Proc module: 'GF_DTF_DTF_INST'
Global Proc module: GF_DTF_DTF_INST
Compile done: No compilation messages
B1
Crash and no more information
But this "bug"(or feature?) is not new
------------------------------
Ingo Stiller
Aareon Deutschland GmbH
------------------------------