Static variables and functions problem in a class
Hi everybdoy,
I've read a few tutorials on static variables and functions, including the one on this site, and I think it makes sense to me. But I keep running into a memory problem. The class I use is this:
Code:
class InBAF
{
private:
static char location;
static CString server;
static CString file;
public:
static void SetLocation(char newloc)
{
location = newloc;
}
static void SetServerName(char location)
{
switch (location)
{
case 'T':
server = "ftp.ca";
break;
case 'M':
server = "ftp.ca";
break;
}
}
static void SetFileName(CString name)
{
file = name;
}
static CString GetServerName()
{
return server;
}
static char GetLocation()
{
return location;
}
static CString GetFname()
{
return file;
}
};
char InBAF::location = 'N';
CString InBAF::server;
CString InBAF::file;
from previous postts I think I've fixed most of the CString problems in the code. Now when I use one of the functions here:
Code:
CListBox* pListSub = (CListBox*)GetDlgItem(IDLB_SUBDIR);
CString name;
pListSub->GetText((pListSub->GetCurSel()), name);
FILE* out = fopen("h:\\gui\\selsub.txt", "w");
fprintf(out, ">%s<\n", name);
InBAF::SetFileName(name);
Aside from the Visual part I get an error that memory could not be read and the file contain nothing, not even the > <. However, if I say display the contents in a text box control it displays the contents of name. and I can't step through with he debugger because there is an access violation problem with another function i nthe program that I haven't resolved yet, and don't know what causes it.
If someone could take a look at the class for any problems that I don't know about please. Thanks in advance.