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
or declared in SFC_1.h . While this can be fixed bt changing the order
read about include guards (or pragma once).