有4个文件相关文件
SysConstant.h 只有头文件 我想用来定义全局变量
MFC01Dlg.cpp MFC的主窗口
//设计的类
BaseEntity.h
BaseEntity.app
在SysConstant.h 定义了变量
static CString MumuPath;
BaseEntity.app 里面有 start方法,和 func 方法
void BaseEntity::start() {
ThreadHandle = CreateThread(NULL, 0, func, this, 0, NULL);
}
DWORD WINAPI baseSaveScreen(LPVOID lpParam) {
//这里 获得到的path 显示无法读取内存
CString temp=path;
}
在MFC01Dlg.cpp 有个初始化方法;
void init(){
path = getPath();//
Sleep(100); // 确保赋值完成后再创建线程
// 2个ThreadFunc都可以 正常打印 获取到的path
HANDLE hThread1 = CreateThread(NULL, 0, ThreadFunc1, GetStdHandle, 0, NULL);
HANDLE hThread2 = CreateThread(NULL, 0, ThreadFunc2, GetStdHandle, 0, NULL);
BaseEntity entity;
//实例里面的就获取不到
entity.start();
求助如何 解决 ,不用在乎线程安全,只要初始化赋值后 后面都是读取
SysConstant.h 只有头文件 我想用来定义全局变量
MFC01Dlg.cpp MFC的主窗口
//设计的类
BaseEntity.h
BaseEntity.app
在SysConstant.h 定义了变量
static CString MumuPath;
BaseEntity.app 里面有 start方法,和 func 方法
void BaseEntity::start() {
ThreadHandle = CreateThread(NULL, 0, func, this, 0, NULL);
}
DWORD WINAPI baseSaveScreen(LPVOID lpParam) {
//这里 获得到的path 显示无法读取内存
CString temp=path;
}
在MFC01Dlg.cpp 有个初始化方法;
void init(){
path = getPath();//
Sleep(100); // 确保赋值完成后再创建线程
// 2个ThreadFunc都可以 正常打印 获取到的path
HANDLE hThread1 = CreateThread(NULL, 0, ThreadFunc1, GetStdHandle, 0, NULL);
HANDLE hThread2 = CreateThread(NULL, 0, ThreadFunc2, GetStdHandle, 0, NULL);
BaseEntity entity;
//实例里面的就获取不到
entity.start();
求助如何 解决 ,不用在乎线程安全,只要初始化赋值后 后面都是读取
