|
I inherited an old VC++ 6 project and notice that one of the build options is BCDebug.
Can someone here comment on what that is? I know what the standard Debug and Release builds are for but what is BCDebug?
My Blog[^] FFRF[^]
|
|
|
|
|
Probably a custom option - compare the optionsbetween Debug and BCDebug, probably one of tem defines a symbol that is used to include / exclude certain stuff.
Some of us walk the memory lane, others plummet into a rabbit hole
Tree<t> in C# || Fold With Us! || sighist
|
|
|
|
|
|
|
Hi,
Here, I would like to simulate the keyboad values. For example, If I pressed "A" key on keyboard then, I have to replace the vlaue "A" with "C" and if I press "A"+"P" together then I have to generate some "C". Scenario, is like this:after my application is up and running, when ever I type A then corresponding modified value has to be written on notepad, doc excel and even in my application programming. So, system wide changes has to be done.
So, in thi regard I have just started working using Keybd_event(), but whatever the knowledge I'm having at this point on this topic is not sufficient enough, so please help me to solve this issue.
Thanking You and Regards,
|
|
|
|
|
Using win32, what would be the best way to entirely delete a section name and its keys from an ini file? I can't find any API that would let me do this. Thanks.
-matt
|
|
|
|
|
I thought it was passing NULL to the second parameter of WritePrivateProfileSection() , but the current documentation doesn't state that. I'd test it to see.
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|
|
Yep..that did it. Thanks a lot for the help.
|
|
|
|
|
Hi, I'm developing an application that gives the user certain options to enable and disable. Some of these options require that the user has certain privileges. Is there a function that I can use to check if a user has these privileges, such as SE_DEBUG_NAME and privileges to edit the registry. I appreciate any help I can get thanks.
|
|
|
|
|
Hi,
Could please someone help me with this basic question on socket, here is a rough syntax for creating multiclient connection. Each client connection runs on new thread...
<code>
CreateConnection()
{
SOCKET s = socket(...) //create sock stream socket
bind(..) //bind to port
listen(s, somaxconn) //listen max connection
while(1)
{
DWORD val = WSAWaitForMultipleEvents //listen for network event
if (val == WSA_WAIT_EVENT_0 ) //signaled state, so try to accept connection
{
if(accept(s,..) == SOCKET_ERROR)
{
//socket error due to queue full
//What to do here?
//Do i close the socket(s) and exist the appln? OR
//break from here & start listening for new connection event
}else
CreateThread() //create new thread
}
}
}
</code>
Thanks guys
Mohan
-- modified at 8:50 Sunday 25th June, 2006
|
|
|
|
|
mohanrajh wrote: if(accept(s,..) == SOCKET_ERROR)
{
//socket error due to queue full
//What to do here?
//Do i close the socket(s) and exist the appln? OR
//break from here & start listening for new connection event
}
When accept(s, ...) returned an invalid socket, something went wrong with that channel. At the minimum, you should close that socket. There is a good chance that you cannot accept the same connection any more. Your program may continue if that connection is not critical to your application. But, terminating the program can reset all sockect channels associated with it.
Best,
Jun
|
|
|
|
|
Hi Jun,
Thanks for your answer. If there is CONNREFUSED (due to queue full) error for a new client connection, rather than closing the socket, can i just skip it & wait for new connection?
Can the same client can connect to server after few minutes?
If i do the above said, will this affect any new connections from different client?
Appreciate your suggestion.
Thanks
|
|
|
|
|
All the accept error codes are listed here.
As you can see, whether you should skip this loop but keep the socket alive really depends on the severity of the error.
In your case, I think WSAENOBUFS was the error code corresponding to your CONNREFUSED error, which means the following possible causes:
1) Not enough memory
2) Can't create new file descriptors
3) Not enough other resources
Normally, that is pretty serious error and not easily recoverable.
Best,
Jun
|
|
|
|
|
Ok, after a double check, there is an error code WSAECONNREFUSED which I think is what you've got. But it's not the return by accept() from the server, but by connect() from the client. This usually results from trying to connect to a service that is inactive on the foreign host, that is, one with no server application running.
Best,
Jun
|
|
|
|
|
How do i change a Unicode project to MBCS using Visual Studio 2005?
What i've tried:
I opened the properties dialog for my project and clicked on "C/C++->preprocessor".
When i clicked on the "..." button at the right hand side of the "preprocessor definitions" box, there is a checkbox saying "Inherit from parent or project defaults" and a box that lists the inherited values: "_AFXDLL,UNICODE,_UNICODE".
I unchecked this box and added "_AFXDLL" and "_MBCS" to the original list of preprocessor definitions.
The list now looks like this: "WIN32;WINDOWS;_DEBUG;_AFXDLL;_MBCS;$(NOINHERIT)"
Now when i compile, this error comes up:
msvcrtd.lib(wcrtexew.obj) : error LNK2019: unresolved external symbol _wWinMain@16 referenced in function ___tmainCRTStartup
|
|
|
|
|
You just needed to modify your project properties. Go to Configuration Properties and look at Project Defaults. Change the Character Set from Unicode to MBCS. If it's a new project, the question you should ask is, it's 2006, why aren't you using unicode?
|
|
|
|
|
Thanks. To answer your question, the main problem i was having is this:
CString tempbuf;
tempbuf = "Job number,";
file.Write((LPCTSTR)tempbuf,tempbuf.GetLength());
file.Close;
When i open the file, it has 'J o b n u' in it.
I was told to change my project settings to MBCS to solve this problem. Is there any other way?
|
|
|
|
|
That depends on what you are doing and why you consider this a problem.
file.Write((LPCTSTR) tempbuf, tempbuf.GetLength() * sizeof(TCHAR));
You would then have a file with a UTF16LE string that says "Job number,". (edit: for unicode builds, and a normal ascii string for your mbcs build)
Have you considered...
CStringA tempbuf;
tempbuf = "Job number,";
file.Write((LPCSTR)tempbuf,tempbuf.GetLength());
file.Close; ?
-- modified at 6:40 Sunday 25th June, 2006
|
|
|
|
|
|
1 more question... For VS2005, whenever i'm working with a string say,
AfxMessageBox(_T("Something"));
I would have to put a '_T' before the string. Is there an easier way to work with strings without having to use '_T'?
|
|
|
|
|
_T is a macro that resolves to a unicode string on unicode builds (_UNICODE/UNICODE defined) and mbcs on mbcs builds. Eg. _T("Something") is L"Something" on unicode builds and "Something" on mbcs builds (You put L in front of a string to indicate a unicode string). It would be preferable to just get used to using the _T macro and all the TCHAR functions.
|
|
|
|
|
when I add a project to the current workspace, a warning message box pops up which showes "A project with the same name as the selected project already exists in the current workspace.". But actually my workspace doesn't have the project. somebody knows why? and how to figure out...
It is urgent! I am waiting online.
I will appreciate your answer.
kuoo
|
|
|
|
|
Oh,Maybe it is because the two project have the same name. but how to change the the project name in VC++ 6.0
kudoo
|
|
|
|
|
old_dustman wrote: how to change the the project name in VC++ 6.0
Two options:
1) Manually modify project files (.dsw, .dsp, .rc, etc)
2) Create a new project and copy over source files from the old project. Be sure to use the same project settings (easier to say than to do).
Best,
Jun
|
|
|
|
|
codes:
<br />
m_imagelist1.Create(16, 16, ILC_COLOR32, 1, 1);<br />
CBitmap *bmp=new CBitmap;<br />
CString str;<br />
for(int i=1; i<109; i++)<br />
{<br />
str.Format("qqface\\%d_m.bmp", i);<br />
bmp->m_hObject=(HBITMAP)LoadImage<br />
(NULL, str, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);<br />
<br />
m_imagelist1.Add(bmp, RGB(0, 0, 0));<br />
m_treeQunimage.Add(bmp, RGB(0, 0, 0));<br />
<br />
}<br />
delete bmp; <br />
m_List1.SetImageList(&m_imagelist2, LVSIL_SMALL);<br />
m_List1.DeleteAllItems();<br />
int nItem;<br />
m_List1.SetIconSpacing(50, 50);<br />
for(int i=1; i<109; i++)<br />
{<br />
nItem=m_List1.InsertItem(2*i,"hello", i);<br />
}<br />
now the list have a series of icons !
if I double click one icon, I want change this icon, what shall I do?will the following codes effective?
:
Wating for answers online, very urgent!
Just my interest for these common things
|
|
|
|