Using Visual C++ 6.0 MFC Application

01/19/2004
Using a single document or a dialog application,
I am able to use my own variables that are declared in the same source file,
however,
if I try to declare a global variable in a header file or a source file
included before the code I am using,
I get the error "Undeclared Identifier".
Example in Old C:   "First.h"
                                int i;
        "Main.cpp"
        #include "First.h"
        main() { i=5;    printf("%d",i); }
When I declare a variable in a header file, in Class View - Globals,
my variable does show up, but when I Insert a Dialog, and try to use my
global variable,
I get the error.
What I am trying to do is to save information from a dialog box to a global
variable so another dialog
box can use it whenever I want it to.
mhalsey@ahpservices.com


0
mhalsey (7)
1/20/2004 1:01:38 AM
vc.mfc 33608 articles. 0 followers. Follow

5 Replies
1017 Views

Similar Articles

[PageSpeed] 25

Michael Halsey wrote:

> 01/19/2004
> Using a single document or a dialog application,
> I am able to use my own variables that are declared in the same source file,
> however,
> if I try to declare a global variable in a header file or a source file
> included before the code I am using,
> I get the error "Undeclared Identifier".
> Example in Old C:   "First.h"
>                                 int i;
>         "Main.cpp"
>         #include "First.h"
>         main() { i=5;    printf("%d",i); }
> When I declare a variable in a header file, in Class View - Globals,
> my variable does show up, but when I Insert a Dialog, and try to use my
> global variable,
> I get the error.
> What I am trying to do is to save information from a dialog box to a global
> variable so another dialog
> box can use it whenever I want it to.
> mhalsey@ahpservices.com
> 
> 

Don't define variables in header files.  If you define int i in a cpp 
file then put this line in the h file:

#extern int i;

And, of course, if some other cpp file needs to access this variable it 
must #include the first h file.

-- 
Scott McPhillips [VC++ MVP]

0
scottmcp8856 (490)
1/20/2004 1:31:13 AM
Scott McPhillips [MVP] wrote:
> Don't define variables in header files.  If you define int i in a cpp 
> file then put this line in the h file:
> 
> #extern int i;
> 
> And, of course, if some other cpp file needs to access this variable it 
> must #include the first h file.

Correction! Omit the '#' from '#extern'

-- 
Scott McPhillips [VC++ MVP]

0
scottmcp8856 (490)
1/20/2004 1:39:50 AM
That's a clean way of doing it ;-) I've always put the "extern int i"
directly in the cpp file that needs it.

Jase

"Scott McPhillips [MVP]" <scottmcp@mvps.org.nothere> wrote in message
news:ezOOXav3DHA.2556@TK2MSFTNGP10.phx.gbl...
> Scott McPhillips [MVP] wrote:
> > Don't define variables in header files.  If you define int i in a cpp
> > file then put this line in the h file:
> >
> > #extern int i;
> >
> > And, of course, if some other cpp file needs to access this variable it
> > must #include the first h file.
>
> Correction! Omit the '#' from '#extern'
>
> -- 
> Scott McPhillips [VC++ MVP]
>


0
jshelley (197)
1/20/2004 4:33:05 AM
Better not use global variables at all. They are a nightmare when it comes
to debugging.
Save that variable in your original class and then get the other dialog box
to ask for it:
int OriginalDialog::GetValue()
{
    return m_i;        // far better even if you make m_i static.....
}

"Jase" <jshelley@spamblock.enersol.com.au> wrote in message
news:400caf81$0$4051$afc38c87@news.optusnet.com.au...
> That's a clean way of doing it ;-) I've always put the "extern int i"
> directly in the cpp file that needs it.
>
> Jase
>
> "Scott McPhillips [MVP]" <scottmcp@mvps.org.nothere> wrote in message
> news:ezOOXav3DHA.2556@TK2MSFTNGP10.phx.gbl...
> > Scott McPhillips [MVP] wrote:
> > > Don't define variables in header files.  If you define int i in a cpp
> > > file then put this line in the h file:
> > >
> > > #extern int i;
> > >
> > > And, of course, if some other cpp file needs to access this variable
it
> > > must #include the first h file.
> >
> > Correction! Omit the '#' from '#extern'
> >
> > -- 
> > Scott McPhillips [VC++ MVP]
> >
>
>


0
1/20/2004 7:43:58 AM
oooommmmmmmmmmmm.... sorry... just going along with you mantra ;-) Globals
have valid uses, and with a little care, cause no problems at all.
Especially globally declared classes which protect the data they contain the
critical sections and the like.

Jase

"Charlie" <dukecharlie@yahoo.com> wrote in message
news:2%4Pb.19676$Wa.8311@news-server.bigpond.net.au...
> Better not use global variables at all. They are a nightmare when it comes
> to debugging.
> Save that variable in your original class and then get the other dialog
box
> to ask for it:
> int OriginalDialog::GetValue()
> {
>     return m_i;        // far better even if you make m_i static.....
> }
>
> "Jase" <jshelley@spamblock.enersol.com.au> wrote in message
> news:400caf81$0$4051$afc38c87@news.optusnet.com.au...
> > That's a clean way of doing it ;-) I've always put the "extern int i"
> > directly in the cpp file that needs it.
> >
> > Jase
> >
> > "Scott McPhillips [MVP]" <scottmcp@mvps.org.nothere> wrote in message
> > news:ezOOXav3DHA.2556@TK2MSFTNGP10.phx.gbl...
> > > Scott McPhillips [MVP] wrote:
> > > > Don't define variables in header files.  If you define int i in a
cpp
> > > > file then put this line in the h file:
> > > >
> > > > #extern int i;
> > > >
> > > > And, of course, if some other cpp file needs to access this variable
> it
> > > > must #include the first h file.
> > >
> > > Correction! Omit the '#' from '#extern'
> > >
> > > -- 
> > > Scott McPhillips [VC++ MVP]
> > >
> >
> >
>
>


0
jshelley (197)
1/21/2004 10:59:31 PM
Reply:

Similar Artilces:

Outlook using imap is receiving but not sending
Messages are being put in Sent folder and Send/Receive shows no errors but emails are not actually getting sent. This is a new install of Outlook on a new computer. Have I messed up the setup? "Theatre Girl" wrote in message news:64BB711F-FE56-440C-A850-DADCA8C3BA00@microsoft.com... > Messages are being put in Sent folder and Send/Receive shows no > errors but > emails are not actually getting sent. This is a new install of > Outlook on a > new computer. Have I messed up the setup? IMAP is not a sending protocol. It is used for receiving mails (out of your ...

Problem with dxdiag and fullscreen applications
Hi there! I have a problem with my new computer that many people had, but couldn't find a solution that works for me. The problem shows in two ways: First, the Direct3D test of dxdiag is aborted with a message that it was canceled by pressing a key - but I didn't press a key, my keyboard works flawlessly and I don't have any strange keyboard driver or additional tools installed. Second, some fullscreen applications like Age of Empires 2 or Milkdrop, when the application changes the resolution (e.g. the AoE menu uses 800x600) the application is minimized and can...

Line charts using temperature and time factors
I want to create a line chart showing comparisons of heating and time. For example one item is held @ 30deg for 10secs then 100degs for 30secs while the comparison is plotted to show the difference. Help appreciated. try x-y scatter chart data-columnwise. Excelon_Ls <Excelon_Ls@discussions.microsoft.com> wrote in message news:6B9F5547-A35C-4272-9FDC-F2CE6122D783@microsoft.com... > I want to create a line chart showing comparisons of heating and time. For > example one item is held @ 30deg for 10secs then 100degs for 30secs while the > comparison is plotted to show the diff...

HOW TO USE HYPERLINK within a droplist?
I have a question aabout this: eg. I set row A with validation list "yes/no", i want that if choose "yes", then open a word document named "checklist.doc". Instead of using a validation list, you could use a "yes" button and a "no" button. The yes button can be linked to a macro to open the word document. The no button can be linked to a macro the will type the text "Go to next step" or something like that. "Bonny" wrote: > I have a question aabout this: > eg. > I set row A with validation list "yes...

Importing XML in SQL Server 2005 in .Net 2.0
Hello All, I tried using bulkupload SQLXML, but it is very unreliable. Is there any way we can import XML file having schema into database? Neo Hello Neo, N> I tried using bulkupload SQLXML, but it is very unreliable. Is there N> any way we can import XML file having schema into database? What exactly are you trying to do? e.g., load XML into an XML typed column or load XML into one or more tables? Do you already have a schema? Note: Adding to m.p.ss.xml for easier tracking. Thanks! Kent Tegels DevelopMentor http://staff.develop.com/ktegels/ Yes, I have schema. I have also c...

Creating a link to open an application...
We have an Access 2000 application that we wna to have automatically generate emails to users. In the body of this email, it would be nice if we could provide a link the user can click on which would then open up the Access application (the user may or may not have the application open at the time), and possibly bring up the record in question they want to be viewing ( a cust service job#). The email notifies the user there is a customer service related issue they need to look into. Each cust service issue is assigned a number, so if we could somehow pass the job# to the Access app from the ...

using forms
Vista Home Premium 32 / Outlook 2007 I have created some forms that used to work. No more. On selecting a form, I get "The form required to view this message cannot be displayed. Contact the administrator. To my knowledge, I am the administrator. This is a stand-alone PC in my residence. If I go to Manage User Accounts, it shows only 2 accounts - LastName Administrator and Guest. I have googled my problem and found references to FRMCACHE.DAT which I am told to delete and restart Outlook. Did that. Opened Outlook and tried to open a form. Same error. And FRMCACHE.DAT was not ...

Using Spanish on Publisher
I have copied and pasted a document in Spanish from Word to Publisher. Prompts keep coming up telling me that it cannot "hyphenate" this document. I'm guessing that it means since it's in another language it needs something to be able to spell-check, etc. I really don't care about checking the spelling, but the pop-ups keep interferring with my arranging the flyer I desperately need to get completed. It tells me to put in the disk and download the "hyphenate" feature. Can I download this from the net since I have no disks. Publisher came with my n...

Problems with accessing Reports in CRM 3.0
This is the error I get when I try to access Reports from the Workplace thru the web client. Any suggestions????? Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace: [InvalidOperationException: Client found response content type of 'text/html; charset=utf-8', but expected 'text/xml'. The request failed with the error message: -- <html> <head> <title>Configura...

I used Omsgclas.exe Utility and my contacts don't use then new form
I created a new form for contacts. I followed the three steps in the document How to Update Existing Items to Use a New Custom Form. I can click on Action and do new contact and the new form is used. I used Omsgclas.exe utility to change the message class of the contacts. It shows as changed. However, when I click on an old contact (previous to changing the form), A message form comes up (not the old contact form and not my new contact form). Anyone have any help how to get my new form pulled up for old messages? Note: I had a form with a ' in the name, I made a new form w...

FormulaR1C1 using variables
I want to do this but can't: ActiveCell.FormulaR1C1 = "=MyFunction(R[variable]C[variable])" What are my options? Try something like ActiveCell.FormulaR1C1 = _ "=MyFunction(R" & CStr(variable) & "C" & CStr(variable) & ")" Cordially, Chip Pearson Microsoft Most Valuable Professional, Excel, 1998 - 2010 Pearson Software Consulting, LLC www.cpearson.com On Wed, 21 Apr 2010 13:52:01 -0700, Cheah <Cheah@discussions.microsoft.com> wrote: >I want to do this but can't: > >ActiveCell.Fo...

Using lookup formula using more than one cell
I have a spreadsheet which lists clients by first name, last name, postcode and phone number - all in separate columns e.g. Andy Roberts M56 7HN 0161 428 3856 I have these all in one worksheets and in a named range called "Clients" On a separate worksheet (within the same workbook) I log all my enquiries. What I want to be able to do is type in to a cell the first name then in the next cell the last name and the following cells get populated with postcode and phone number based on BOTH of the first two cells by looking up the "Clients" range. I can get it...

Using XML with ASP.NET
I want to know where can I find Tutorials/Articles to learn implementing XML with asp.net. I am working on ASP.NET using C# from last one month. I have idea about XML but had not implemented yet with ASP.NET. Thanks in advance. Thanks Vinod Jajoo ...

Using secured OMA
Hi, Please help me with my misunderstanding. When I try ro connect by t68i or z600 (WAP 2.0) to OMA directly with SSL required, using mydomain.com/oma, of course, I get 403 error. When I use https://mydomain.com/oma I get "Couldn't reach the indicated web server." altough it works fine with Pocket PC. What's wrong? What should I configure to establish secured connection from mobile phone? Best regards, Vit Knyshevich. "Vit Knyshevich" <abuse_vit_knysh@hotmail.com> wrote: >Please help me with my misunderstanding. When I try ro connect by t68i or >z60...

Compile error using CTypedPtrList
Hi, I am having problems at compile time using the following line: CTypedPtrList<CPtrList, CString*> m_ClientList ; When compiled I get the following errors: emailcfgdlg.h(114) : error C2143: syntax error : missing ';' before '<' emailcfgdlg.h(114) : error C2501: 'CTypedPtrList' : missing storage-class or type specifiers emailcfgdlg.h(114) : error C2059: syntax error : '<' emailcfgdlg.h(114) : error C2238: unexpected token(s) preceding ';' I am using the version 6 of the compiler with SP5. Now I think this is something to do with the c...

scatter plots using pivot table data
In older versions of Excel, you could directly create xy scatter plots using pivot table data. In Excel 2000, the chart wizard says you can't use an xy scatter plot with pivot table data. Why????? Is there any way around this limitation? Dan - Don't tell the pivot table you're making a regular chart. Select a cell away from the PT and start the chart wizard. Select the XY Scatter type you want in step 1. In step 2, use the Series tab to select the ranges for the names, X values, and Y values of each series in your chart. Make sure you don't select one of the PT but...

Using resources, how to ?
Hi guys, I am using MS Visual Studio 2005 Express ( yes, the one that u can download for free from MS website ) and I have a "little-big" problem with my program. First of all let me say that I created a simple console program, with his main and few functions, and I wish that my ..exe file can drop another .exe when launched. The other exe is another compiled program, and I wish to handle it from my main program as resource. There are some topics about handling resources, but I cannot find anything of good; I know how to use LoadResource, FindResource, etc, but both fail since I am...

Allow temporarily use of right click
I have made a databse in which I have disabled the right-click option. However, I have a form which opens reports, and I want to temporarily allow (only for the opened report) the right click option so the user can save and print the report. I have also no clue how to create a custom menu with only a few of the normal right-click options I hope my question is clear. Thanks -- Message posted via http://www.accessmonster.com "greeknl via AccessMonster.com" <u30909@uwe> wrote in message news:71abb764263d9@uwe... >I have made a databse in which I have disabled the right-c...

How to use interfaces
Hi ... How can you show in an UML diagram using visio that you have 1 class who uses the interface implementet by another ?? ex: C# public class MyClass : ImyInterface { //some code } //And then in another class you will do something like: private ImyInterface imi = new MyClass(); can you show this via UML shapes in Visio ?? thanks in advance ... -- ------------------------------- Med Venlig Hilsen Tonni Schm�cker Tonni@cool.dk ...

Using two pictures from clipart as my background
I can't seem to get more than one clipart as my background. When I try to add another one, it overrides the first one. I want two pictures, each on half the page, and faded. Thanks. On Jan 13, 7:31=A0pm, Michele <Mich...@discussions.microsoft.com> wrote: > I can't seem to get more than one clipart as my background. When I try to= add > another one, it overrides the first one. I want two pictures, each on hal= f > the page, and faded. Thanks. You can place multiple pictures on your slide (or slide master), but each slide can only contain one as it's ...

Demo GP 2010 & BP 5.0 Server
Hi, I am setting up a demo GP 2010 & BP 5.0 environment. Since the TWO data is based on 2017, when launching BP there is no data. Modifying the system date causes other components to break (Excell Drillback, etc.). Any suggestions? Thanks, Almoonir ...

Using stationary when Word is used as the editor
Hello, I am having a problem with stationary when using word as the email editor. What is required is for a logo to be placed as a backgroun image in the top right hand corner. this works fine in outlook using this code: <HTML> <HEAD> <STYLE> BODY { font-family: Arial; font-size: 10pt; color: 000000; background-position: right top; background-repeat: no-repeat; background-image: url(Pic.jpg); } </STYLE> </HEAD> <BODY> </BODY> </HTML> However when Word is used as the email editor the background image is no longer placed in the top righ...

What do you use Excel for?
Just a general query really. Anybody willing to tell me what they use Excel for? Does anybody use it on a daily basis as part of the personal life? I'm not really looking for the reasons why people use it at the workplace, but why do people use it at home? Do you use it to manage your budgets etc???? Do you use it as a diary? Thanks in advance Excel is excellent for manipulating data. The uses are as wide as the imagination. There are people who use it to track the standings in a bowling league, others for managing a local golf tournament. One can build a loan calculator, kee...

Test my application for WIN2000 in my computer installed with winX
Hi, Is it possible to test my application for WIN2000 or other OS user in my computer installed with winXP? I mean, is there virtual OS software which can be installed in real WINXP and I can test my application on the virtual OS software. If there is no such software, I have to try to find a computer installed with all kinds of windows. -- Nothing impossible, Nothing sure > Is it possible to test my application for WIN2000 or other OS user in my >computer installed with winXP? I mean, is there virtual OS software which >can be installed in real WINXP and I can test my a...

Import Outlook 2000 messages to OE 6 on different pc
If I transfer a copy of the Outlook 2000 .pst file from my work computer (OS=Win 2000) to my home computer (OS=Win 98SE), is there a way I can then use this file to read the messages in Outlook Express 6? Thanks in advance. Not without opening them in Outlook first. --� Milly Staples [MVP - Outlook] Post all replies to the group to keep the discussion intact. Due to the SWEN virus, all mail sent to my personal account will be deleted without reading. After searching google.groups.com and finding no answer, Harold asked: | If I transfer a copy of the Outlook 2000 .pst file from my work |...