|
ASSERT(::IsWindow(m_hWnd))
That's where it fails. Apparently my m_hWnd is NULL. How to fix this?
|
|
|
|
|
Trace into the MFC source and check where the assertion occurs. Any hints in the source code comments? Also check if the dialog's m_hWnd is NULL before you call AddString().
Are you trying to do something like this?
CMyDlg dlg;
dlg.m_wndList.AddString("asdf");
dlg.DoModal();
This will fail, because the dialog's window handle (and the list) hasn't actually been created yet.
--------------
"Fabricati Diem, Pvnk"
|
|
|
|
|
the assertion --> ASSERT(::IsWindow(m_hWnd))
So I guess my m_hWnd is NULL. How can I fix this?
Erik,
|
|
|
|
|
CMyDlg dlg;
dlg.DoModal();
And then, inside the dialog:
m_CListBoxVariable.AddString("Testing, testing..."); // Assertion error here!
|
|
|
|
|
This should work. And m_CListBoxVariable was added with ClassWizard? Maybe the DDX macros in DoDataExchange() have been corrupted somehow. Try removing the member and add it again.
--------------
"Fabricati Diem, Pvnk"
|
|
|
|
|
I tried removing, and adding it again. No luck.
I think the problem is somehow related to the fact that hWnd is NULL in my new dialog object. I have no clue however how to initialize hWnd.
Please, can't someone just try to make a dialog based app, and then fire up a new dialog from the main frame. And if you can assign values to variables in this new CDialog, please tell me how you did....
|
|
|
|
|
I created a small test project and it works OK. This is what I did:
1. Create a standard Dialog-based MFC app
2. Add a new dialog resource to the project (IDD_DIALOG1)
3. Put a listbox on the new dialog
4. Open ClassWizard and coose to create a new CDialog class for new dialog resource (CDialog1).
5. With ClassWizard, add a CListBox member for the list (m_wndList)
6. Add a button to the main dialog and add an OnClick handler like this:
#include "Dialog1.h"
...
void CMainDlg::OnButton1()
{
CDialog1 dlg;
dlg.DoModal();
}
7. Add a WM_INITDIALOG handler in CDialog1:
BOOL CDialog1::OnInitDialog()
{
CDialog::OnInitDialog();
m_wndList.AddString("String to add");
return TRUE;
}
Try this, and if you still get an assertion at CListBox::AddString(), something is very, very strange.
--------------
"Fabricati Diem, Pvnk"
|
|
|
|
|
Which function inside the dialog is the m_CListBoxVariable.AddString("Testing, testing..."); called. Is it in InitDialog?
Michael
|
|
|
|
|
Hello,
I'm trying to use the printer port to do some simple I/O operations in windows 2000. However, as I quickly learned direct IO is a no-no with the NT kernel. I've tried to find out how I can accomplish just reading/writing single bytes to the port but all I've managed to find is shareware device drivers that accomplish this. For my purpose a driver is overkill. I've read that I could use CreateFile() to read and write to the port, but how would I specifically read the Control and Status parts of the printer port? Reading those two ports is essential. I really appreciate any help/suggestions. Thanks a lot!
Joseph LeBlanc
unixd0od@hotmail.com
|
|
|
|
|
ok,
i'm making a chat program where the user inputs
text in a multiline edit box and it is added to a buffer
declared as a character array which is then sent
to another edit box set as read-only for display.
i need to separate messages of different users
by a line or two.
The problem is that '\n' comes out as a square.
i have tried to use ToAscii(VK_RETURN...) but the
some weird character came up. i have also tried to
send an extra VK_RETURN to the user input edit box before i
GetDlgItemText(), but for some reason it comes up
after the text is read and cleared, so the edit box
ends up blank with the cursor on the second line.
is this possible, or should i try to make my buffer
another type?
thx
-SiKLyChILd
|
|
|
|
|
Use a ListBox Using AddString() function and Ready..
Cheers...
Carlos Antollini
|
|
|
|
|
|
thanx a lot man, ive been racking by brain for days.
btw, what does the r in '\r' stand for?
just curious...
thx
SiKLyChILd
|
|
|
|
|
carrige (r)eturn
-Ben
"Its funny when you stop doing things not because they’re wrong, but because you might get caught." - Unknown
|
|
|
|
|
Anybody know where I can find a good example of creating docking windows in strait C? Cristi Posea has excellant source for MFC (http://www.codeproject.com/docking/sizecbar.asp), but I'd like to know what's going on underneath, and MFC source is kind of a pain to step through.
Thanks in advance,
Jamie Nordmeyer
Portland, Oregon, USA
|
|
|
|
|
Hello,
How can we create controls on the fly and then place them in the client area of a window?
Any suggestions would be appreciated.
|
|
|
|
|
|
I'm using SHFileOperation to delete folders, as shown in the following code. However, there seems to be a problem with spurious "file in use" errors when I call this function on most folders in my system. These directories don't have any special properties that I can see via browsing, so I can't understand when the command fails.
Is there some catch or trick in this? Win2K, SP1, VC++ 6.
Thanks -
Jim
// Get the path
TCHAR szOldPath[_MAX_PATH];
ZeroMemory(szOldPath, sizeof(szOldPath)); // SHFileOperation requires a double-null terminator
SHGetPathFromIDList(m_pidl, szOldPath);
// Set up the file op
SHFILEOPSTRUCT fileOp;
fileOp.hwnd = AfxGetMainWnd()->GetSafeHwnd();
fileOp.wFunc = FO_DELETE;
fileOp.pFrom = szOldPath;
fileOp.pTo = "\0\0"; // NULL;
fileOp.fFlags = FOF_ALLOWUNDO | FOF_NOCONFIRMATION;
fileOp.fAnyOperationsAborted = FALSE;
fileOp.hNameMappings = NULL;
fileOp.lpszProgressTitle = NULL;
return(SHFileOperation(&fileOp) == 0);
|
|
|
|
|
I found the problem...
.. I had neglected to call Release() on an IEnumIDList that had been created to look at the folder contents. This marked the folder as in use. That was a fun one to trrack down!
|
|
|
|
|
How can I add resource(bitmap) from bmp file in my program so as the user will insert a path to his picture(bmp file) and the program will set it on the dialog form of oneself ???
|
|
|
|
|
|
Hi all.
If anybody have any news about VC++ 7.0, please tell me ...
About:
1- What is new in VC++ 7.0 ???
2- Why we must use of it instead VC++ 6.0 ???
And all other things about it ...
Thanks
My month article: Game programming by DirectX by Lan Mader.
Please visit in: www.geocities.com/hadi_rezaie/index.html
Hadi Rezaie
|
|
|
|
|
ATL 3 now becoms ATL 7... It includes new features like Aggregation accros process boundaries. I didn't had the chance to experiment with it yet...
Another thing is of-course the ease of work with VC7... The user interface includes filetabs, code collapsing, and so on...
But I think the biggest change will be the managed extensions you can use (If this is an advantage, I have yet to find out)...
|
|
|
|
|
Hello,
I’m trying to write 3 strings out to a text file but I need each string to be on a separate line.. Here is what I have tried..
CFile fileEditText;
if(fileEditText.Open("c:\\text.txt",
CFile::modeCreate + CFile::modeWrite))
{
//Write out the full string
fileEditText.Write(
strFirstline+"\n\r"+strSecondline+"\n\r"+strThird+"\n\r",length.GetLength());
//Close the file
fileEditText.Close();
}
I've tried every combo of "\n" "\r" etc..
It still writes out the 3 strings in one continuous line in the text file..
Any help would be appreciated.
THANKS,
Rob
|
|
|
|
|
It's \r\n, not \n\r. You can also use CStdioFile, and then put just \n in your strings. CStdioFile::WriteString() automagically converts \n to \r\n for you.
--Mike--
http://home.inreach.com/mdunn/
#include "buffy_sig"
|
|
|
|