go_sho Публикувано Август 6, 2008 Report Share Публикувано Август 6, 2008 Моля за помощ - може въпроса ми да е елементарен, но аз сега се уча да работя с Visual C++ 6.00. Как да създам променлива, която да е видима от който и да е клас и в нея да мога да записвам примерно от диалогов прозорец, както и да се чете от променливата. Използвам MFC и "сингъл документ-изглед с базов клас CView". Пробвал съм различни трикове и все ми излиза съобщение, че променливата не е декларирана (въпреки, че съм я декларирал като public). По-конкретно. Класовете в проекта са: CAboutDlg; CTrialApp; CTrialDoc; CTrialView; CMainFrame и един клас CTrialDialog, който е наследник на CDialog. CTrialDialog е свързан с диалогова форма (диалогов прозорец), в която има бутон. Във функцията свързана с този бутон има променлива X (потребителя ще и даде стойност примерно чрез текстово поле). В класа CTrialView има променлива Y. Точно Y искам да е видима от CTrialDialog, за да може на Y да се присвои стойността на X. Евентуално после трябва да мога да взема стойността на Y и да я присвоя на променлива в друг клас (примерно в текстово поле принадлежащо на Rebar контрол). Благодаря предварително Цитирай Link to comment Сподели другаде More sharing options...
Wanted Публикувано Август 10, 2008 Report Share Публикувано Август 10, 2008 Декларирай си променливата в кода преди началото на функцията CMainFrame::OnCreate(). Така тази променлива ще бъде видима за всички класове в проекта ти.CMainFrame::~CMainFrame() { } [b]CString Y;[/b] //CString е пример - тук слагаш типа, който искаш да има Y int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { Цитирай Link to comment Сподели другаде More sharing options...
go_sho Публикувано Август 10, 2008 Author Report Share Публикувано Август 10, 2008 Wanted благодаря за отделеното време и за полезния съвет. Вече проблемът е решен. Цитирай Link to comment Сподели другаде More sharing options...
Препоръчан пост
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.