Hi,

after moving from some old Harbour version to 1.0.1 in production environment my app started to GPF on __DBPACK.

I've debugged code a little bit. After evaluation of
   SELF_EVALBLOCK( ( AREAP ) pArea, pBlock )
inside hb_dbfPack(), the result of HB_IS_BLOCK( pBlock ) is FALSE, because hb_vmEvalBlockOrMacro() releases pArea->valResult (it contains this codeblock). Some older Harbour code works OK.

Self-contained sample (not necessarily GPFs, but prints wrong results):
PROC main()
  DBCREATE("test124", {{"F1", "C", 10, 0}})
  USE test124 NEW EXCLUSIVE
  DBAPPEND()
  DBAPPEND()
  DBAPPEND()
  DBAPPEND()
  __DBPACK({|| QQOUT(".")}, 1) // Only one "." is printed!!!
  DBCLOSEALL()
RETURN


Best regards,
Mindaugas



_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to