|
Hi,
you should not move around code; organize your .cpp files the way you see fit.
Provide .h files that go with them.
have each .cpp file include its own .h file
And make sure all .h files include whatever other .h files are required (so they know the types
and constants they need to know)
Then compile.
If there are errors, the first strategy to try is: work on the first error that shows, until it is
gone. Then iterate, until there are no more errors.
|
|
|
|
|
Those errors mean that you didn't provide a body for the constructor and destructor of the Node class and for the constructor of TailNode. You only specifed a prototype, but no definition of the function. Add a { } after those functions to fix that (this provides an empty function definition).
|
|
|
|
|
Thanks Cedric,
I added a forward declaration for the Tile class in LinkedTileList.h and this solved the compile errors. I then followed your suggestions to fix the linker errors.
Thanks for your help, you're quite the helpful one
|
|
|
|
|
I don't know why but in the release version of my program I get DOUBLE selections (blue line (FULLROWSELECTION is set)); Yet I don't get the error in Debug version. Anyone had simular experience in VS2008 MFC?
A C++ programming language novice, but striving to learn
|
|
|
|
|
Hi,
it could be all kinds of things.
This[^]
might shed some light on your problem.
|
|
|
|
|
The problem is that the list control selects the very first item as well as the item you have selected. It does not do this in debug!, only Release version. Both versions are the same; only you select to compile "release" from the "debug" previous version. The code is the same.
A C++ programming language novice, but striving to learn
|
|
|
|
|
Hi,
without seeing all relevant code, chances are slim anyone can help you. However, here are two hints
that may or may not apply.
1.
Larry Mills Sr wrote: The code is the same.
Even when the source file remains unchanged, its semantics may change, e.g. the meaning
of debug(), trace(), assert() may change, or some of your code may depend on a #defined symbol
(such as _DEBUG or so) resulting in some side-effect no longer being present, as in (I admit
it is an extreme example): assert(x=1);
in debug, this would set x to 1 and check for non-zero,
in release, this would do nothing at all, i.e. leave x unchanged.
Obviously what was meant is assert(x==1); which does not change a thing, whether debug or release.
2.
Several controls fire their "SelectionChanged" event more than once, e.g. when clicking an item,
they first report the loss of the old selection, then the new selection. This behavior often gets
overlooked.
|
|
|
|
|
Thanks, I think I fixed it though. On that particular List Control I forgot to set "Single Selection" to TRUE. But really I don't think it was supposed to do the other anyway. Anyway, it hasn't done the double selection in Release since I set it to single selection.
Thanks for your response.
A C++ programming language novice, but striving to learn
|
|
|
|
|
Is using CreateFileMapping/MapViewOfFile functions means sharing "Memory" or "File" on the disk?
I compiled that code for both
-INVALID_HANDLE_VALUE, // use paging file (that is on the disk)
and
-"C:\\a.txt" //physical file too.
All of them works. And second process can show "Message from first process".
The second process calls:
1-) OpenFileMapping to get handle
2-) MapViewOfFile.
What is happening here?
Does
second process get handle to physical "file" which is on the disk and get "Message from first process" string which is written by first process to file.
or
Second process get handle to first process' physical "memory" and get string from its address space?
Are they communicating with writing/reading same file(pagefile or another file) on the disk or same memory?
Msdn Documentation which is about procedure for sharing data with CreateFileMapping/MapViewOfFile/OpenFileMapping is confused me.
Thanks.
|
|
|
|
|
The FileMapping stuff, when used by two processes on the same machine, is really sharing memory;
it optionally uses a file as a backup or for persistency if you indicated that is what you want.
I have used it once, for high-performance interprocess communication and it worked very well,
much faster than straightforward file sharing would.
|
|
|
|
|
Hi
CreateFileMapping/MapViewOfFile is usually used in IPC(inter process communication)
When you modify any particaluar file and want to be notified of the same in another application which do not drectly access the file , this is the mechmanism you would use.
The second process would get the handle to first process physical memeory that is the reason you need to use critical section.
Here there is only one copy of the file and when there is some change in the data then you could SENDMESSAGE WM_COPYDATA which also be received in the other application and thus there will be notifiaction of the data sent.
I hope it answers your question.
|
|
|
|
|
Hi,
I'm using VC++ 6.0 and new to MFC.
How do I draw on to desktop instead of drawing into the application's window?
How do I set the DC to desktop window's dc.
Thanks in advance.
Regards,
sanju.
|
|
|
|
|
HDC hdc = ::GetDC(NULL);
CDC dc = CDC::FromHandle(hdc);
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]
|
|
|
|
|
Hi all,
(1.)
In TreeCtrl if i check the checkbox of parent node than its childs are automatically selected.
Can ,This is possible in opposite condition,means if i select the check box of all childs than the check box of its parent is automatically selected.
(2.)
In Tree ctrl i want if the check box of parent is not checked,so the childs of this parent are not expand.
Please tell me with example.
Thanks in advance.
I m awaiting for your valuable suggestion.
IN A DAY, WHEN YOU DON'T COME ACROSS ANY PROBLEMS - YOU CAN BE SURE THAT YOU ARE TRAVELLING IN A WRONG PATH
|
|
|
|
|
the check box is user defined?
|
|
|
|
|
It is a one property of TreeCtrl.
IN A DAY, WHEN YOU DON'T COME ACROSS ANY PROBLEMS - YOU CAN BE SURE THAT YOU ARE TRAVELLING IN A WRONG PATH
|
|
|
|
|
in tab control i have three tabs
i want to create dialog on tab click
and want to enddialog which is already created
how can i check which dialog was created which shoud end now
|
|
|
|
|
there will be the main dialog which will accommodate these tabs. create dialogs, being the parent as tab control will create the dialog as a part of these tabs, For ex:
step1:-
dlgTab1= new CDialogTab1;
dlgTab1->Create(CDialogTab1::IDD, &tabCtrl);
tabCtrl.AddTab(dlgTab1, "TAB1");
step2:-
//Maintain dialog pointers as the member
//Add a Set function to set the current dialog pointer for the respective tab
CWnd* m_pWndCurrentConfigOpenDialog;
SetCurrentDialog(CWnd *pWnd){};{pWndCurrentConfigOpenDialog = this}
Step:-3
then Get the pointerwhich will return you the dialog pointer based on the tab selected.
End the current dialog and create a new one follwoed by step1 and step2 again.
NOTE:This is jus an algo to meet the answer of your question.
Regards,
KDevloper
|
|
|
|
|
How do I set an Environment variable under XP (and Vista) which will apply system wide.
I tried to add it as a set... way in autoexec.bat, does not seem to work!
Regards,
Bram van Kampen
|
|
|
|
|
Hi Bram,
A good point to start looking for a solution to your problem would be Jonathan [Darka]'s SetEnv[^] application.
Best regards,
Mihai Moga
|
|
|
|
|
Through the control panel.
Programmatically, SetEnvironmentVariable() for the current process, or
for the system (from the docs):
"Calling SetEnvironmentVariable has no effect on the system
environment variables. The user can add or modify system environment
variables using the Control Panel. To programmatically add or
modify system environment variables, add them to the
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment
registry key, then broadcast a WM_SETTINGCHANGE message with lParam set to the
string "Environment". This allows applications, such as the shell, to pick
up your updates."
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Hi Mark,
Hmmm. The yes or no is in the key! What I'm realy looking for is to enter somehow One string (under vista) into the system via a user session which will be visible to all users. Somewhat naive, I thought for one moment that the Old Fasioned Environment might have been a way in. Evidently it is not.
Thanks, for showing me the wrong path anyways.
Regards
Bram van Kampen
|
|
|
|
|
There are some concepts in Excel: workbooks, workbook, worksheets, worksheet.
Can ADO deal with them?
system
modified on Friday, July 25, 2008 10:30 PM
|
|
|
|
|
|
hi
please ,can you show me an alternative for StrToInt64Ex()
StrToInt64Ex() works fine for me but it requires IE 6.0
i need an alternative to it which has no additional dependencies
simply i want to convert :
a hex value in any kind of string form "0x090f8g87" to long or similar 243354354
thank you
|
|
|
|