|
Michael P Butler wrote:
Nah, its pure .NET. I can't see any MFC code in the book at all. It does a bit of ATL but only the new Server stuff. A very good book for a C++ programmer wanting to know how they can use their knowledge under .NET
I know, I know. James told me
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Is MC++ worth learning if I've already started learning C# and do not have any Unmanged code that I need to keep?
I also need some ideas of C++ API's or other programming languages(non .NET) that I could learn. The reason im asking this is becuase I think I need a break from .NET and MFC for a little while.
|
|
|
|
|
brian1415 wrote:
Is MC++ worth learning if I've already started learning C# and do not have any Unmanged code that I need to keep?
Nope! MC++ is nearly unsupported by VS.NET. A lot of things just dont work for MC++ the same way it does for C#. So unless you wanna hand code everything stick to C#. Specially since you don't wanna do any unmanaged stuff!
brian1415 wrote:
also need some ideas of C++ API's or other programming languages(non .NET) that I could learn. The reason im asking this is becuase I think I need a break from .NET and MFC for a little while.
Maybe, ATL?
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Thanks nish, I know this is the wrong forum for this question but I thought I might as well continue with this thread. What exactly is ATL I know it deals with servers or somthing...
|
|
|
|
|
brian1415 wrote:
What exactly is ATL I know it deals with servers or somthing
C++ Template based class library that makes COM development easier
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Take a look at this MC++ class :-
public __gc class Class2
{
public:
int Abc()
{
int y=8;
return y;
}
};
Now here is some C# code that instantiates this class :-
Class2 c1 = new Class2();
int y=c1.Abc();
This is confusing to me. Abc() returns an int and not an Int32 . It returns a C++ int . Now we know that the C# int actually maps to a .NET Int32 . What puzzles me is how the C++ int auto-converts into a C# int which auto-boxes to a Int32 !
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
There is no mystery
C++ .NET C#
int -> System.Int32 -> int
System::String->System::String->string
So C++ compiler actually emits metadata as System.Int32. C# compiler reads System.Int32 and maps it to int.
|
|
|
|
|
Rama Krishna wrote:
So C++ compiler actually emits metadata as System.Int32. C# compiler reads System.Int32 and maps it to int.
Thanks Rama!!!
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
int doesn't exist in .NET , the closest is "native int" used with p/invoke and com interop scenarios ...
The System.Int32 is the real datatype , int is simply a "alias".
For real interop with different languages used with the same project we should use the real ones, not the fakes , it's helps a lot
I'm be reading about IL code generation and CLR internals , and in fact .NET is a fascinating beast
Microsoft have done a great work
Cheers,
Joao Vaz
A person who is nice to you, but rude to the waiter, is not a nice person - Natalie Portman (Padme/Amidala of Star Wars)
|
|
|
|
|
I have this MC++ web service which I consumed from an MC++ client.
Nothing fancy. The default HelloWorld thing. Then I tried to make a change to the web service but the build failed and said it couldn't overwrite the files. Finally I found that the problematic soab was Debug\WebServiceTest.pdb. I can't see why this stupid file should be in use any longer. Do I have to restart windows????
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
I was reading Chris Maunder's articles on web services [Read the C# one first and then the MC++ one]. Seems as if web services are pretty straight stuff.
But now that we have these services, how do we read them?
All this while the screen saver competition was on and I never thought of how the .NET guys are doing it. Mike used MS XML I know.
But I forgot about asking what the .NET fellers used. You guys parsed all that XML?? Or was there some kinda XML-to-Object converter available???
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
.NET managed that for us
XML is just encapsulating the data, the Web Service stuff inside .NET parses the data then returns the proper types back to us.
If you look at our source tree, the file /Web References/codeProject/Reference.cs shows you the code the was generated to consume the web service.
[Edit: DOH! Didn't see that this was in the MC++ forum; I'll leave the post here though because it might help someone ]
James
Simplicity Rules!
|
|
|
|
|
James T. Johnson wrote:
If you look at our source tree, the file /Web References/codeProject/Reference.cs shows you the code the was generated to consume the web service.
Oh! Okay!
James T. Johnson wrote:
[Edit: DOH! Didn't see that this was in the MC++ forum; I'll leave the post here though because it might help someone ]
The same classes are used right?
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Nish - Native CPian wrote:
The same classes are used right?
Yep, should be. The SoapClientWebProtocol yadda yadda yadda does all the dirty work.
James
Simplicity Rules!
|
|
|
|
|
James T. Johnson wrote:
The SoapClientWebProtocol yadda yadda yadda does all the dirty work
Really complicated bit of code.
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Hi,
I have 2 questions here. Need your help . Thanking in advance.
Question1
Write an application that prints the following diamond shape. You may use output statements that prints a single
asterisks ( * ) , a single space or a single newline character . Maximize your use of repetition (with nested For structures)
and minimize the number of output statements . The desired output should be as below :
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
Question2
Modify the program you wrote in Question 1 to read odd number in the range 1 to 19 to specify the number of rows
in the diamond . Your program should then display a diamond of the appropriate size .
regards
|
|
|
|
|
Did your teacher tell you that you can also do it in Managed C++???
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Help! I have this problem. I am linking to an unmanaged DLL using IJW (just including the headers). This DLL is thread-safe and calls must run in a thread.
I have used the System::Threading classes to create a thread. However, the thread class I have must be integrated into an unmanaged class that inherits from a base class in the dll:
e.g.
class A : public QQLListener {} where QQLListener is a class in the unmanaged DLL library. However, the thread must be in class A, but you cannot use System::Threading in an unmanaged class and the class CANNOT be managed because it must inherit from an unmanaged abstract base class.
What is a solution? Is there a non .NET framework Threading library? My application cannot use MFC, it must be console mode. I need a threading system that works in unmanaged code in console mode in a .NET managed C++ project. Any ideas?
Thanks
|
|
|
|
|
You cannot derive managed class from an unmanaged class. You should do something like this
__gc class A
{
QQLListener* pSl;
public:
A()
{
pSl = new QQLListener();
}
void ThreadStart()
{
pSl->threadStart();
}
}
|
|
|
|
|
Thanks for the advice, but unfortunately this will not work either. QQLListener is the base class of a subject-observer design pattern, it must be inherited by a derived class so that the callback methods inside it are called. I suppose there is no way to use my old C++ library with the .net framework. I think it's not quite as "compatible" as they claim.
|
|
|
|
|
Anonymous wrote:
. I think it's not quite as "compatible" as they claim.
The stuff is compatible the exact way of doing things depends on a case to case basis. If you provide little more details then probably I could help.
|
|
|
|
|
Anonymous wrote:
Is there a non .NET framework Threading library? My application cannot use MFC
You can use the API. CreateThread() . Or CRT. _beginthreadex()
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
I have an MC++ written control.
I have added it to the C# toolbox.
When I try to insert it into the form [by drag/drop] I get a message box with this *very* informative message :-
Exception from HRESULT: 0x80131019
Blast!!!
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
I just wrote a message to you about that. What a coincidence? I did not know that you would land into this problem so soon. Ok this is interseting you can have a look at my article Developing windows forms control with MFC. Basically you have to click on the reference and set copy local to false.
Rama Krishna
Self professed King of Managed C++
|
|
|
|
|
Rama Krishna wrote:
Basically you have to click on the reference and set copy local to false.
Cool! Also had to copy the DLL to the output directory
Rama Krishna wrote:
Rama Krishna
Self professed King of Managed C++
Maybe not kind yet, but you are the crowned prince
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|