|
Member 4124873 wrote: Do you think I can use native code from my managed service?
No I don't think you can, I know you can.
Member 4124873 wrote: How?
Ok, this is like deja vu all over again. People tend to get real upset when I tell them this but here goes.
Software developers really really should understand the technology they intend to use in a product PRIOR to developing the product. In this particular case one piece of the technologies you are attempting to use is both managed and unmanaged memory and/or code. IMHO you do not understand this technology well enough to be doing anything with it beyond studying and research for the purpose of learning about it.
There are many resources available in this regard. One is a set of articles here on CodeProject that introduce C++/CLI programming to beginners.
led mike
|
|
|
|
|
I had a problem marshaling a C struct. Part of my solution involved Custom Marshalling (ICustomMarshaler). Since I cannot write an article or a book chapter here, you need to follow led mike's advice. However, I can suggest a book that can help you out:
Expert C++/CLI: .NET for Visual C++ Programmers, Marcus Heege
Apress, ISBN: 978-1-59059-756-9 (Print) 978-1-4302-0357-5 (Online)
"We make a living by what we get, we make a life by what we give." --Winston Churchill
|
|
|
|
|
Thank you led mike and George!
|
|
|
|
|
Hello friends,
Can any one give me simple example of how can i call
the Atl com dll function(s) in the Managed C++.net
I have created a simple atl com library. The functions from that
library get invoked through C#.net but when i try to invoke then through
the managed C++ it is giving error message.
Is there anything required to do so that it can work.....?
Thanks in advance.
|
|
|
|
|
Rahul.RK wrote: the managed C++ it is giving error message.
Question: Do you think error messages contain information valuable to the effort of resolving the error?
led mike
|
|
|
|
|
led mike wrote: Question: Do you think error messages contain information valuable to the effort of resolving the error?
Yes?
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Mark Salsbery wrote: Yes?
Is that your final answer?
led mike
|
|
|
|
|
Hello!
I'm have a public managed class in assembly1 with one internal static field field1. This assembly has attribute
[assembly: System::Runtime::CompilerServices::InternalsVisibleToAttribute("assemly2")].
But when I try to access these internal field1 from assembly2 I get an compiler error:
2> c:\projects\assembly1\assembly2\Assembly2.h(14) : error C2248: 'Assembly1::Class1::Field1' : cannot access private member declared in class 'Assembly1::Class1'
2> c:\projects\assembly1\assembly2\Assembly2.h(14) : see declaration of 'Assembly1::Class1::Field1'
2> c:\projects\assembly1\debug\assembly1.dll : see declaration of 'Assembly1::Class1'
VC++ 2008 used.
When I created the same project in VC# 2008 (assembly2) it compiles perfectly and see the internal field1 without any problems.
Source code:
<code>
#pragma once
using namespace System;
namespace Assembly1 {
public ref class Class1
{
internal:
static int Field1;
};
[assembly: System::Runtime::CompilerServices::InternalsVisibleToAttribute("Assembly2")];
}
===========================================================================
// Assembly2.h
#pragma once
using namespace System;
using namespace Assembly1;
namespace Assembly2 {
public ref class Class1
{
void TestC2248()
{
Assembly1::Class1::Field1 = 0; // C2248
}
};
}
</code>
What I'm doing wrong?
Thanks.
|
|
|
|
|
Abix wrote: What I'm doing wrong?
<font color="Red">#using "friend_assemblies.dll" as_friend</font>
from the documentation[^]
|
|
|
|
|
Thank you very much!
modified on Tuesday, January 15, 2008 11:17:56 AM
|
|
|
|
|
I have finish my application written in Visual c++ NEt 2005.
How To deploy it in another machine ?
|
|
|
|
|
|
Dear Sir,
In my Payroll Program, I need to show the picture of each worker.
I put all photos in one directory and the name of each is his id number.
What to di load photos in my form ?
|
|
|
|
|
mikobi wrote: What to di load photos in my form ?
"I guess it's what separates the professionals from the drag and drop, girly wirly, namby pamby, wishy washy, can't code for crap types." - Pete O'Hanlon
|
|
|
|
|
I need it so at the hospital they need to see if the name is really the man who need health cure
|
|
|
|
|
How can I size SplitContainer panel1 so that it can have the same with then buttons I drawn in side programmatically.
|
|
|
|
|
Dear Sir,
How can I realise Navigation pane menu with Visual C++ NET 2005
|
|
|
|
|
I want to have my compiled html help point to a topic specific to where the mouse is pointing but I can't seem to determine which control the mouse is hovering over.
private: System::Void FrmMain_HelpRequested(System::Object^ sender, System::Windows::Forms::HelpEventArgs^ hlpevent)
{
Point pt = this->PointToClient(hlpevent->MousePos);
Control^ requestingControl = dynamic_cast<control^>(sender);
Control ^ctrl = this->GetChildAtPoint(pt);
Control ^ctrl2 = this->ActiveControl;
if( File::Exists(this->helpProvider->HelpNamespace ) == true)
{
Help::ShowHelp(this, this->helpProvider->HelpNamespace);
}
}</control^>
ctrl is the form itself and crtl2 is the last active mdichild in my application.
requestingControl returns the form and not the item the mouse is over.
Hope someone can help
Programmer
Glenn Earl Graham
Austin, TX
modified on Friday, January 04, 2008 1:56:26 PM
|
|
|
|
|
Hi,
have a look at the sender parameter, I expect it to hold the current control; the only thing
required typically is a cast.
|
|
|
|
|
It does not.
The control is the form not the menu item. I have updated my code.
Thanks for the suggestion.
Programmer
Glenn Earl Graham
Austin, TX
|
|
|
|
|
Hi Glenn,
that's too bad, I don't know then.
|
|
|
|
|
I am definitely a newbie....
I'm trying to pass a path to a function that calls 'ShellExecute'...
I know that ShellExecute only recognizes path with '\\' in it.
I don't want the user to have to put '\\' in place of '\' in their path.
example:
real path > c:\thisfolder\thisfile.txt
c++ code > c:\\thisfolder\\thisfile.txt
does anyone know what I can do to figure this out...?
|
|
|
|
|
You can use the Replace method from the String class in your code.
yourString.Replace("\\","\\\\") , where yourString contains the real path.
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
If you're getting a string from the user, you shouldn't have to
worry about this.
The "\\" is only used in string literals in your code. This is
necessary because a single '\' in a string literal starts an escape
sequence. When you use \\ in your string literals, the compiler will
convert it to \
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|