|
Here is method signature
template <class T>
void Vector<T>::push_back(const T& new_item)
I initialize the Vector class with T = Behavior*
When running push_back I receive the error I mentioned in my first post.
I hope it's better now.
Thanks you,
Efi
|
|
|
|
|
Efi Merdler wrote: Here is method signature
template <class t="">
void Vector<t>::push_back(const T& new_item)
I don't need you to post the code from the STL, i've seen it. What I have not seen is your declaration of your vector. Do you see how the code I posted includes the declaration of the vector?
vector<foo*> vfoo;
I don't have your Behavior class but the vector doesn't care about any of that. To the vector my foo class pointer is not different from your Behavior class pointer in it's ability to contain pointers to them. You are obviously doing something wrong in code you have not posted.
led mike
|
|
|
|
|
Vector<Behavior*> m_vecSequentialBehaviors; --> defined in regular c++ file.
The vector class is defined inside a regular c++ file (I export it from a dll I created).
The code that I posted earlier in my posts is taken from a CLI project.
When using the push_back method in a regular vc6 project (no CLI) with an argument of type Behavior* I receive no errors. it only happens in the CLI project (VS2005).
Efi
|
|
|
|
|
Efi Merdler wrote: The vector class is defined inside a regular c++ file (I export it from a dll I created).
The code that I posted earlier in my posts is taken from a CLI project.
Not part of your problem but that is a poor design. The actual vector in the DLL should be encapsulated in the interface that is exported from the DLL, not exposed from the interface exported by the DLL.
Efi Merdler wrote: it only happens in the CLI project (VS2005).
Your problem may be that your project is not configured properly. Try declaring a vector in the CLI project and using it as a test to see if it's set up correctly.
led mike
|
|
|
|
|
Hello
I want To create Server , Client Application With Send ,Recive Struct .
i Want work with TcpClient and Send Struct .
........................
|
|
|
|
|
|
I have a C++ win32 console application (built using Visual Studio 2005). I have complete code. I need to convert this console application to a dll and I want to call this DLL in a ASP.Net web service (Just because I know how to create an ASP.Net webservice). I am totally new to C++ programming but now I am getting better at it.
I have successfuly created the DLL of that console app (by changing project properties)and also imported the DLL function successfuly. I can debug the dll code when called from my C#/C++ managed console app (I have tried both C++ and C#).
The problem is when ever the code in DLL uses a std::vector, or any other STL based contianers. The code gives exception i.e.
An unhandled exception of type 'System.AccessViolationException' occurred in C++ManagedConsole.exe
Additional information: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
can someone please point me to a possible solution for this problem. Though I have the code but I cant just remove all the code using the std::vector, or other containers.
Thanking in advance for any kind of hints.
|
|
|
|
|
s.m.shah wrote: can someone please point me to a possible solution for this problem.
Well we would have to know what the problem is to point to any solutions.
It might have helped if you had posted code showing how you use the vector(s) and what specific line of code throws the exception.
led mike
|
|
|
|
|
Hello,
I want to invoke methods from the unmanaged code(COM component.).
I want some suggestion for that, should i go for managed C++ wrapper or
will be it OK if i go for C#.
Basically main problem with the com is that, it has exposed one
method named Init((Inknown *) *pSYNInfo).
But they don't have exposed the SYNinfo class, which needs to be
passed to Init function. So what approach should i do so that i can
invoke the Init() function after setting the proper values to the SYNInfo
Class. Can i access the SYNInfo file by adding the header file in the
managed C++. Please help me out.
Thanks in advance.
|
|
|
|
|
Rahul.RK wrote: Can i access the SYNInfo file by adding the header file in the
managed C++.
Sort of. Technically you will have what is called "mixed-mode" C++. That means it is comprised of both native code and managed code. If you did a "pure managed" project you could not be able to include the native C++ header file.
Go to the Articles section of CodeProject and read the C++/CLI beginners articles, they have been rated very high.
led mike
|
|
|
|
|
Hi,
When i am trying to build my VC++ exe using /clr option, i am getting the following Link Error:
StdAfx.obj : error LNK2020: unresolved token (0A001984)......
Please could someone suggest me how to resolve this error?
Regards
Rinnu
|
|
|
|
|
Rinnu Mary wrote: When i am trying to build my VC++ exe using /clr option, i am getting the following Link Error:
StdAfx.obj : error LNK2020: unresolved token (0A001984)......
Please could someone suggest me how to resolve this error?
Well here is how I would start, I would navigate my browser to google.com and enter the search phrase
MSDN clr error LNK2020
Then click the search button and start analyzing the results.
led mike
|
|
|
|
|
some one please tell the full code for connecting oracle 9i database from asp.net 2.0 plzzzzzzzzzzzzzzzzzzzzzzzzzzz
|
|
|
|
|
www.connectionstrings.com[^] might be helpful...
"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
|
|
|
|
|
|
Stop posting this garbage you freak and go find a job in a circus
led mike
|
|
|
|
|
led mike wrote: Stop posting this garbage you freak and go find a job in a circus
I am really curious as to what the deleted post originally said
"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
|
|
|
|
|
There was three of the posts actually - all out-of-context crap.
This one only stayed because there was a reply before many of us marked them as abuse
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Did it happen to look like the crap on his blog space in the profile? Just tons of crap code
"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
|
|
|
|
|
Paul Conrad wrote: Did it happen to look like the crap on his blog space in the profile? Just tons of crap code
Yep. Like Mark said there were three of them. I replied to the top one and sent abuse on all of them. Guess I shouldn't have posted a reply
led mike
|
|
|
|
|
Hi,
Can you give me any Managed c++ treeview creation example project.
Thanks
|
|
|
|
|
Have you tried searching around here or on google?
"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
|
|
|
|
|
HOPEFULLY someone can help me.
I am trying to access a function from an unmanaged DLL from my visual c++ managed GUI.
Declaration of the function I am trying to import from unmanaged (native) DLL is:
extern "C" __declspec(dllexport) TGrayImage<int>* init_seg(TGrayImage<float>* pImg, TMonoImage* monoImg, int nClass)
Even though there are many functons in the DLL, only this function is exported.
Now In my GUI, I have added the following line to import that functon so that I can call that functon from GUI.
At the top of the file after using namespaces
[System::Runtime::InteropServices::DllImport("segment.dll")]
TGrayImage<int> * init_seg(TGrayImage<float>* pimg, TMonoImage* mono, int nNum);
I didn't do any Marshalling parameter. I have no idea how to Marshall a pointer to a Template class or pointer to a class. I searched before posting but I didn't get clear understanding about it.
Just for clarification, pimg and mono I am trying to pass is Managed varialble created within managed GUI.
TGrayImage<float>* pimg = new TGrayImage<float>* (width,height);// used new not gcnew
TmonoImage* mono = new TMonoImage(width, height);
I have added the proper library (compiled with pure:MSIL) in my my GUI which supplied TGrayImage,TMonoImage.
Header file for TGrayImage and TMonoImage already included in the GUI.
When I call init_seg function from GUI, I got the following message:
An unhandled exception of type 'System.AccessViolationException' occurred in GUI.exe
Additional information: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Please help me to Marshall these parameter correctway. I will appreciate your big help.
Thank you.
|
|
|
|
|
I can't decipher your post.
s196675m wrote: I am trying to access a function from an unmanaged DLL from my visual c++ managed GUI.
Declaration of the function I am trying to import from unmanaged (native) DLL is:
extern "C" __declspec(dllexport) TGrayImage<int>* init_seg(TGrayImage<float>* pImg, TMonoImage* monoImg, int nClass)
First you indicate an unmanged source, then:
s196675m wrote: Just for clarification, pimg and mono I am trying to pass is Managed varialble created within managed GUI.
TGrayImage<float>* pimg = new TGrayImage<float>* (width,height);// used new not gcnew
TmonoImage* mono = new TMonoImage(width, height);
I have added the proper library (compiled with pure:MSIL) in my my GUI which supplied TGrayImage,TMonoImage.
At this point I am at a complete loss to understand your scenario.
led mike
|
|
|
|
|
Sorry, for ambiguity.
led mike wrote: s196675m wrote:
I am trying to access a function from an unmanaged DLL from my visual c++ managed GUI.
Declaration of the function I am trying to import from unmanaged (native) DLL is:
extern "C" __declspec(dllexport) TGrayImage<int>* init_seg(TGrayImage<float>* pImg, TMonoImage* monoImg, int nClass)
First you indicate an unmanged source, then:
Yes you are right. This line of declaration from unmanged source. (part of unmanaged DLL.
led mike wrote: s196675m wrote:
Just for clarification, pimg and mono I am trying to pass is Managed varialble created within managed GUI.
TGrayImage<float>* pimg = new TGrayImage<float>* (width,height);// used new not gcnew
TmonoImage* mono = new TMonoImage(width, height);
These sample code is part of GUI( managed). I just showed here how I initialize pimg and mono variables before passing to the imported function
I have added the proper library (compiled with pure:MSIL) in my my GUI which supplied TGrayImage,TMonoImage.
Here I am trying to mean, The other library I used with GUI also complied as a managed library.
At this point I am at a complete loss to understand your scenario.
Now my main question is:
(1) Did I imported the function correctly ?
(2) Do I need to marshall the parameters before passing to the function?
(3) How Can I marshall the first two parameters?
Thank you.
|
|
|
|