|
First of all, these typedefs are plain dumb. They make your code illegible.
Second of all, you can do the inserts much nicer like this:
mPaths[index] = path;
Thirdly, if you know for sure an index is in there, you can pull it out like this:
string s = mPaths[index];
beware - if you don't know for sure it is in there, you should use the method you've been using, the find and then ->second. Otherwise empty records will be entered into your map.
Christian
I am completely intolerant of stupidity. Stupidity is, of course, anything that doesn't conform to my way of thinking. - Jamie Hale - 29/05/2002
Half the reason people switch away from VB is to find out what actually goes on.. and then like me they find out that they weren't quite as good as they thought - they've been nannied. - Alex, 13 June 2002
|
|
|
|
|
Where to get simple REAL HTTP/1.1-compatible proxy?
|
|
|
|
|
This is a point I've seen many people hold confusing ideas about. Essentially, if the other party falls down or there's a cut-off somewhere along the connection path, your connection end won't notice immediately. It is after some time-out has elapsed that the Winsock stack will decide the other end is not responsive and the connection will be aborted. To understand this, just consider that a TCP/IP connection is nothing but a couple of software entities that has settled upon some IP addresses and TCP ports to send and receive data to each other. The connection ends do not have the slightest idea of how the data actually travel from one side to the other, so they have to rely on timeout mechanisms to react to cutoffs.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Got it. Tnx
|
|
|
|
|
I'm writing a UNICODE class that uses both the unsigned short as an integer value and wchar_t as a character. But since they are both the same data type, how can I tell the difference between them? For example:
int MyClass::operator>>(unsigned short value)
int MyClass::operator>>(wchar_t character)
The compiler complains that they are duplicate definitions of the same function. I thought of adding another parameter to one of them, but can't do that either because operators take only one parameter.
Any ideas?
|
|
|
|
|
wchar_t and unsigned short are the same thing in VC6
In VC7 you can define wchar_t as a native type but I am not able to find the documenetation link which specifies how to do it.
|
|
|
|
|
This is an unfortunate non-conformance to the standard by VC++. You'll have to workaround it somehow. For instance, by defining a disambiguating wrapper around wchar_t :
struct wchar_wrapper{
wchar_wrapper(wchar_t wc):wc(wc){}
operator wchar_t& (){return wc;}
operator wchar_t ()const{return wc;}
private:
wchar_t wc;
} Now you can declare your two operators like:
int MyClass::operator>>(unsigned short value);
int MyClass::operator>>(wchar_wrapper character); and use the second as folows:
wchar_t wc;
MyClass mc;
mc>>wchar_wrapper(wc);
PS: By the way operator >> is usually defined as returning a reference to the stream, like:
MyClass& MyClass::operator>>(unsigned short value);
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Do you know how to return an IStream pointer from a COM interface's method. I mean in the [out, retval] position.
rechi
|
|
|
|
|
STDMETHODIMP MyCOMClass::FuncReturningIStream(IStream* *ppStm)
{
if (ppStm == NULL)
return E_POINTER;
(*ppStm = m_pMyStream)->AddRef();
return S_OK;
}
|
|
|
|
|
STDMETHODIMP MyCOMClass::FuncReturningIStream(IStream* *ppStm)
{
if (ppStm == NULL)
return E_POINTER;
return this->QueryInterface(IID_IStream, (void **)ppStm)
}
Michel
It is a lovely language, but it takes a very long time to say anything in it, because we do not say anything in it, unless it is worth taking a very long time to say, and to listen to.
- TreeBeard
|
|
|
|
|
I have some code where i use the DialogBox function. When i have called that function, the dialog box appears and i can move it and press buttons, but it's like the execution stops there. If i place a breakpoint at the DialogBox line and press F10 to go to the next line, it just stays there, it doesen't advance to the next line.
Here's the code to show the dialogbox:
DialogBox(ghInstance, MAKEINTRESOURCE(IDD_ADDFILES), ghWnd, DialogAddProc);
And here's the dialog box' dialog procedure.
BOOL __stdcall DialogAddProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_COMMAND:
switch (wParam)
{
case IDC_CANCEL:
gbAbort = true;
break;
}
break;
case WM_INITDIALOG:
ghAddDialog = hWnd;
break;
case WM_CLOSE:
DestroyWindow(hWnd);
break;
default:
return FALSE;
break;
}
return (0L);
}
Anyone know what i am doing wrong?
Thankyou in advance.
|
|
|
|
|
Control will resume at the line after DialogBox when the user exits the dialog.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Then how do i create a dialog box that does the same as CreateDialog except it's modal?
|
|
|
|
|
What you're getting is precisely a modal dialog:CreateDialog creates modeless dialogs (returns control immediately, it's up to you to destroy the dialog on due time.)
DialogBox creates modal dialogs, which capture the flow of execution till the user closes them.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
OK. Maby i have misunderstood some of the terms. How do i create a modeless dialog box, where the parent window can't be used till the dialog box is closed? A dialog box that performs all the actions after the showing of the dialogbox, but where the parent window can't be used untill the dialog box is closed.
|
|
|
|
|
Disable the parent window before showing the dialog. When the dialog is destroyed renable the parent. Use EnableWindow function.
|
|
|
|
|
|
What are the reasons that some people cannot run a database that conncts through ADO? I was told by someone "Well, some can and some can't" I really need more than this.
I'm trying to make a database using ADO and no matter how perfect the code is I cannot run it on my machine. The error I get is " RunTime Error 2157467259(80004005)[Microsoft][ODBC Driver Manager] Dtasource name not found and no default driver specified."
I have C++6 Pro. and WinXP Home. Do I need Visual Studio? Maybe WinXP Pro?
I'd really appreciate any guidence.
Thanks,
Garry
|
|
|
|
|
Maybe you didn't install correct version of MDAC.You have to install it whereever you want to use your databse application
Mazy
"If I go crazy then will you still
Call me Superman
If I’m alive and well, will you be
There holding my hand
I’ll keep you by my side with
My superhuman might
Kryptonite"Kryptonite-3 Doors Down
|
|
|
|
|
Hi all,
I hope someone can help me as I've been trying to figure this one out for hours.
I am new to using wmi in my c++ and it's the forst time I have had to call a method within wmi.
What I am trying to do is stutdown a remote machine. If anyone has some sample code for this or some suggestions as to what parameters I need to be using when calling the GetMethod and ExecMethod functions then that would be greatly appreciated
Thanks in advance
Anthea
|
|
|
|
|
Why force yourself to that pain when InitiateSystemShutdown already does this?
Isn't WMI more for VB(A) and such for WSH? OK, MS themselves use WMI in some GUI apps, but then it's hard to beat those apps slowness and unresponsiveness also. :-<
|
|
|
|
|
hi,
I wrote a server in c using plain api functions.
How do i set the socket timeout?
please give example.
tnx
|
|
|
|
|
Have a look at options SO_SNDTIMEO and SO_RCVTIMEO options settable with setsockopt . These adjust the timeout for send and recv . For other operation (vg. connect ) the only solution to have an adjustable timeout is that you switch from blocking sockets to another model (for instance to non-blocking sockets governed with select .)
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
I've created an ATL exe server named atlx with an interface named Interf.
I made a VB program with code like this:
Private Sub Command1_Click()
Dim ui As ATLXLib.Interf
Set ui = CreateObject("Altx.Interf") 'fails here
End Sub
and the result is failure on reason "Activex component can't create object.", while the server is running.
Do you know why?
rechi
|
|
|
|
|
Bogdan Rechi wrote:
Set ui = CreateObject("Altx.Interf") 'fails here
You are passing a wrong prog id. What is the prog id you see in the .rgs file? You need to pass that.
|
|
|
|