|
Use WM_COPYDATA to send data between applications.
/ravi
Let's put "civil" back in "civilization"
http://www.ravib.com
ravib@ravib.com
|
|
|
|
|
Definately. That's what we've been doing and should without question continue to do. Early morning hours can do much damage to ones brain.
Thanks for the input!
/Johann Gerell
|
|
|
|
|
Johann Gerell wrote:
Early morning hours can do much damage to ones brain.
I couldn't agree more. Happens to me at least 5 times a day!
/ravi
Let's put "civil" back in "civilization"
http://www.ravib.com
ravib@ravib.com
|
|
|
|
|
What? Data between two applications?
This means inter-communication, so use Dynamic Data Exchange (DDE).
ZARZOR13
|
|
|
|
|
Has anyone developed a template class that emulates the VB For Each element In group ... Next.
where element is an object
and group is a collection of those objects
Gary Kirkham
A working Program is one that has only unobserved bugs
|
|
|
|
|
Me Think STL do this! vector, list , map, ...
Max.
|
|
|
|
|
Like Max mentioned, STL has a for_each template function. Look it up in MSDN.
Regards,
Alvaro
Well done is better than well said. -- Benjamin Franklin
(I actually prefer medium-well.)
|
|
|
|
|
Hey Guys,
I have a working MFC application (that I developed). I want to make the same work as a command line application (without bringing the GUI on screen). Meaning, the user should be able to use it just like a command, for example
MyMFCApplication -D -F *.txt
Where -D would be for download and -F is for file(s) OR any other option that I want later.
Could you guys please help me in understanding if this is possible at all?
If it is how to go about it so that I can have both modes.
Thanks
-Mahesh Shimpi
Ideas multiply by sharing!!
|
|
|
|
|
What you need to do is to look in your CWinApp derived class, and there scan the command line text, you'll need to run that way only if flags ( or a flag ) are provided, then simply do what you want to, and return without starting up your window.
Christian
No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002
C# will attract all comers, where VB is for IT Journalists and managers - Michael P Butler 05-12-2002
Again, you can screw up a C/C++ program just as easily as a VB program. OK, maybe not as easily, but it's certainly doable. - Jamie Nordmeyer - 15-Nov-2002
|
|
|
|
|
|
Porting problem???
I have a set of defines:
#define PROT_NACK_NONE 0
#define PROT_NACK_BYE 1
…
…
…
#define PROT_NACK_BAD_PROT 3
________________________________
And I also have a typedef structure:
typedef struct reject_s
{
short int rejectCode;
const char *message;
} reject_t;
reject_t *m_rejectTable;
_________________________________
I than implement my function which uses the above:
void CMessageProtocol::setRejectTable( )
{//private:
static reject_t reject[]=
{
{ PROT_NACK_NONE, ""},
{ PROT_NACK_BYE, "Bye"},
{ PROT_NACK_NO_MORE_CON, "No More Connection availiable"},
{ PROT_NACK_BAD_PROT, "Protocol version not supported"},
{ PROT_NACK_BAD_ENC, "Encryption version not supported"},
{ PROT_NACK_BAD_APP, "Application refused"},
{ PROT_NACK_BAD_LOG_PASS, "Invalid Login or password"},
{ PROT_NACK_BAD_MSG, "Invalid Message format"},
{ PROT_NACK_DEFAULT, "Error"},
{ 0, 0}
};
m_rejectTable = reject;
}
The above has been complied and runs under Microsoft Visual Studio 6
I am now attempting to implement this into a .NET library, that has a bunch of __gc classes, when I now attempt to convert using the following syntax:
typedef __nogc struct reject_s
{
const char message;
short int RejectCode;
} reject_t;
reject_t* m_rejectTable;
typedef __nogc struct encrypting_s
{
char crypto;
char * encryptingName;
unsigned char cypher[2];
} encrypting_t;
encrypting_t* m_encryptingTable;
when I attempting to implement the __gc class method that use’s the above:
void GEMBrokerMessengerProtocol::CGEMMessageProtocol::setRejectTable()
{
static reject_t reject[]=
{
{ PROT_NACK_NONE, ""},
{ PROT_NACK_BYE, "Bye"},
{ PROT_NACK_NO_MORE_CON, "No More Connection availiable"},
{ PROT_NACK_BAD_PROT, "Protocol version not supported"},
{ PROT_NACK_BAD_ENC, "Encryption version not supported"},
{ PROT_NACK_BAD_APP, "Application refused"},
{ PROT_NACK_BAD_LOG_PASS, "Invalid Login or password"},
{ PROT_NACK_BAD_MSG, "Invalid Message format"},
{ PROT_NACK_DEFAULT, "Error"},
{ 0, 0}
};
m_rejectTable = reject;
}
I get the following error under Visual Studio C++.NET
c:\Documents and Settings\mdyer\My Documents\Visual Studio Projects\CGEMBroker\GEMBrokerMessengerProtocol.cpp(22): error C2440: 'initializing' : cannot convert from 'int' to 'GEMBrokerMessengerProtocol::CGEMMessageProtocol::reject_t'
c:\Documents and Settings\mdyer\My Documents\Visual Studio Projects\CGEMBroker\GEMBrokerMessengerProtocol.cpp(22): error C2689: Initializing 'reject' : this form of non-aggregate initialization requires a unary constructor
I am very curious as to why I am having these compile errors under .NET and not under my previous compile of Visual Studio 6???? Very lost here????
|
|
|
|
|
I'd suggest asking this in the MC+ forum if you're trying to create a .NET library. I'd also recommend const int over #define.
Christian
No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002
C# will attract all comers, where VB is for IT Journalists and managers - Michael P Butler 05-12-2002
Again, you can screw up a C/C++ program just as easily as a VB program. OK, maybe not as easily, but it's certainly doable. - Jamie Nordmeyer - 15-Nov-2002
|
|
|
|
|
How do I increase the space between rows in a List Control? Is there a property I can change or can I change it in the DrawItem method without screwing things up?
thanks
Jason Henderson start page ; articles
henderson is coming
henderson is an opponent's worst nightmare
* googlism *
|
|
|
|
|
|
I'm pretty much abducting the drawing of this control already by using a customized DrawItem method. If I changed the rcItem RECT of the DRAWITEMSTRUCT parameter, would it screw up the whole list control? I really can't change it at the moment, otherwise I would find out for myself.
Jason Henderson start page ; articles
henderson is coming
henderson is an opponent's worst nightmare
* googlism *
|
|
|
|
|
I have
class BaseClass
{
virtual void SomeMethod();
}
class DerivedClass : public BaseClass
{
virtual void SomeMethod();
}
class AnotherDerivedClass : public DerivedClass
{
virtual void SomeMethod();
}
When I call AnotherDerivedClass::SomeMethod(), I will usually also call the base class method :
void AnotherDerivedClass::SomeMethod()
{
DerivedClass::SomeMethod();
}
in one case of class hierarchy, the middle class ( here DerivedClass ), do nothing more than just call the base class :
void DerivedClass::SomeMethod()
{
BaseClass::SomeMethod();
}
Is it good practice to have the DerivedClass::SomeMethod there ? or can I call BaseClass::SomeMethod() from the AnotherDerivedClass::SomeMethod() ?
The question, is it preferable to explicitly create empty virtual method just to call the base class so that I have a knowledge of the chain of ineritance ? or can I "jump" to the base class without going thrue the middle class if it does nothing ?
Thanks.
Max.
|
|
|
|
|
Maximilien wrote:
The question, is it preferable to explicitly create empty virtual method just to call the base class so that I have a knowledge of the chain of ineritance ? or can I "jump" to the base class without going thrue the middle class if it does nothing ?
IHMO, this would introduce an unnecessary overhead, only because you don't use a tool to draw the class hierarchy.
I see dumb people
|
|
|
|
|
Daniel Turini wrote:
this would introduce an unnecessary overhead
I know, but since it's not in a performance critical part of the software ( UI ) I can live with this.
Daniel Turini wrote:
, only because you don't use a tool to draw the class hierarchy.
I don't understand what you mean by that ?
Max.
|
|
|
|
|
If DerivedClass is not going to do anything but call the BaseClass virtual function then why even declare this function in this class.
If AnotherDerived will first do some stuff and then call the BaseClass virtual then you still do not need the function in the DerivedClass.
void AnotherDerivedClass::SomeMethod(){<br />
BaseClass::SomeMethod();
}<br />
What you choose to do should be based on what the program/design requirements are.
|
|
|
|
|
Good question. Here's my answer:
1. Your AnotherDerivedClass::SomeMethod can always call DerivedClass::SomeMethod. If DerivedClass does not have it, the compiler will automatically call BaseClass's method.
2. You can certainly call BaseClass::SomeMethod from AnotherDerivedClass. (This isn't allowed in Java, by the way).
3. You only need to have a (dummy) DerivedClass::SomeMethod whenever you have another method of the same name with a different set of parameters. Here's the example:
void DerivedClass::SomeMethod()
{
BaseClass::SomeMethod();
}
void DerivedClass::SomeMethod(int nParam)
{
}
If you didn't have DerivedClass::SomeMethod() in DerivedClass, the compiler would not allow you to call DerivedClass::SomeMethod, either from AnotherDerivedClass or through an instance of the class.
Regards,
Alvaro
Well done is better than well said. -- Benjamin Franklin
(I actually prefer medium-well.)
|
|
|
|
|
Alvaro Mendez wrote:
2. You can certainly call BaseClass::SomeMethod from AnotherDerivedClass. (This isn't allowed in Java, by the way).
I don't know Java ? so, in Java I'd have to call the base class method for each derive class ?
Alvaro Mendez wrote:
If you didn't have DerivedClass::SomeMethod() in DerivedClass, the compiler would not allow you to call DerivedClass::SomeMethod, either from AnotherDerivedClass or through an instance of the class.
Yep! that I know!
Thanks
Max.
|
|
|
|
|
Maximilien wrote:
I don't know Java ? so, in Java I'd have to call the base class method for each derive class ?
Well, in Java you can only refer to the class to which you directly derived from, via the super keyword.
Regards,
Alvaro
Well done is better than well said. -- Benjamin Franklin
(I actually prefer medium-well.)
|
|
|
|
|
Alvaro Mendez wrote:
Well, in Java you can only refer to the class to which you directly derived from, via the super keyword.
Sounds like Apple's ObjectC language, I have to look at ObjectiveC book tonight!
Max.
|
|
|
|
|
Hi.
I have a Char which containes a number, example 32. How do I convert the char to INT?
char cTest[100]="32";
int iTest;
now I want to convert the cTest to iTest so it's a integer instead of a char.
Any function which can do this?
thanks for any info.
|
|
|
|
|
atoi.
int iTest = atoi(cTest);
Regards,
Alvaro
Well done is better than well said. -- Benjamin Franklin
(I actually prefer medium-well.)
|
|
|
|