MajklPan,
I'm sure mJindrova's advice will work, though you might not understand it. There is a little detail omitted to first CD into the directory of the GPT_Memo.mem file, and you risk storing more than you restored with SAVE TO GPT_Memo.Mem. That sounds harmless, but the extra variables you store will be RESTOREd in the application and may override something that shouldn't be overridden.
To avoid that it would be nice to know what the software itself stores into GTP_MEMO.MEM and I'm sure you find a SAVE TO in the code which could, for example, limit this to all variables starting with the name prefix "MemoDefOst".
Then you should use the same SAVE TO the software itself uses. And finding that SAVE TO code you may even find the form doing that and saving changes of these value from within the usage of the software, which should be the safest way, as it is the intended way to change the MEM file.
I know you don't like to learn fishing: But as you already dived in as far as finding out these variables are important:
Code:
MezKlik=MemoDefOstTrKlik
MezRozdVys=MemoDefOstTrRozdVysek
MezVysDol=MemoDefOstTrVyskaDolni
MezVysHor=MemoDefOstTrVyskaHorni
The next thing to look for is where the right-hand side variables come from, and I think you didn't find code defining and setting them, or reading them from a DBF or whatever. What you know is they are set somehow, somwhere at some time in the start before these lines.
Well, this is where the debugger can help you find the source. You can make a breakpoint, a condition to stop executing and suspend code, when one of these variables (from the right-hand side) becomes existent. MemoDefOstTrKlik, for example. That's a special type of breakpoint not set at some line number of some code, but this way:
In Foxpro start the debugger, that's in its menu "Tools", item "Debugger". In the Debugger window then use the Breakpoints (CTRL+B). Change Type to "break when expression changes" and set the Expression to the variable name of interest, click the "Add" button. So you have this:
You could repeat this with the other names, but finding one should find the others, too.
Keep the debugger window open, just minimize it, for example, or move it where it doesn't hinder you and start the application. Execution will suspend when "MemoDefOstTrKlik" changes from being undefined to being a declared variable. You then get a breakpoint message and can inspect what caused this. Then you will see where this comes from and I'm quite sure it is the RESTORE of the GPT_Memo.Mem file. It may point to something else, though. It could be a variable definition with LOCAL or PUBLIC. You might find it's set from some other file, whatever. That's how to find out the "origin story" of these superhero variables.
Also, bear with me one more time: New question, new thread. There is no need to avoid new threads. And if you continue a thread you don't do yourself a favor. Because:
People tend to unfollow a thread once it's solved. If it's revived, the natural assumption is, that this revival of the thread is because a problem with the same issue (by thread title) arose again. You can expect that only those who solved or contributed to solving your problem will look into it, so you get fewer people looking into it, automatically. Everyone else will just think those who solved are also best for solving the new, related issue.
So, it's a really basic rule to start a new thread for a new question. That this is still about the same software is no reason to continue a thread. I understand from your perspective it might just be one application you have to maintain and your only VFP software so this all is one thread to you. But it's not at all just one thread from the forums perspective.
Your problem isn't at all related to Innno Setup, is it? Or does it stem from your setup overwriting the user's GTP_MEMO.MEM file? I think this is configuration data, which is subject to change. And so a setup that is meant as an update should not overwrite this file. Otherwise, you reset such configuration settings to their defaults. There are cases when you have new entries in GTP_MEMO.MEM, when updating users with a new one is unavoidable, perhaps, but not always. Just another thought about what might have gone wrong.
If this or mJindrova's advice solves your problem, no reason to start a new thread, it's already cared for. But also from the perspective of a forum as a knowledgebase about questions and answers, it's best if each thread has its own topic.
Chriss