|
Gary R. Wheeler wrote: The question remains, why are you implementing your own assert function?
assert is provided for you.
I don't know Nacho's reason, but I have the need to be able to comprehensively report an error (file, line, function, and stack trace) and then continue the program with error recovery.
The idea is that a customer could snap the info and report it back and then I would have a fighting chance of figuring out the problem. And if automatic error recovery worked, then the customer is not facing a complete crash like assert() gives.
Further, not all code runs under Windows. An heretical thought, but there it is!
|
|
|
|
|
Harold Bamford wrote: not all code runs under Windows
assert is a Standard C/C++ library feature, and it not Windows-specific.
Software Zen: delete this;
|
|
|
|
|
But it does cause an abort. Not always a nice thing for an embedded system. Thus the need to write an alternative.
|
|
|
|
|
Hi,
I'm writing a network application and I need to retrieve informations about network computers : MAC address, Host Name, IP, shared resources...
I suppose something suitable exists in Microsoft API but I don't know where.
I've tried Windows Networking but it seems a bit limitated.
Can someone help?
Thanks
|
|
|
|
|
Winsock API in MSDN will be a good place to look for the information you require.
Z.A
|
|
|
|
|
zubair_ahmed wrote: '06
Winsock API in MSDN will be a good place to look for the information you require.
AFAIK and IMHO, Using Winsock api you can only transfer data, you cannot recv any network or lan related data.
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
|
|
|
|
|
Allad wrote: I'm writing a network application and I need to retrieve informations about network computers : MAC address, Host Name, IP, shared resources...
look for IPhelper apis
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
|
|
|
|
|
I have a window or dialog box (class derives from CFormView) that needs to be updated when the mouse is clicking on any of the items in the menu bar or when the focus leaves the dialog box. There are two cases:
(1) When there are other child windows open in the app, is there an OnKillFocus that I can call to do the update?
(2) Also, when the window is the only open window in the application, and the user selects a menu item, KillFocus will not work since it's still the active window. How do I know the focus is now on the menu bar?
Thanks!
|
|
|
|
|
Call CWnd::UpdateDialogControls and it will process all OnUpdate messages for your window.
John
|
|
|
|
|
Hi.
<small>How do I know the focus is now on the menu bar?</small>
you can do a WM_NCHITTEST Notification it returns a ,HTMENU if its on a menu ,( the DefWindowProc function returns that ) if its an HTMENU you can do your concerned work ,i guess this might help you.
Regards
FarPointer.
|
|
|
|
|
I have a small problem that I cannot find concerning GetItemDataPtr/SetItemDataPtr for the ComboBox.
I do something like this to insert an item :
void MyCombo::InsertString( MyPointer* pMyPointer )
{
int iIndex = AddString( pMyPointer ->name );
SetItemDataPtr( iIndex, pMyPointer );
}
and this to get the data.
/// p is a struct that also contains a name
MyPointer* MyCombo::InsertString( int iIndex )
{
MyPointer* p = ( MyPointer*) GetItemDataPtr( iIndex );
}
at this point, the pointer in the combobox is invalid ( 0x00000001 )
I'm not certain where to start looking for clue to why this happens.
Thanks for info, tips, insights.
Max.
Edit :
Ok, Found the problem, someone else is doing a SetItemData somewhere else, and overwrites the pointer !!!!
Maximilien Lincourt
Your Head A Splode - Strong Bad
-- modified at 13:33 Friday 13th January, 2006
|
|
|
|
|
I am getting data from a database via CDaoRecordset. The data is coming back in a COleVariant from which I am reading it. However some of the fields in the database are empty which means the COleVariant is also empty. When I try to read an empty COleVariant the program crashes. This occurs when I try to convert the data to a string or date etc.
CString vData;
COleVariant vVarData;
vData = V_BSTRT(&vVarData); //crashes here if the string is empty!!
This works perfectly if the database field and thus the COleVariant is not empty. Does anybody know how to detect an empty COleVariant before trying to actually read it?
Your help would be appreciated
Dave Collins
|
|
|
|
|
You should be checking the type of the underlying VARIANT object to see if its type is VT_EMPTY or not. You can use the V_VT macro for this.
IMHO, you should be validating the type of the VARIANT before trying to obtain its value.
Peace!
-=- James If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Tip for new SUV drivers: Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! DeleteFXPFiles & CheckFavorites (Please rate this post!)
|
|
|
|
|
If you're using the V_BSTRT macro to access the data you should check that the data in the variant is actually a BSTR using the V_VT macro, like this:
<code>if ( V_VT(&vVarData) == VT_BSTR )
{
CString vData = V_BSTRT(&vVarData)
}
else
{
}
If you use it as a BSTR when it's not you're effectiely doing a cast. For example, if the variant contains data of type VT_I4 and you treat it as a BSTR something this like is happening:
<code>UINT i = 4;
CString s = reinterpret_cast<BSTR>(i)
Which would be bad.
Steve
|
|
|
|
|
Hi Guys
Thanks for the advice
I tried validating using VT_Empty but discovered that the COleVariant was coming through with the vt value set to VT_NULL. By checking for both VT_EMPTY and VT_NULL I can manage the reading fo the data in a sensible way.
Also thanks for the comment about checking that the varinat is BSTR - I have added this to my code. One day I will grow up to be a real programmer!!
Cheers Guys - Hope I can return the help one day...
Dave Collins
|
|
|
|
|
How can i detect that a flash movie has finished/completed in shockwave flash control,so that i can load a new movie?
thanx in Advance..
for those who dont know that how it is related to VC,the answer is i am using shockwave object in vc,so i need to handle it in vc.
zubair ahmed
-- modified at 23:36 Friday 13th January, 2006
|
|
|
|
|
zubair_ahmed wrote: How can i detect that a flash movie has finished/completed in shockwave flash control,so that i can load a new movie?
thanx in Advance..
How is this related to VC++?
-Prakash
|
|
|
|
|
Mr.Prakash wrote: How is this related to VC++?
I don't know, maybe there's a callback from the activeX control that says if the movie has finished playing ?
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|
|
Maximilien wrote: I don't know
its obvious, coz he has the problem
-Prakash
|
|
|
|
|
Still to get an answer.
Z.A
|
|
|
|
|
It's an ActiveX control so I'd use the OLE viewer that comes with visual studio to have a peek at its type library. Look for out going interfaces. Once you find the correct out going method (assuming one exists) you'll probably have to use connection points to hook up your sink (which ypu'll have to implement). How you do this will depend to what libraries you using (or not using). e.g. ATL and MFC have different ways of going about this.
Steve
|
|
|
|
|
hi,
i m facing prblm while opening an url through mfc. i wanna open one exixsting webpage (say http://www.msn.com) on one button click. i have used OpenURL method of MFC. Its returning success. But the webpage is not opening. i wanna know what exactly i should do to open the webpage also.
|
|
|
|
|
you can use ShellExecute
something like :
::ShellExecute(AfxGetMainWnd()->GetSafeHwnd(), "open", "http://www.msn.com", NULL, NULL, SW_SHOW);
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|
|
Aryan S wrote: i have used OpenURL method of MFC. Its returning success.
OpenUrl method of which class CInternetSession or CHtmlEditDoc.. if you are using CInternetSession, then it will give you pointer to file of webpage..
or if you using CHtmlEditDoc one, then you need a View derived with same in your project
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
|
|
|
|
|
Hi,
how can i place around 500 controls simultaneously on a single Dialog?
Any idea?
Thanks in advance.
Anish.
|
|
|
|