|
Is ur project dialog based? Are u using any event handling? This may help to think over the problem
Dipeka.A.J
|
|
|
|
|
Dialog Based-Yes,aloso have Start button which triggers start of programm
Event-No
ThAnks
Alex
|
|
|
|
|
Problem solved!!!
It was a small thing actually..
Thank you very much for the help,i'm thankfull
Alex
|
|
|
|
|
It's great u have discovered the problem!!!!! All the best
Dipeka.A.J
|
|
|
|
|
It's great u have discovered the problem!!! All the best
Dipeka.A.J
|
|
|
|
|
You've not provided near enough information. Any attempt at a solution at this point would be futile at best.
What does the program do? What are the symptoms? Has it ever worked two or more times? When the program is supposed to "run" a second time, have you stepped through the code from that point to see what is failing? Have you trimmed away all unnecessary code so that what's left is just enough to reproduce the problem?
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
Hello,
Ill detail more:
My project(parser XML) i allow user to enter filename of file to be parsed and directories for log files(regularTXT and html) and then allow start parsing by pressing Start button which triggers start of work(only if user entered file and directory). For translating txt log file to html i have checkbox and if its marked then html-convert function also starts working..
If its not enough please tell me,also ill post the code tomoroow(although its long for posting)..And no it never worked more than once..
Symptoms are that for second try of running it does get the input but doesnt perform necessary actions as in first time..
I debugged my functions and its fine,couldnt debug GUI(mfcDlg.cpp)yet..
Thank you,
Alex
|
|
|
|
|
For starters, set a breakpoint in the handler for the Start button. Begin debugging at that point. You might also consider judiciously-placed ASSERT() statements. They alert you when the state of your program is not what you think/expect it to be.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
I think the problem is that when i start programm for second time it has some problems with reading from the source (XML)file(.xml)..
Im opening the file with GUI by using CFileDialog and also f.open in function and closing just with f.close ..Could that be the problem? If yes how do i close it with GUI?
And also,Do i need to call OnInitDialog function after the programm ends for the first time?
Thank you very much,
Alex
|
|
|
|
|
rfixxxer wrote:
Im opening the file with GUI...
How you open a file and whether the program has a GUI are mutually exclusive things.
rfixxxer wrote:
...f.open in function and closing just with f.close ..Could that be the problem?
I don't see how, as long as the file opened and closed with no errors.
rfixxxer wrote:
If yes how do i close it with GUI?
Again, the opening and closing of a file is independent of whether it has a GUI or not. The key here is consistency. If you opened the file as a stream, it must be closed as a stream. If you opened the file as a handle, it must be closed as a handle. No mixing!
rfixxxer wrote:
Do i need to call OnInitDialog...
Only as a child class calling its base class implementation. Otherwise, this function is called by the framework in response to a WM_INITDIALOG message.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
Problem solved!!!
It was a small thing actually..
Thank you very much for the help,i'm thankfull
Alex
|
|
|
|
|
In a Visual C++ application I am doing, I must populate an Excel spreadsheet with some parsed data. I would like to place some images in a header prior to the parsed data. I use FPUTS to output the parsed data to the spreadsheet but is there a way to put images to the spreadsheet from my C++ program?
|
|
|
|
|
why aren't you using Excel objects? some restrictions on design?
Jaime
|
|
|
|
|
No restrictions, I don't use excel that much and am not too familiar with what it can do. I just need to put tons of parsed data from a binary file into a spreadsheet. I just wanted to put some special symbols in the heading. I tried to create a template with the symbols and then append the parsed data, but it seems that excel won't allow this. I then was wondering if the symbols which are in gif formats could be written to the spreadsheet from my C++ program.
Thanks!
|
|
|
|
|
could anyone please tell me where can i find source code for "testing random numbers".
i'd appreciate it sooooo much....
thanx
|
|
|
|
|
A single-tailed chi-square test should suffice. You should be able to find some code that does this on Google...
"Oh, I'm sick of doing Japanese stuff! In jail we had to be in this dumb kabuki play about the 47 Ronin, and I wanted to be Oshi, but they made me Ori!"
|
|
|
|
|
Suppose that there is a window of another process and that window has a CListCtrl on it , i only have the CWnd pointer of the main window that hosts the CListCtrl, i need to add/remove entries in that CListCtrl, ...
My approach is that
First i need to first get access to the CListCtrl window by getting its handle using
BOOL EnumChildWindows( HWND hWndParent,
WNDENUMPROC lpEnumFunc,
LPARAM lParam
);
and once i get this handle i would either try to get CWnd* from it or try sending LVM_XXX messages using CListCtrl handle...
I am unsure about if all this would work ...
any of you guys , if have any views please share
Ahmed
|
|
|
|
|
If you have the CWnd pointer of the target window (main window, for now), then continuing from there is very, very easy.
First, use GetTopWindow to get the first child window of the main window. Save this into a seperate pointer. Using the returned pointer, first call ::GetClassName to get the class name of the window. Specify CWnd::m_hWnd as the HWND parameter. If the returned name matches "SysListView32", then this CWnd is the list view control.
If the name doesn't match, use the child window pointer and call CWnd::GetWindow( GWL_HWNDNEXT ) to retrieve the next window in the chain. When the pointer is returned, use CWnd::IsChild with the main window pointer to determine if this window is still a child of the target window. If it is, compare the ::GetClassName again with the list view control classname.
After you find the CWnd that
a) Is a child of the main window
b) Matches the list view control classname,
then use DYNAMIC_DOWNCAST like this:
CListCtrl* pListCtrl = DYNAMIC_DOWNCAST( CListCtrl, pMainWindow ); This will give you a pointer to the CListCtrl class of the list control. If the returned value is NULL , the cast failed. It shouldn't be NULL , because the SysListView32 is encapsulated by the CListCtrl . Remember that your project must be compiled with the Run-Time Type Checking option set to Yes. Otherwise the cast will also fail.
Now use the CListCtrl pointer to manipulate the list view control.
-Antti Keskinen
----------------------------------------------
The definition of impossible is strictly dependant
on what we think is possible.
|
|
|
|
|
Hi,
I have pasted a peice of code that I use to create the combo box dynamically, but found that it draws a edit box, not a combo box.
CComboBox m_schemaCombo;
m_schemaCombo.CreateEx( WS_EX_CLIENTEDGE, _T("COMBOBOX"), NULL,
WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER | ES_NUMBER,
CRect(row3,
frameTop + 3 * topBottomOffset + buttonHeight3,
editBoxWidth,
frameTop + 3 * topBottomOffset + buttonHeight2 + buttonHeight2),
this, IDC_SCHEMA_COMBO, 0 );
m_schemaCombo.SetFont( GetFont() );
Very sceptical about the 2nd argument of CreateEx. Can anybody help me out?
Also, please let me know the way to create a checkbox also.
Thanks,
Prashant
|
|
|
|
|
Try using the CComboboxEx class instead of the Combobox class. I'm not very sure but I hope this is useful
Dipeka.A.J
|
|
|
|
|
No CComboBoxEx did'nt help....
-Prashant
|
|
|
|
|
I think the third parameter of createex cannot be NULL. Try using this->m_hWnd(pointer to parent dialog). Hope this helps
Dipeka.A.J
|
|
|
|
|
The answer is quite simple.
What you are doing here is calling CWnd::CreateEx , that allows you to create child windows. However, there is a function call CComboBox::Create that will create a combo box control and attach it to the CComboBox object.
The calling convention for Create is a bit different, as you only need to supply the standard flags, rectangle, pointer to parent CWnd and the ID. This call doesn't allow you to specify extended window flags. But you can use GetExStyle , a bit mask and SetWindowLong to set the client edge extended style.
Another reason why it creates an edit box might be because of the ES_NUMBER flag. This flag is meant for edit controls, not comboboxes. All combobox flags start with CBS_ prefix. Try removing it and see what happens.
-Antti Keskinen
----------------------------------------------
The definition of impossible is strictly dependant
on what we think is possible.
|
|
|
|
|
How about:
CComboBox m_schemaCombo;
m_schemaCombo.Create(WS_CHILDWINDOW | WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWN,
CRect(row3,
frameTop + 3 * topBottomOffset + buttonHeight3,
editBoxWidth,
frameTop + 3 * topBottomOffset + buttonHeight2 + buttonHeight2),
this, IDC_SCHEMA_COMBO);
m_schemaCombo.SetFont(GetFont());
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
Thanks David....It worked.
|
|
|
|