Re: Quick question!
This is a multi-part message in MIME format.
------=_NextPart_000_0087_01C68255.6391D310
Content-Type: text/plain;
charset="Utf-8"
Content-Transfer-Encoding: quoted-printable
Hi David and Abdo....its just one of those days !
OKAY,
Right now this is the way I have it! Lets forget about the classes that =
derive from components for now.
Just the class definition is show!
Here is the code:
==========================
=============WndProc.h
class components
{
public:
components(){}
components(int Flag);
virtual ~components() {}
virtual void SYS_innitz_FLAG_AllTrueInCase();
virtual void SYS_set_SFCC(bool bCondTrue,int AmtOfComm);
virtual int SYS_get_FLAG_AllTrueInCase()const;
virtual bool SYS_Validate_FLAG_AllTrueInCase();
static int FLAG_AllTrueInCase;
protected:
};
==========================
======================
==========================
=============WndProc.cpp
#include "WndProc.h"
LRESULT CALLBACK WndProc(HWND hwnd, UINT message,
PARAM =
wParam, LPARAM lParam)
{
static components cp(0);
....other code...
case WM_TIMER:
cp.SYS_set_SFCC(true,1);
.... other code...
}
==========================
======================
What I am trying to do is to take the calling of methods in the Timer =
handler ex:
cp.SYS_set_SFCC(true,1);
and put them in another cpp file called "SFC_1.cpp"
So here is the whole sample again:
==========================
=============WndProc.h
class components
{
public:
components(){}
components(int Flag);
virtual ~components() {}
virtual void SYS_innitz_FLAG_AllTrueInCase();
virtual void SYS_set_SFCC(bool bCondTrue,int AmtOfComm);
virtual int SYS_get_FLAG_AllTrueInCase()const;
virtual bool SYS_Validate_FLAG_AllTrueInCase();
static int FLAG_AllTrueInCase;
protected:
};
==========================
==============
==========================
===============WndProc.cpp
#include "WndProc.h"
#include "SFC_1.h"
LRESULT CALLBACK WndProc(HWND hwnd, UINT message,
PARAM =
wParam, LPARAM lParam)
{
static components cp(0);
....other code...
case WM_TIMER:
SFC1(&cp);
.... other code...
}
==========================
==========================
==
==========================
=====================SFC_1.h
bool SFC1(components &cp);
==========================
==========================
==
==========================
===================SFC_1.cpp
#include "SFC_1.h"
#include "WndProc.h"
bool SFC1(compopnents *cp)
{
//so I can do stuff like this....
cp->SYS_set_SFCC(true,1);
}
==========================
==========================
====
The errors might not be exactly the same as my previous post due to some =
includes I have added, however here are the errors!
c:\_DTS_PROGRAMMING\C_PROGRAMMING\vc++\MY_APPS_LAB\XPPLC\SFC_1.h(16): =
error C2065: 'components' : undeclared identifier
c:\_DTS_PROGRAMMING\C_PROGRAMMING\vc++\MY_APPS_LAB\XPPLC\SFC_1.h(16): =
error C2065: 'cp' : undeclared identifier
c:\_DTS_PROGRAMMING\C_PROGRAMMING\vc++\MY_APPS_LAB\XPPLC\SFC_1.h(16): =
fatal error C1903: unable to recover from previous error(s); stopping =
compilation
Anyways, Please get back!
appreciated!
Regards Roberto
"Robby" <Robby@discussions.microsoft.com> wrote in message =
news:C8F5B8A4-D4D1-4A37-9D29-3588587F3428@microsoft.com...
Hello:
Can we pass a pointer to an object from one cpp file to another by =
using a
function call. Assuming the object was created and declared along with =
its
accessor methods in the first cpp file, but you need to manipulate the =
same
object in the second cpp file.
heres a quick example of the function call which calls a function
in the second cpp file:
==================cpp #1
#include "cpp2.h"
class components
{
public:
void SYS_innitz_FLAG_AllTrueInCase() {}
virtual void SYS_set_SFCC(bool bCondTrue,int AmtOfComm) {}
protected:
};
static components cp;
SFC1(&cp); //Calling a function which exists in cpp #2
=======================
==================cpp2.h - header =
for cpp2
void SFC1(components *cp); //Function declaration
======================
==================cpp #2
void SFC1(components *cp) //Function implementation
{}
======================
When I do this I get the obvious errors of:
c:\_DTS_PROGRAMMING\C_PROGRAMMING\vc++\MY_APPS_LAB\XPPLC\SFC_1.h(19): =
error
C2065: 'components' : undeclared identifier
c:\_DTS_PROGRAMMING\C_PROGRAMMING\vc++\MY_APPS_LAB\XPPLC\SFC_1.h(19): =
error
C2065: 'cp' : undeclared identifier
It seems that all cpp files *must* have their own class definitions, =
and
associated implementations... right? I do beleive that I did post this =
problem before at a much larger scale, however, there could be a =
wrinkle of
difference in this one. Basically, just double checking!
All welcome and appreciated for the feedback....
thanks!
--
Best regards
Robert
------=_NextPart_000_0087_01C68255.6391D310
Content-Type: text/html;
charset="Utf-8"
Content-Transfer-Encoding: quoted-printable
=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<META content="MSHTML 6.00.2900.2873" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><FONT face=Arial size=2>Hi David and Abdo....its just one of =
those
days !</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>OKAY,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2><FONT face=Arial size=2>Right now =
this is the way I
have it! Lets forget about the classes that derive from =
components for
now.</FONT></DIV>
<DIV>
<DIV><FONT face=Arial size=2>Just the class definition is =
show!</FONT></DIV>
<DIV> </DIV>
<DIV></FONT><FONT face=Arial size=2>Here is the =
code:</FONT></DIV></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2>=======================
================WndProc.h</FONT></DIV>
<DIV><FONT face=Arial size=2>class components</FONT></DIV>
<DIV><FONT face=Arial size=2>{</FONT></DIV>
<DIV><FONT face=Arial size=2>public:</FONT></DIV>
<DIV><FONT face=Arial size=2>components(){} </FONT></DIV>
<DIV><FONT face=Arial size=2>components(int Flag); </FONT></DIV>
<DIV><FONT face=Arial size=2>virtual ~components() {} </FONT></DIV>
<DIV><FONT face=Arial size=2>virtual void =
SYS_innitz_FLAG_AllTrueInCase();
</FONT></DIV>
<DIV><FONT face=Arial size=2>virtual void SYS_set_SFCC(bool =
bCondTrue,int
AmtOfComm);</FONT></DIV>
<DIV><FONT face=Arial size=2>virtual int
SYS_get_FLAG_AllTrueInCase()const;</FONT></DIV>
<DIV><FONT face=Arial size=2>virtual bool
SYS_Validate_FLAG_AllTrueInCase();</FONT></DIV>
<DIV><FONT face=Arial size=2>static int FLAG_AllTrueInCase; =
</FONT></DIV>
<DIV><FONT face=Arial size=2>protected: </FONT></DIV>
<DIV><FONT face=Arial size=2>};</FONT></DIV>
<DIV><FONT face=Arial
size=2>=======================
==========================
</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV>
<DIV><FONT face=Arial
size=2>=======================
================WndProc.cpp</FONT></DIV>
<DIV>
<P><FONT face=Arial size=2>#include "WndProc.h"</FONT></P></DIV>
<DIV><FONT face=Arial size=2>LRESULT CALLBACK WndProc(HWND hwnd, =
UINT
message,</FONT></DIV>
<DIV><FONT face=Arial
size=2> &nbs=
p;  =
; =
&=
nbsp;
PARAM wParam, LPARAM lParam)</FONT></DIV>
<DIV><FONT face=Arial size=2>{</FONT></DIV>
<DIV><FONT face=Arial size=2>static components cp(0);</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>...other code...</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>case WM_TIMER:</FONT></DIV>
<DIV><FONT face=Arial size=2>cp.SYS_set_SFCC(true,1);</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>... other code...</FONT></DIV>
<DIV><FONT face=Arial size=2>}</FONT></DIV>
<DIV><FONT face=Arial
size=2>=======================
==========================
</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>What I am trying to do is to take the =
calling of
methods in the Timer handler ex:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV>
<DIV><FONT face=Arial size=2>cp.SYS_set_SFCC(true,1);</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>and put them in another cpp file called =
"SFC_1.cpp"</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>So here is the whole sample =
again:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV>
<DIV><FONT face=Arial
size=2>=======================
================WndProc.h</FONT></DIV>
<DIV><FONT face=Arial size=2>class components</FONT></DIV>
<DIV><FONT face=Arial size=2>{</FONT></DIV>
<DIV><FONT face=Arial size=2>public:</FONT></DIV>
<DIV><FONT face=Arial size=2>components(){} </FONT></DIV>
<DIV><FONT face=Arial size=2>components(int Flag); </FONT></DIV>
<DIV><FONT face=Arial size=2>virtual ~components() {} </FONT></DIV>
<DIV><FONT face=Arial size=2>virtual void =
SYS_innitz_FLAG_AllTrueInCase();
</FONT></DIV>
<DIV><FONT face=Arial size=2>virtual void SYS_set_SFCC(bool =
bCondTrue,int
AmtOfComm);</FONT></DIV>
<DIV><FONT face=Arial size=2>virtual int
SYS_get_FLAG_AllTrueInCase()const;</FONT></DIV>
<DIV><FONT face=Arial size=2>virtual bool
SYS_Validate_FLAG_AllTrueInCase();</FONT></DIV>
<DIV><FONT face=Arial size=2>static int FLAG_AllTrueInCase; =
</FONT></DIV>
<DIV><FONT face=Arial size=2>protected: </FONT></DIV>
<DIV><FONT face=Arial size=2>};</FONT></DIV>
<DIV><FONT face=Arial
size=2>=======================
=================</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV>
<DIV><FONT face=Arial
size=2>=======================
==================WndProc.cpp</FONT><=
/DIV>
<DIV><FONT face=Arial size=2>#include "WndProc.h"</FONT></DIV>
<DIV><FONT face=Arial size=2>#include "SFC_1.h"</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>LRESULT CALLBACK WndProc(HWND hwnd, =
UINT
message,</FONT></DIV>
<DIV><FONT face=Arial
size=2> &nbs=
p;  =
; =
&=
nbsp;
PARAM wParam, LPARAM lParam)</FONT></DIV>
<DIV><FONT face=Arial size=2>{</FONT></DIV>
<DIV><FONT face=Arial size=2>static components cp(0);</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>...other code...</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>case WM_TIMER:</FONT></DIV>
<DIV><FONT face=Arial size=2><FONT
size=2>SFC1(&cp);</DIV></FONT></FONT><FONT face=Arial =
size=2></FONT>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>... other code...</FONT></DIV>
<DIV><FONT face=Arial size=2>}</FONT></DIV>
<DIV><FONT face=Arial
size=2>=======================
==========================
=====</FONT></DIV></DIV></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2>=======================
========================S=
FC_1.h</FONT></DIV>
<DIV><FONT face=Arial size=2>bool SFC1(components =
&cp);</FONT></DIV>
<DIV><FONT face=Arial
size=2>=======================
==========================
=====</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2>=======================
======================SFC_1.c=
pp</FONT></DIV>
<DIV><FONT face=Arial size=2>#include "SFC_1.h"</FONT></DIV>
<DIV><FONT face=Arial size=2>#include "WndProc.h"</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>bool SFC1(compopnents *cp)</FONT></DIV>
<DIV><FONT face=Arial size=2>{</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>//so I can do stuff like this.... =
</FONT></DIV>
<DIV><FONT face=Arial =
size=2>cp->SYS_set_SFCC(true,1);
</FONT></DIV>
<DIV><FONT face=Arial size=2>}</FONT></DIV></DIV>
<DIV><FONT face=Arial
size=2>=======================
==========================
=======</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>The errors might not be exactly the =
same as my
previous post due to some includes I have added, however here are the
errors!</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2>c:\_DTS_PROGRAMMING\C_PROGRAMMING\vc++\MY_APPS_LAB\XPPLC\SFC_1.h=
(16):
error C2065: 'components' : undeclared
identifier<BR>c:\_DTS_PROGRAMMING\C_PROGRAMMING\vc++\MY_APPS_LAB\XPPLC\SF=
C_1.h(16):
error C2065: 'cp' : undeclared
identifier<BR>c:\_DTS_PROGRAMMING\C_PROGRAMMING\vc++\MY_APPS_LAB\XPPLC\SF=
C_1.h(16):
fatal error C1903: unable to recover from previous error(s); stopping
compilation<BR></FONT></DIV></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Anyways, Please get back!</FONT></DIV>
<DIV><FONT face=Arial size=2>appreciated!</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Regards Roberto</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>"Robby" <</FONT><A
href="mailto:Robby@discussions.microsoft.com"><FONT face=Arial
size=2>Robby@discussions.microsoft.com</FONT></A><FONT face=Arial =
size=2>>
wrote in message </FONT><A
href="news:C8F5B8A4-D4D1-4A37-9D29-3588587F3428@microsoft.com"><FONT =
face=Arial
size=2>news:C8F5B8A4-D4D1-4A37-9D29-3588587F3428@microsoft.com</FONT></=
A><FONT
face=Arial size=2>...</FONT></DIV><FONT face=Arial size=2>> =
Hello:<BR>>
<BR>> Can we pass a pointer to an object from one cpp file to another =
by
using a <BR>> function call. Assuming the object was created and =
declared
along with its <BR>> accessor methods in the first cpp file, but you =
need to
manipulate the same <BR>> object in the second cpp file.<BR>> =
<BR>>
heres a quick example of the function call which calls a =
function<BR>> in the
second cpp file:<BR>> <BR>> =
==================cpp #1<BR>> =
#include
"cpp2.h"<BR>> class components<BR>> {<BR>> public:<BR>> void =
SYS_innitz_FLAG_AllTrueInCase() {}<BR>> virtual void =
SYS_set_SFCC(bool
bCondTrue,int AmtOfComm) {}<BR>> protected:<BR>> };<BR>> =
<BR>>
static components cp;<BR>> <BR>> SFC1(&cp); =
//Calling a
function which exists in cpp #2<BR>> =
=======================<BR>=
> <BR>>
==================cpp2.h - header =
for cpp2<BR>> void SFC1(components
*cp); //Function declaration<BR>> =
======================<BR>>=
;
==================cpp #2<BR>> =
void SFC1(components *cp)
//Function implementation<BR>> {}<BR>> =
======================<BR>>=
;
<BR>> When I do this I get the obvious errors of:<BR>> <BR>>
c:\_DTS_PROGRAMMING\C_PROGRAMMING\vc++\MY_APPS_LAB\XPPLC\SFC_1.h(19): =
error
<BR>> C2065: 'components' : undeclared identifier<BR>> <BR>>
c:\_DTS_PROGRAMMING\C_PROGRAMMING\vc++\MY_APPS_LAB\XPPLC\SFC_1.h(19): =
error
<BR>> C2065: 'cp' : undeclared identifier<BR>> <BR>> <BR>> =
It seems
that all cpp files *must* have their own class definitions, and <BR>> =
associated implementations... right? I do beleive that I did post this =
<BR>>
problem before at a much larger scale, however, there could be a wrinkle =
of
<BR>> difference in this one. Basically, just double =
checking!<BR>>
<BR>> All welcome and appreciated for the feedback....<BR>> =
<BR>>
thanks!<BR>> <BR>> -- <BR>> Best regards<BR>>
Robert<BR>></FONT></BODY></HTML>
------=_NextPart_000_0087_01C68255.6391D310--