|
VB.NET code generates a DLL, but it doesn't use the entry-point format that native code uses. You can't therefore use static linking to link to VB.NET code, nor dynamic linking through LoadLibrary and GetProcAddress.
However, you can use COM to call suitable VB.NET code. The code must be implemented (if I remember correctly) as a class instance method (not Shared or in a Module ), must be Public , and the class must either have no constructor or a default constructor (a Sub New which takes no parameters).
To do this you need to register the .NET assembly for COM Interop. The .NET Framework includes the tool regasm for this purpose. regasm can be made to also generate a type library by passing the /tlb option. You can then use a #import directive in your C++ code to get the compiler to generate the necessary code to call the VB.NET code.
For the Framework to find the assembly at runtime, you must either: generate a strong name for the assembly and place it in the global assembly cache, or use the /codebase switch to regasm .
Stability. What an interesting concept. -- Chris Maunder
|
|
|
|
|
Hi Mike,
Thanks for for the detail explaination, in this case and as you suggested I will use COM instead off DLL from VB.net ... now I remember why COM is much more powerful to use through different platform & programs!
Many thanks
|
|
|
|
|
I have an MFC application that is built around the doc/view architecture. I have written some code to save the view's output to a jpg. We shell execute this program from client applications, but now I, or rather my boss, now wants us to use the doc/view code in a dll so that we can save the view's output to a file directly from a client application.
As an analogy imagine loading up a Scribble file in the scribble tutorial (but as a dll rather than an exe), from a simple win32 application. Once save the scribble code returns the result to the win32 app.
How easy is this to wrap the MFC classes in a dll that simply exports a "C" call to kick off the doc/view stuff load/save stuff and close and return the result to the caller, what do I need to do to kick off the MFC stuff properly?
BBly
|
|
|
|
|
Did anyone work with BOOST uBLAS library for linear algebra?
I want to create matrices and also apply some functions such as svd (Singular value decomposition), eig (Eigenvalues and eigenvectors), diag (Diagonal matrices and diagonals of a matrix) and pinv (Pseudoinverse).
I want to know that uBLAS can do these functions or not?
A. Riazi
|
|
|
|
|
did you have a look at the standard Matrix class ?
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
Hello,
How can I find the path to the "application data" folder for the current user and for "all users". I need a function or algorithm that will run properly under WinXP, 2000, Me and 98
Thanks.
Regards,
Cosmin Unguru
|
|
|
|
|
|
hey did u see the above thread (BOOST bLas) ? smells likes maths( i know u're a mathematics lover) , are u not looking at it?
"But your mind is very complex, very tricky. It makes simple things complicated. -- that's its work. And for centuries it has been trained for only one thing: to make things so complicated that your life becomes impossible."- Osho
<marquee scrollamount="1" scrolldelay="1" direction="up" height="10" step="1"> --[V]--
|
|
|
|
|
hy vivek,
you know, i have too much work these days...
moreover, i know high mathematics, not how to implement them in IT...
cheers,
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
Dear One,
I am working on MFC Dialog based applications.I have a problem that when i used the Main dialog class with a CCombo control over it I made a control type variable for it and it worked fine
BUT
When i made another new dialog class with some CCombo control with a variable of control type,It returned an assertion failure which is as follows:
File afxwin2.inl
Line:735
Please help me in this regard.For I have got very very short time to complete my project.Time line for it is one week left to complete this project.
Thanking you in Anticipation
asifrogers
|
|
|
|
|
asifrogers wrote: File afxwin2.inl
Line:735
Which means you are trying to add a string to a combobox that does not yet exist.
asifrogers wrote: Please help me in this regard.For I have got very very short time to complete my project.Time line for it is one week left to complete this project.
Remember that this is your project, not ours. Just because you have an emergency does not mean you get help any faster.
"Take only what you need and leave the land as you found it." - Native American Proverb
|
|
|
|
|
Hi David,
How r u?The problem is not that i have not added the combo box yet but is that when i made control variable for that combo box while debugging it showed me in the Quick watch
Variable Name: m_Categories.AddString("Asif Rogers");
Value:CXX0052: "Error:Member fuction not present"
So problem is with control type variables and not with Value type variables.
Thanx for your kind response
asifrogers
|
|
|
|
|
I can only offer what I see in the source files. Line 735 of afxwin2.inl looks like:
ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_ADDSTRING, 0, (LPARAM)lpszString); Note there's only one assertion on that line.
"Take only what you need and leave the land as you found it." - Native American Proverb
|
|
|
|
|
hi..
this piece of code is from vc++.net
MessageBox(0, "Please Check Row No:" + j ,"Validations",MB_OK);
When i try to concatenate some text string with an integer value(j), it compiles successfully. but the output is confusing.. for example..if the value of j is 5, then it trim 5 chars from the left in hat text string..
SO i tried it with concat function...like this..
MessageBox(0, String::Concat("Please Check Row No:" , (Datagrid1->get_Item(j,0))) ,"Validations",MB_OK);
This returns error
"error C2665: 'System::String::Concat' : none of the 9 overloads can convert parameter 2 from type 'System::Object __gc *'"
Can anyone solve my problem?
Salai
|
|
|
|
|
Use CString object:
<br />
CString str;<br />
str.Format("Please Check Row No: %d Validations",j);<br />
MessageBox(0,str,MB_OK);<br />
Matteo
|
|
|
|
|
Maetto..
Thanks for yr reply.. i tried this...
But it returns error "CString : Undeclared identifier."
i put this code in .cpp file...
should i have to include any header files here?
Salai
|
|
|
|
|
> CString str;
> str.Format("Please Check Row No: %d Validations",j);
> MessageBox(0,str,MB_OK);
> But it returns error "CString : Undeclared identifier."
char szBuf[200];
sprintf(szBuf, "Please Check Row No: %d Validations", j);
MessageBox(0, szBuf, MB_OK);
|
|
|
|
|
Never go heavyweight when lightweight works fine:
TCHAR caBuffer[ 64 + 1 ];<br />
<br />
_snprintf( caBuffer, 64, "Please Check Row No: %d Validations", j );<br />
caBuffer[ 64 ] = '\0';<br />
MessageBox( NULL, "Example", caBuffer, MB_OK );
Peace!
-=- James If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Tip for new SUV drivers: Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! DeleteFXPFiles & CheckFavorites (Please rate this post!)
|
|
|
|
|
CString is defined in "cstringt.h" (MFC) or "atlstr.h" (NON-MFC)
|
|
|
|
|
I am migrating my code from VC 6.0 to VC 7.1 and I have encoutered a problem:
The compiler says:-
e:\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\ShObjIdl.h(9569): error C2061: syntax error : identifier 'IXMLDOMDocument'
Any help on it ?
Regards,
|
|
|
|
|
I have the following pb:
I have an simple MFC app where I launch a function(INIT) that starts a thread(THREAD 1=wait for connection) that connects to a socket(CSocket).After the connection,I Detach and get the handle...now...my pb is this:
if I re-Attach the handle of the socket after the connection in the INIT function then when my server "dies"...I get the OnClose event on the CSocket object...but if I try to re-Attach the handle of the socket inside that Thread 1 or even in another Thread 2...I never receive that notification of the OnClose event
Anyone knows why, and the most important...does he have a solution for this pb ?
(I admin that I'm a begginer with MFC)
Of all the things I've lost, my mind I miss the most
|
|
|
|
|
Hi,
I have a binary string. I need to search certain characters.
I used to use "memstr" (obtain fist substring from string) on
Unix.
Is there anything similar to that available from MFC?
Thanks,
Kevin
|
|
|
|
|
If your are using CStrings, yes, CString::Find
~RaGE();
|
|
|
|
|
|
Use the CString to store the binary data
&
use Find (..) member fuction to find the charaters.
Vikas Amin
Embin Technology
Bombay
vikas.amin@embin.com
|
|
|
|