|
Thanks, but it is on Linux.
I appreciate your help all the time...
Eranga
|
|
|
|
|
Eranga Thennakoon wrote: Thanks, but it is on Linux.
Well, the above is a true.
Anyway they give you sources, IMHO (I gave a quick look at) a build for (or a porting to) Windows appears viable. At least sources maybe the starting point for your own library (You may eventually write an article about ).
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.
|
|
|
|
|
Hmm.... let see
I appreciate your help all the time...
Eranga
|
|
|
|
|
Ok, I've try it and it can be done easily in this way.
CString x;
if(m_rtfCtrl2.CreateEx( WS_EX_APPWINDOW,WS_BORDER|ES_MULTILINE,CRect(10,10,200,200), this, 1))
{
CFile rtfFile;
BOOL err = rtfFile.Open("G:\\Work On\\CPP\\RTFControl\\TestFile.rtf", CFile::modeReadWrite, NULL);
int iLength = rtfFile.GetLength();
char *pBuffer = new char[iLength];
rtfFile.Read(pBuffer, iLength);
CString rtf(pBuffer);
m_rtfCtrl2.SetWindowText(rtf);
m_rtfCtrl2.GetWindowText(x);
AfxMessageBox(x);
}
This works fine. But I want to make a change here. I used this code on MFC application, on click event for simplification. So, used the same window as the main window(use 'this' pointer to refer it) in CreateEx function.
Now I want to use this on MFC supported console application. But there 'this' pointer is not allowed. How can do this change.
On CreateEx() function main window is in HWND* type. So I can't use GetConsoleWindow() as well.
Can you guys give me a clue.
I appreciate your help all the time...
Eranga
|
|
|
|
|
Eranga Thennakoon wrote: CString x; if(m_rtfCtrl2.CreateEx( WS_EX_APPWINDOW,WS_BORDER|ES_MULTILINE,CRect(10,10,200,200), this, 1)) { CFile rtfFile; BOOL err = rtfFile.Open("G:\\Work On\\CPP\\RTFControl\\TestFile.rtf", CFile::modeReadWrite, NULL); int iLength = rtfFile.GetLength();// Data length char *pBuffer = new char[iLength];// Data buffer rtfFile.Read(pBuffer, iLength); CString rtf(pBuffer); m_rtfCtrl2.SetWindowText(rtf); m_rtfCtrl2.GetWindowText(x); AfxMessageBox(x); }
You could simpify this a bit with something like:
DWORD CALLBACK StreamInCallback( DWORD dwCookie, LPBYTE lpBuff, LONG lBytesIn, LONG *lpBytesOut)
{
CFile *pFile = (CFile *) dwCookie;
*plBytesOut = pFile->Read(lpBuff, lBytesIn);
return 0;
}
CFile file("G:\\Work On\\CPP\\RTFControl\\TestFile.rtf", CFile::modeRead);
EDITSTREAM es = {0};
es.dwCookie = (DWORD) &file;
es.pfnCallback = StreamInCallback;
m_rtfCtrl2.StreamIn(SF_RTF, es);
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
I have a zip file which contain a lot of files and folders, and in its folder maybe also contain some other files and sub folders. Most of the zip lib can only visit the first layer files, but it's difficult to visit the sub folder's file.
Could anyone give me some advice!
Thanks in advance.
|
|
|
|
|
Try with 7zip sdk. I am not sure but give a shot.
|
|
|
|
|
I have MSVC app that has one executable and a number of DLL's
When I run Depends tool (a tool that shows what functions make up a DLL)
one of the srtucture in this C/MSVC app show up as a function
Is that possible
If I were to do a GetProcAddress of this structure would I get its address
Thankx
|
|
|
|
|
Well, I think the following is an hint (MSDN documentation about GetProcAddress):
GetProcAddress Function
Retrieves the address of an exported function or variable from the specified dynamic-link library (DLL).
However, I did not make a test (this is up to you).
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.
|
|
|
|
|
|
I've been trying to add some animated GIF files to my Visual Studio 2003 project as a resource, but I get an error message: "(filename) is not a valid GIF file." The GIFs are all valid and can be displayed in any image editor I have. Any way to fix/work around this and get the GIFs into my project as resources?
|
|
|
|
|
Change its .GIF extension to some other, such as .dat. Then try.
Come online at:-
jubinc@skype
|
|
|
|
|
One way is to ignore this stupid and false messages.
Or add it as owner Resource "GIF", but you have to do the loading of ypur own.
Greetings from Germany
|
|
|
|
|
Trying to read a REG_SZ registry I obtained a 234 value in return. Why?
I used RegQueryValueEx
Other readings were ok?
36. When you surround an army, leave an outlet free.
...
Do not press a desperate foe too hard.
SUN-TZU - Art of War
|
|
|
|
|
Hint (winerror.h):
//
// MessageId: ERROR_MORE_DATA
//
// MessageText:
//
// More data is available.
//
#define ERROR_MORE_DATA 234L
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.
|
|
|
|
|
I have read winerror.h. The problem is that I don't understand why the error appears, because I provided all the necessary data
36. When you surround an army, leave an outlet free.
...
Do not press a desperate foe too hard.
SUN-TZU - Art of War
|
|
|
|
|
RomTibi wrote: I provided all the necessary data
But you don't provide a sufficient large buffer (the buffer pointed by lpData ) and the RegQueryValueEx is notifying it to you
(MSDN about RegQueryValueEx , see [^]):
If the buffer specified by lpData parameter is not large enough to hold the data, the function returns ERROR_MORE_DATA and stores the required buffer size in the variable pointed to by lpcbData. In this case, the contents of the lpData buffer are undefined.
In such conditions, *lpcbData is the (minimum) required size for the buffer.
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.
|
|
|
|
|
Thanks!
That was my case too...
36. When you surround an army, leave an outlet free.
...
Do not press a desperate foe too hard.
SUN-TZU - Art of War
|
|
|
|
|
(I don't know if I should post this in the XML forum or here, I flipped the coin and it falls here)
I have a comment in in a section of an XML like :
<Command id="myCommand">
<!-- ... this is a comment -->
<Data name="X1"></Data>
<Data name="X2"></Data>
<Data name="X3"></Data>
<Data name="X4"></Data>
<Data name="X5"></Data>
</Command>
I parse the XML with something like that :
MSXML2::IXMLDOMNodeListPtr pXMLNodeList;
long lCount;
HRESULT hr;
hr = pXMLNode->get_childNodes(&pXMLNodeList);
hr = pXMLNodeList->get_length(&lCount);
if (FAILED(hr))
{
ASSERT( 0 );
return;
}
for (int i = 0; i < lCount; i++)
{
MSXML2::IXMLDOMNodePtr pXMLNode;
hr = pXMLNodeList->get_item(i, &pXMLNode);
if (FAILED(hr))
{
ASSERT( 0 );
return;
}
CString stmp = MyParser::GetnodeName(pXMLNode );
if ( stmp.Compare( "Data" ) == 0 )
{
TRACE("Tata\n");
}
}
When I read the count with pXMLNodeList->get_length(&lCount); it returns 6, the 5 <Data> and the comment line.
When I do the MyParser::GetnodeName(pXMLNode ); for the comment line it returns "#comment"
I'm not certain if it's normal and if there is a better when than doing a Compare to skip the comment line ?
Thanks.
Max.
|
|
|
|
|
Instead of using get_childNodes property that returns any type of node, use the selectNodes method and the appropriate XPath expression to retrieve only what you want.
"We make a living by what we get, we make a life by what we give." --Winston Churchill
|
|
|
|
|
Hi all,
I have a problem, and I would appreciate very much if someone
could help me; I need to solve it by tomorrow
I have compiled a executable in "Release" mode in VC2005, and
when I copied it to another PC, not having VS installed. I get
following error, when trying to run it:
This application has failed to start because the application configuration is incorrect. Reinstalling this application may fix problem.
I also copied two dll files: mfc80.dll, and mfc80d.dll, but doesnt help
|
|
|
|
|
Your best bet is to install the redistributables with your app, vcredist_x86.exe. Most likely located in your "visual studio install dir"\SDK\v2.0\BootStrapper\Packages directory
Why is common sense not common?
Never argue with an idiot. They will drag you down to their level where they are an expert.
Sometimes it takes a lot of work to be lazy
Individuality is fine, as long as we do it together - F. Burns
|
|
|
|
|
|
|
Hi
I am trying to use Web browser control in win32 application in VS2005(not MFC). I have addded this control to the toolbox from COM component list. But I can not drag and drop this newly added control to the to the dialog window.
I am able to do and work with the web browser control in MFC application and it works fine there but I am unable to add this control to win32 application.
Please help me, how I can add web browser control to win32 application.
If it is not possible to drag and drop this control to win32 application, please directed me to any thread when I can find how to add this control programmatically to win32 application in VS.
I will appreciate you help and rate everybody who will try to help me.
Thank you.
|
|
|
|