Hi All,
Is there a way to store ALL memory var's to a text file?
I've tried SAVE TO but it does not give me ALL var's.
Thanks,
Jeff
Jeff Barnes
(FWH 16.11, xHarbour 1.2.3, Bcc730)
Hi All,
Is there a way to store ALL memory var's to a text file?
I've tried SAVE TO but it does not give me ALL var's.
Thanks,
Jeff
Jeff
From ng :
SAVE copies public and private memory variables visible within the
current procedure or user-defined function to a memory (.mem) file.
Arrays and local and static variables, however, cannot be SAVEd. When
variables are SAVEd, they are copied without any reference to scope.
Variables hidden by PRIVATE or LOCAL declarations are not SAVEd.
However , in errorsysw.prg you have an example from how local variables from a procedure are retrieved
Frank
Actually, what I am looking for is something that will store the memoy in a format similar to:
cTextValue = "This is the text value"
nNumberValue = 123456
etc...
I am looking to add some troubleshooting / revocery options to one of my apps but I need to know what is stored in memory.
Thanks,
Jeff
I found functions in the manual called:
LogStatics() and Scan()
It looks like these might help me do what I want but I can not get either of them to work.
Jeff
[VARIABLES]
cTextValue="This is the text value"
nNumberValue=123456// Sample showing how to use INI files with FiveWin
#include "FiveWin.ch"
//----------------------------------------------------------------------------//
function Main()
local oWnd, oIni, oBar
local cTitle, cMsg, cLogo
local nRow := 3, nCol := 5, nWidth := 50, nHeight := 50
local cBtn1 := "", cBtn2 := ""
INI oIni FILE ".\MyApp.ini"
GET cTitle SECTION "main" ENTRY "Title" OF oIni DEFAULT "FiveWin App"
GET cMsg SECTION "main" ENTRY "Message" OF oIni DEFAULT "Main message"
GET cLogo SECTION "Logo" ENTRY "File" OF oIni
GET nRow SECTION "Logo" ENTRY "Row" OF oIni
GET nCol SECTION "Logo" ENTRY "Col" OF oIni
GET nWidth SECTION "Logo" ENTRY "Width" OF oIni
GET nHeight SECTION "Logo" ENTRY "Height" OF oIni
GET cBtn1 SECTION "ButtonBar" ENTRY "Button1" OF oIni
GET cBtn2 SECTION "ButtonBar" ENTRY "Button2" OF oIni
ENDINI
DEFINE WINDOW oWnd FROM 1, 5 TO 20, 60 ;
TITLE cTitle
DEFINE BUTTONBAR oBar OF oWnd
if ! Empty( cBtn1 )
DEFINE BUTTON OF oBar FILE cBtn1
endif
if ! Empty( cBtn2 )
DEFINE BUTTON OF oBar FILE cBtn2
endif
SET MESSAGE OF oWnd TO cMsg
@ nRow, nCol BITMAP FILE cLogo SIZE nWidth, nHeight OF oWnd
ACTIVATE WINDOW oWnd
return nil
//----------------------------------------------------------------------------//I am looking for a function that will give me ALL my mem vars ... depending where my user is in the prtogram the vars will have different names so the .ini solution will not work for me.
Thanks anyway.
Jeff
Jeff Barnes wrote:I found functions in the manual called:
LogStatics() and Scan()
It looks like these might help me do what I want but I can not get either of them to work.
Jeff
Hi Enrico,
I realize that they are for Static vars only but I still can not get them to work.
When I compile I get:
Error: Unresolved external '_HB_FUN_LOGSTATIC'
If I try to compile the \FWH\Source\Functions\Static.prg I get:
Error: Unresolved external '_HB_FUN_STATIC'
I can't seem to win on this one.
Jeff
#include "Fivewin.ch"
STATIC TEST1 := "This is a test 1"
STATIC TEST2 := "This is a test 2"
STATIC TEST3 := "This is a test 3"
FUNCTION MAIN()
LOCAL i
? NSTATICS(), HB_DBG_VMVARSLEN()
FOR i = 1 TO 3
? HB_DBG_VMVARSGET( i )
NEXT
RETURN NILEnrico,
This gets me a bit closer but how do you get the var's name?
Thanks again,
Jeff
#include "Fivewin.ch"
STATIC TEST1 := "This is a test 1"
STATIC TEST2 := "This is a test 2"
STATIC TEST3 := "This is a test 3"
FUNCTION MAIN()
LOCAL aStatics := __VMVARSLIST()
LOCAL i
? NSTATICS(), __VMVARSLEN(), LEN( aStatics )
FOR i = 1 TO 3
? __VMVARSGET( i ), aStatics[ i ]
NEXT
RETURN NILJeff,
You can only get the static variables names (same for locals) if the PRG has been compiled using /b (debug info). Without /b the names are lost (not used at all)