|
Hi,
I have some questions of you,
What is Crystal Space ?
How can i download it ?
Thanks for reply ...
My month article: Game programming by DirectX by Lan Mader.
Please visit in: www.geocities.com/hadi_rezaie/index.html
Hadi Rezaie
|
|
|
|
|
Hi!
I've spent quite a lot of time trying to convert a regular DLL into an extension DLL. The
problem is that the memory managment seems to be broken. The compilation and linking is warning-free, but when I start to test the application, I get all sorts of memory-related errors. Which errors depends on which features I test during the debugging session.
Error examples:
HEAP: Free Heap block 347fd0 modified at 348040 after it was freed
Acess violation when trying to write to normal variables.
_ASSERTE(_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)); fails.
What do you think, have I done something bad in the DLL, or perhaps do I have some problem
which wasn't discovered when using regular DLLs?
//Olof
|
|
|
|
|
Double check to make sure you are using the correct run-time library (Project Settings, C/C++ Tab, Code Generation Category). If your DLL is using a different run-time library than the application (or DLL) that is using it, you will get all sorts of crashes if you allocate memory in code using one run-time library and deleting it in another. Other than that, buy a memory checking tool like purify or bounds checker (which you should have anyway, well worth the money).
Chris Hafey
|
|
|
|
|
I've got the correct library versions, thanks anyway. I'm afraid a memory checking tool is out of the question since I am a student.
|
|
|
|
|
I can't think of any reason why going from regular DLL to extension DLL should cause any problems. Without a memory checker, you will have to debug it the hard way . If you get stuck, email me your project and I'll throw it under bounds checker for you.
Chris Hafey
|
|
|
|
|
I run console application with redirected input/output (to files) from GUI application via CreateProcess.
Actually, console isn't allocated and that application works in background mode.
How can I send Ctrl+Break messages to that application for stop running?
|
|
|
|
|
ummmm can you not use EndProcess() ?
---
"every year we invent better idiot proof systems and every year they invent better idiots"
|
|
|
|
|
|
I run console application with redirected input/output (to files) from GUI application via CreateProcess.
Actually, console isn't allocated and that application works in background mode.
How can I send Ctrl+Break messages to that application for stop running?
|
|
|
|
|
Hi,
has anyone seen a "sound-mixing-engine" for Windows CE? I would like to play sound fx simultaneously to my background music. Is there a simple (please no directsound) soulution?
thanks for every comment
Jens
|
|
|
|
|
|
Hi
Just go to (www.maxcode.com) then go to visual c++ tutorial section
or go
(www.viet-learn.com) here you can get alot of free e-book
AHMAD ALWASHALI
washali@yahoo.com
|
|
|
|
|
Hi,
How can I create game which have color cursor ?
LC
|
|
|
|
|
Nothing like a specific question.....
I'm not sure what you want - is your game running in a window, or full screen ? Is it using DirectX or OpenGL, or is it just using standard Windows graphics stuff ?
Assuming you're running in a Window, you can catch OnSetCursor and set your cursor to whatever you want, based on any condition you desire.
Christian
The early bird may get the worm, but it's the second mouse that gets the cheese.
|
|
|
|
|
Hi!.
How I create a short cut (icon) from vc program?.
thx.
|
|
|
|
|
HRESULT CreateIt(LPCSTR pszShortcutFile, LPSTR pszLink,
LPSTR pszDesc)
{
HRESULT hres;
IShellLink *psl;
// Create an IShellLink object and get a pointer to the IShellLink
// interface (returned from CoCreateInstance).
hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
IID_IShellLink, (void **)&psl);
if (SUCCEEDED(hres))
{
IPersistFile *ppf;
// Query IShellLink for the IPersistFile interface for
// saving the shortcut in persistent storage.
hres = psl->QueryInterface(IID_IPersistFile, (void **)&ppf);
if (SUCCEEDED(hres))
{
WORD wsz[MAX_PATH]; // buffer for Unicode string
// Set the path to the shortcut target.
hres = psl->SetPath(pszShortcutFile);
if (!SUCCEEDED(hres))
AfxMessageBox("SetPath failed!");
// Set the description of the shortcut.
hres = psl->SetDescription(pszDesc);
if (!SUCCEEDED(hres))
AfxMessageBox("SetDescription failed!");
// Ensure that the string consists of ANSI characters.
MultiByteToWideChar(CP_ACP, 0, pszLink, -1, wsz, MAX_PATH);
// Save the shortcut via the IPersistFile::Save member function.
hres = ppf->Save(wsz, TRUE);
if (!SUCCEEDED(hres))
AfxMessageBox("Save failed!");
// Release the pointer to IPersistFile.
ppf->Release();
}
// Release the pointer to IShellLink.
psl->Release();
}
return hres;
}
Hope this helps
Cheers
Kannan
|
|
|
|
|
Hi!
I when I tried to convert my regular MFC-dll to an extension DLL, I get
mfcs42d.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in CommonDLL.obj
mfcs42d.lib(dllmodul.obj) : error LNK2005: __pRawDllMain already defined in CommonDLL.obj
mfcs42d.lib(dllmodul.obj) : warning LNK4006: _DllMain@12 already defined in CommonDLL.obj; second definition ignored
mfcs42d.lib(dllmodul.obj) : warning LNK4006: __pRawDllMain already defined in CommonDLL.obj; second definition ignored
Creating library Debug/CommonDLL.lib and object Debug/CommonDLL.exp
Debug/CommonDLL.dll : fatal error LNK1169: one or more multiply defined symbols found
I found an MSDN-article, Q148652, about this, but it seems like that text, discussing CRT libraries, isn't applicable in this case.
Any idea's?
|
|
|
|
|
Solved. The cause of the error was that I forgot to remove AFXMANAGESTATE macros.
|
|
|
|
|
Hi,
I need reminder or just a little help to trap the Escape key on the dialog based app to not close the dialog, instead use a button or the supllied menu item.
Thanks.
|
|
|
|
|
You can do that in PretranslateMessage, but I tend to put something at the top of OnCancel like:
if (GetAsyncKeyState(VK_ESCAPE))
return; // or do whatever else I want ESC to do
Christian
The early bird may get the worm, but it's the second mouse that gets the cheese.
|
|
|
|
|
Hello, the codegurus around the world.
Paul DiLascia wrote his article about some similar situation.
Check here.
http://msdn.microsoft.com/msdnmag/issues/0700/c/c0700.asp
Someone asks Paul about "enter" key action to close the dialog box.
Have a nice day!
-Masaaki Onishi-
|
|
|
|
|
Override the OnCancel function like so:
void CYourDlg::OnCancel() {
}
In addition if you would like to catch the enter key you can override OnOK
void CYourDlg::OnOK() {
}
There is always the F1 key too which will search for a .hlp file which can be overridden by:
void CYourApp::WinHelp(DWORD dwData, UINT nCmd) {
}
(Notice this last one was in your App not the Dialog)
Hope this helped.
|
|
|
|
|
Given that it is a dialog box, my way is better - you don't stop the OK/Cancel buttons from working necessarily, but check if the Enter/Escape key is down respectively. That way the button works, but the key does not.
Christian
I've learned that you cannot make someone love you. All you can do is stalk them and hope they panic and give in.
The early bird may get the worm, but it's the second mouse that gets the cheese.
|
|
|
|
|
Ok, Your way can be better
|
|
|
|
|
However your method changes the default way that windows works.
I prefer to change the ID of the OK button to something else, then override OnOK to do nothing. This makes it obvious to other programmers what's going on, rather than having to search around.
|
|
|
|