|
Can you explain how/why you are dealing with ethernet frames?
|
|
|
|
|
hi..actually what i've to do is to create a layer 2 (Datalink layer) protocol for streaming mp3/any audio file to another system in intranet(LAN)..for that i'm using winpcap for sending packets...how to place mp3 payload in that??
|
|
|
|
|
septane wrote: since the maximum size of ethernet frame payload is 1500 bytes
At the application layer you needn't worry about the ethernet payload.
The splitting will be done at lower layers.
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
Hi.
I have a c# DLL, and I want to use it in a c/c++ project.
I'm using LoadLibrary() and GetProcAddress(). I have a problem when I want to use GetProcAddress() because, I don't know how to call the method that I want...
For example I know that the c# code has:
class myClass
public void myMethod1()
public void myMethod2()
and using the DLL I want to call 'myMethod2()'.
Anyone knows how can I do it?
Because if I do GetProcAddress(myDll,"myMethod2") it doesn't work (I call GetLastError() and it says that error is type 127)...
Thanks.
|
|
|
|
|
Member Ártemis wrote: ...(I call GetLastError() and it says that error is type 127)...
Which resolves to ERROR_PROC_NOT_FOUND . Have you used Dumpbin.exe or Depends.exe to see the names of the exported functions in the DLL?
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
No, I didn't...
But is it possible to use c# DLL in c/c++ projects, I ask this because I know that we can use c/c++ DLL in c#, but the otherwise I never tried?
I made the c# DLL myself, and I know the methods names. When compile the DLL methods names change?
Probably, these are stupid questions, but I'm trying to learn.
Thanks
|
|
|
|
|
Member Ártemis wrote: When compile the DLL methods names change?
Sometimes.
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
Member Ártemis wrote: i.
I have a c# DLL, and I want to use it in a c/c++ project.
I'm using LoadLibrary() and GetProcAddress(). I have a problem when I want to use GetProcAddress() because, I don't know how to call the method that I want...
Are you sure you can do that? I'm far from being an expert, but AFAIK managed DLLs contain IL code not executable one.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Are you saying that calling c# dll in c/c++ projects is not possible? Or that the method that I'm using is not the apropriate one?
I had used c/c++ dll's in c# projects, so I thougth that we can easy use c# dll in c/c++ projects.
If it is possible, please can you tell me one possible way to do it?
|
|
|
|
|
Member Ártemis wrote: Are you saying that calling c# dll in c/c++ projects is not possible?
Not directly. C# is managed code, C++ is native.
You can use C++/CLI to bridge the gap.
Mixed (Native and Managed) Assemblies[^]
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Mark Salsbery wrote: You can use C++/CLI to bridge the gap.
Also, you can fish off of some bridges.
|
|
|
|
|
<big><O><
<O><
<O><</big>
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
|
My 5.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Member Ártemis wrote: Are you saying that calling c# dll in c/c++ projects is not possible?
It is possible, but not with LoadLibrary() and GetProcAddress(), like you do off with a native dll.
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
You definitely can use a C# DLL in a C++ project.
But it is not as simple as exporting from the DLL and binding to it.
You have to create a COM Callable Wrapper (CCW) around your C# managed code.
Please check the documentation of how this is done.
Then you can access the DLL like a COM DLL.
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
I think I'll end up my entire life trying to make a nodepad application. The wizard generated code & functionalities are totally misleading. wtf : Today should be my last attempt for this doc/view bullshit. Somebody please help.
Let me explain what are the things I've done.
1. Created a new SDI application.
2. Derived the view from CEditView . Found & replaced all CView with CEditView.
3. In the document class, added a CString member m_csText also a getter method to get this string.
4. Modified CMyDocument::Serialize() as ,
void CSDITest4Doc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
ar.Write(m_csText,m_csText.GetLength());
}
else
{
ar.Read(...read into m_csText...);
AfxMessageBox(m_csText);
UpdateAllViews(0);
}
}
5. In the View, added this code for OnUpdate:
void CSDITest4View::OnUpdate(CEditView* , LPARAM , CObject* )
{
CSDITest4Doc* pDoc = this->GetDocument();
CString cs = pDoc->getText();
CEdit& cText = GetEditCtrl();
cText.SetWindowTextW(cs);
}
As I read in every damn place, they say to "make use" of the standard code, without overriding anything or any modification on save file, open file etc.
Now my questions.
1. Why it doesn't show the string in the Edit window?The OnUpdate in view doesn't get called.
2. Why the next time I try to open the same file, it doesn't get into the ::Serialize read function? If I open some other document, it goes there. Otherwise, I need to close the app and open again. Why so?
3. Why it doesn't save anything?
4. From where the ::Serialize function is actually getting called? I want to see the internal MFC code.
5. If I want to debug, set through a "Open file" operation, what should I do? After it shows the File open dialog, it doesn't stop anywhere.
|
|
|
|
|
As you've started to do... Debug, debug, debug...
To answer in slightly random order, I put a break point in my program. If I load a recent file, then the code goes from CWinApp::OnOpenRecentFile to the function
CDocument* CWinApp::OpenDocumentFile(LPCTSTR lpszFileName) .
This function is also called from the file open command.
I suspect you are never calling the CDocument::SetModifiedFlag () method, so MFC is being all efficent and saying "nothing's changed - let's save effort".
That's (2), (3), (4) and (5) answered.
(1) You'll have to answer that with the debugger. But I can't see any CMyEditView::OnEnChange handler, to update the string in the document whenever you press a key and see a shiny new letter appearing in your edit document.
Iain.
Codeproject MVP for C++, I can't believe it's for my lounge posts...
|
|
|
|
|
[Reads..& Goes back into the fuming lab.]
|
|
|
|
|
Dude, I've been using this doc/view bullshit since it was first released. I have no doubt there are many others that could say the same. While I am not unsympathetic to your problems ( ok maybe I am ) at this point you have become your worst problem.
Some guy in the XML forum the other day said XSLT was a stupid standard. Do you see a pattern here?
My advice, since Iain has already provided technical advice, is that you calm down and listen to this song[^]
|
|
|
|
|
What about this one?[^]
lol, but yep I'm losing my patience. As you can see the class names in the code I posted have "4" on them. that's the 4th time I'm creating an application from scratch. For some time I couldn't figure out that it's behaving different when you open the recent file. I thought I messed up the code while trying something. And so recreated again & when I found it, I really felt terrible.
Another thing, why the bloody wizard doesn't ask me if I'm willing to derive the view from CEdit, or CForm or something? It looks nasty to find all occurrence of CView with CEditView. Or I'm not using a simpler way that's already there?
Also, the reference in the books irritate me like anything. In the books I referred nobody has tried to explain a sample. In Tom Archer's VC++ book, he has, but not following what's suggested in other place.
Just a little challenge for you. Try to spot a downloadable good sample SDI application. I hope you win.
After digging deep into google, I manged to get This one[^]
But it has got some strange language inbetween.
|
|
|
|
|
grassrootkit wrote: Another thing, why the bloody wizard doesn't ask me if I'm willing to derive the view from CEdit, or CForm or something?
It does.
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
grassrootkit wrote: Just a little challenge for you. Try to spot a downloadable good sample SDI application.
You have not posted which version of Visual Studio you are using but the ones I have install sample applications on my hard drive. In the new versions like VS2008 they are all located in one zip file. For C++ applications there are a large number of samples. It's hard to believe at least one of them isn't an SDI.
Changing subjects. There are several Windows C++ Frameworks. I imagine they would all be somewhat equally difficult to understand for someone that might not have a working grasp of C++ language, Design Patterns and the Windows SDK. I don't know what your background is but if you are a beginner perhaps this subject is somewhat beyond your current capabilities.
|
|
|
|
|
Hi led, I use VS2005 but I'd have accepted a sample from any version. btw, I sorted out the problem. Please Check my reply to David Crow[^].
If you have any sample applications on SDI, (it may be a complex one), you may send one to grassrootkit_at_g.m.a.i.l. I'm new only to UI applications.. I've been around C++ for quite some time so shouldn't be a problem.
Thanks for the responses.
|
|
|
|
|
grassrootkit wrote: I think I'll end up my entire life trying to make a nodepad application.
Strange, as I just did this in all of 10 seconds without changing any of the code.
grassrootkit wrote: Found & replaced all CView with CEditView.
Why are you doing this manually? AppWizard will do it for you if you select CEditView as the base class.
BTW, I am using VS6.
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|