|
Hi,
I am trying to return a string(char*) from a c++ dll and the string i return comes out blank. can anyone help me on this.
Vinayak D. Labade
|
|
|
|
|
where did you allocate your storage?
most people pass in the allocate storage with it size to the function they intended to call
char *pNew = new char[100];
memset(pNew, NULL, sizeof(pNew));
yourDLLFuncCall(pNew, sizeof(pNew));
delete [] pNew;
so that they could deallocate it once done at the caller itself. If you allocate storage in your DLL function and deallocate it in your main exe, there would be a tendency of getting a memory leak or crash when calling delete.
Sonork 100.41263:Anthony_Yio
|
|
|
|
|
On startup how do i resize the view to fit the size of the parent frame ?
|
|
|
|
|
I would try to maximise the Child Frame holding the view, like this for example (supposing you use MFC):
<code>
void CChildFrame::ActivateFrame(int nCmdShow)
{
nCmdShow = SW_MAXIMIZE;
CMDIChildWnd::ActivateFrame(nCmdShow);
}
HTH,
Fold With Us!
"For every complex problem there is an answer that is clear, simple, and wrong" - H.L. Mencken
|
|
|
|
|
Please be more precise and explain your problem clearly for better and beneficial replies.
Rahim Rattani
Software Engineer,
Matrix Systems (Pvt) Ltd.,
Karachi - Pakistan
|
|
|
|
|
Hello, I 'm writting an application with winsock and I want to resolve an ip address from a hostname. What I need is a function call to whom I 'll give for example "www.codeproject.com" and it will return to me its ip address. I know that there's such a function but I can't find it.
Thanks in advance,
Themis
|
|
|
|
|
There are a couple of nice examples here[^].
"If it's Snowbird season, why can't we shoot them?" - Overheard in a bar in Bullhead City
|
|
|
|
|
Hello my best friends,
I'm a beginner to Visual C++ programming, so I have some "stupid" questions for you and I hope you guys to help me.
I'm working on my own very simple chatapplication, but I encounterd some problems. I've made a client and a server part, I've tested it out but I had the problem that I couldn't send a text string. My serverside establishes a connection with the clientside ( I know it because I put some control messages to be sure there is a connection).
But when I try to send a peace of text, it does nothing except that it shows the sending text on my display and the receiver part shows nothing on the display. I used the following code to send a string:
void CSimComDlg::OnSend()
{
m_Message.GetWindowText(strMESSAGE);
m_pArOut->WriteString(strMESSAGE);
m_pArOut->Flush();
m_MsgDsp.SetWindowText(_T(Name+":"+strMESSAGE+"\r\n"));
strMESSAGE.Empty();
}
And to read a received string:
void CSimComDlg::ReadReceive()
{
m_pArIn->ReadString(strMESSAGE);
m_MsgDsp.SetWindowText(_T("Chatter:"+strMESSAGE+"\r\n"));
strMESSAGE.Empty();
}
m_pArOut and m_pArIn are CArchive pointers (I use this in combination with CSocketFile to send data over internet).
Is there something wrong with these codes?
I've seen some other example codes on the internet, they include also the length of the message to send and they check also the buffer if there's more data coming in. But are they neccesary to put them in my code?
I hope you can help me boyzz
If my application works, I forget all my problems.
|
|
|
|
|
I am trying to capture events from a running instance of Microsoft Word. If I could do this using MFC libraries, this would be a walk in the park. However, I HAVE to do this using straight C++ without the help of MFC libraries what-so-ever.
I have done a lot of reading (especially on this site) on this topic and have tried to implement this event handling in a VC++ console application. I understand that you need to have event sinks to handle these events and that the COM object has to support the interface that the client application is exposing. The problem I have, is that in all the examples I have found on the web, the developers have created their own COM object and have a client that talks to that. What I haven't been able to find, is a straight forward example of how to make a connection to any of the Microsoft Office applications using the Adise method. Every time I try it, it fails.
Could anyone help me? I just need a basic explanation of how to set up this connection, or better yet, some very basic source on how to do this.
Any help would be massively appreciated!
|
|
|
|
|
I need to know if someone can tell me how i can make an struct array what uses an LPSTR or anything similar identifiyng method instead of the normal int method , i need it for a project in that i am.
Thank you for your help
Example:
MyArrayStruct("identifier").Anything=0xFF;
|
|
|
|
|
you need a map. try a CMap or a std::map
CMap< CString, LPCSTR, CPerson, CPerson& > myMap2;
CPerson person;
LPCSTR lpstrName = "Jones";
myMap2->SetAt( lpstrName, person );
or
typedef map< CString , CPerson> clrMap;
theMap clrMap;
...
clrMap::const_iterator it;
it = theMap.find(name);
if (it!=theMap.end())
{
return (*it).second;
}
Software | Cleek
|
|
|
|
|
Thank you Chris Losinger , I only make you one question, the first mode uses MFC if i`m not wrong, but the second don't uses it, right?
PD: I don't use that in my project, i need do it withuot the MFC classes, only with C++...
|
|
|
|
|
correct. if you don't use MFC, std::map will still work for you.
i would recommend std::map over CMap in any case.
-c
Software | Cleek
|
|
|
|
|
another question how i implement this function??
do you can explain me???
please...
Thank you
|
|
|
|
|
|
Pre-compiled a C library using msvc 6, blah.lib
In a new C++ project, include header and library location in Tools->Options->Directories, included header in the C++ file and include library in the Settings->Link tab
I get a linker error stating:
main.obj : error LNK2001: unresolved external symbol "int __cdecl hInitialise(int,struct HWND__ *,struct HDC__ *,unsigned int)" (?hInitialise@@YAHHPAUHWND__@@PAUHDC__@@I@Z)
I was not able to recompile the library into C++, cause of header problems....
|
|
|
|
|
This smells like a name mangling issue. Try to wrap the header file that contains your function declarations with
extern "C"
{
...
... all of your functions
...
} and then rebuild your library and then rebuild your app.
Chris Meech
I am Canadian. [heard in a local bar]
Gently arching his fishing rod back he moves the tip forward in a gentle arch releasing the line.... kersplunk [Doug Goulden]
Nice sig! [Tim Deveaux on Matt Newman's sig with a quote from me]
|
|
|
|
|
Thanks for the suggestion Chris, it didn't work.
The cpp files generated a host of other errors.
I googled extern "C" to see how else I could use it.
I tried putting the function declaration at the top of my file and used:
extern "C" int hInitialise(int count,
HWND window,
HDC screen,
unsigned int flags);
Got a compile error:
main.cpp(13) : error C2732: linkage specification contradicts earlier specification for 'hInitialise'
But I copied it straight from the header....
|
|
|
|
|
|
Hello,
I have got a handle to a window:
HWND hWndAddEditWindow = NULL;
hWndAddEditWindow = FindWindow(NULL,_T("New/Edit"));
I then open the window using the handle but I then need to populate the text boxes on the window who's names and ID's change each time.
I have been told that there is a way to get a handle to the first textbox, followed by the second textbox and so on, but I have not been able to work out how.
Please could someone help me out by telling me how I can get a handle to the first two textboxes in the window and send some text to them.
Many thanks
Willertron
www.willertron.com
|
|
|
|
|
The EnumChildWindows function enumerates the child windows that belong to the specified parent window by passing the handle to each child window, in turn, to an application-defined callback function. EnumChildWindows continues until the last child window is enumerated or the callback function returns FALSE.
You then could use the GetClassName function retrieves the name of the class to which the specified window belongs on each hWnd to make sure it is a text box.
|
|
|
|
|
after you get the handle to that window, use FindWindowEx() to go through the children. If you're using MFC, use mfc's CWnd version of FindWindowEx(). that way you can get a CWnd*, cast it to CEdit* and do whatever you want with it.
My articles
www.stillwaterexpress.com
BlackDice
|
|
|
|
|
I start a new W32 console VC++ project from VC++ .net and
add a class (one .cpp and one .h files) to this project.
It gives an error when compiling:
fatal error C1010: unexpected end of file while looking for precompiled header directive
It doesn't happen in VC++ 6.0.
Could anybody pls help me on this?
|
|
|
|
|
try adding ...
#include "stdafx.h"
.. to the top of your .cpp
Software | Cleek
|
|
|
|
|