C++Builder中如何让两个Form访问同一个变量
How to make two Forms access the same variables in C++Builder
我有两个表单,都包含具有这些全局变量的同一个 .cpp
文件:
static vector<News> allNews;
static vector<user> allUsers;
static admin appAdmin("admin", "adminpassword");
static int userIndex =0;
问题是,当表单 A
将 News
对象添加到 vector
时,第二个表单 B
似乎正在查看不同的 vector
那是空的。
我该如何解决这个问题?
两者都包含相同的 .cpp - 从不包含 .cpp
文件。使用以下内容创建 .h
文件:
extern vector<News> allNews;
extern vector<user> allUsers;
extern admin appAdmin;
extern int userIndex;
然后通过删除 static
来更新 .cpp
文件:
vector<News> allNews;
vector<user> allUsers;
admin appAdmin("admin", "adminpassword");
int userIndex = 0;
将新创建的 .h
文件包含到表单中。
如果您将带有 static
变量的 .cpp
文件包含为两种形式,您将得到两个翻译单元,其中每个翻译单元都有自己独特的 static
变量,这不是对其他翻译单元可见。
我有两个表单,都包含具有这些全局变量的同一个 .cpp
文件:
static vector<News> allNews;
static vector<user> allUsers;
static admin appAdmin("admin", "adminpassword");
static int userIndex =0;
问题是,当表单 A
将 News
对象添加到 vector
时,第二个表单 B
似乎正在查看不同的 vector
那是空的。
我该如何解决这个问题?
两者都包含相同的 .cpp - 从不包含 .cpp
文件。使用以下内容创建 .h
文件:
extern vector<News> allNews;
extern vector<user> allUsers;
extern admin appAdmin;
extern int userIndex;
然后通过删除 static
来更新 .cpp
文件:
vector<News> allNews;
vector<user> allUsers;
admin appAdmin("admin", "adminpassword");
int userIndex = 0;
将新创建的 .h
文件包含到表单中。
如果您将带有 static
变量的 .cpp
文件包含为两种形式,您将得到两个翻译单元,其中每个翻译单元都有自己独特的 static
变量,这不是对其他翻译单元可见。