|
Stephen Hewitt wrote: This saving comes at a price - Danger!
What Danger!
Jesus Loves <marquee direction="up" height="40" scrolldelay="1" step="1" scrollamount="1" style="background:#aabbcc;border-bottom:thin solid 1px #6699cc">
--Owner Drawn
--Nothing special
--Defeat is temporary but surrender is permanent
--Never say quits
--Jesus is Lord
|
|
|
|
|
Hard to spot casts:
union Voodoo
{
int m_Number;
IUnknown* m_pUnk;
};
Voodoo v;
v.m_Number = 5;
v.m_pUnk->AddRef();
What happens here is effectively something like the following:
reinterpret_cast<IUnknown*>(5)->AddRef();
In fact this is an old "C" trick used to perform casts which are otherwise illegal.
Steve
|
|
|
|
|
|
the other simple method is u can process the items on the fly...
Stephen Hewitt wrote: union { Apple m_Apple; Orange m_Orange; Pear m_Pear; } m_Data
for eg as mentioned above u can use 3 types of fruits....
read the quantity of apples for each vendor eg. v1.apple v2.apple and perform the calculations...then v1.orange,v2.orange...(since u don't need v1.apple again)and do the calculations..in that way u can perform computations and re-use the memory
this is just one specific instance though
hope that helps
|
|
|
|
|
hi everybody
how to use function of CDC::GetCharWidth()HH
thanks in andvance!!
nothing
|
|
|
|
|
const char first = 'a';
const char last = 'z';
INT Sizes[last-first+1];
if ( dc.GetCharWidth(first, last, Sizes) )
{
// "Sizes" now contains the sizes!
}
Steve
|
|
|
|
|
I use a pointer of CInternetSession in a function.
When I use the function by button, all things are ok.
When I use it in a OnCommunication message function which recieves message from other device, there is a error 12006.
The source code is like that:
pIneternetSession->OpenURL(strUrl);
I am sure the strUrl is right.
Why?
|
|
|
|
|
can you print out and check what exactly strUrl Contains, i did a google and got
12006 INTERNET_UNRECOGNIZED_SCHEME
I am not sure though if its the rite error code meaning.
-Prakash
|
|
|
|
|
strUrl is 'http://www.sina.com.cn/'
|
|
|
|
|
OpenURL throws a CInternetException exception, can you catch and figure out what exactly is the error.
-Prakash
|
|
|
|
|
I put a button on the dialog.
After input the url into a textbox, push the button. Then the application will visit the web and download the webpage by OpenURL() function.
Until now all things are good.
Then I use a event to replace the button.
The event will be call by a RS232 input message.
I use the same function to visit the web.
Now there is a error CInternetException 12006.
I see the error code from dgbView and the debug version.
|
|
|
|
|
sorry it is difficult to diagonose the problem without understanding what those error code is.
if you have not solved the problem yet, i would suggest you to post a event (a user defined probably or WM_COMMAND that you were using before) and then call that api.
I am not sure, but may be it is conflicting with the data processing event call.
btw, are you calling the OpenURL from the same window that you were doing before?
-Prakash
|
|
|
|
|
I put the function into a new event (WM_USER+1).
Other fuction use it by PostMessage.
Now the error is CInternetSession 78.
|
|
|
|
|
The new error is :
Warnging:throwing CInternetException for error 87
OpenURL is not in the same window with the event, it is in a class which has a instance in the dialog.
|
|
|
|
|
I found the reason is that there is a space ' ' before the URL.
|
|
|
|
|
rushing wrote: I found the reason is that there is a space ' ' before the URL.
didnt I tell u that there could be some problem with the url , good that you identified.
I had a similar problem long back where a space in the parameter was causing a problem and it was resolved only after weeks of debuging.
-Prakash
|
|
|
|
|
I am lucky to meet you.
Happy Spring Festival!
|
|
|
|
|
rushing wrote: I am lucky to meet you.
:->, there are many more smarter ppl than me here in code-project, you would be even more luckier if you meet them too
-Prakash
|
|
|
|
|
Is there any way to capture the debug logging on a driver during bootup?
I know it can be done if you’re connected via serial port to another machine, but I’m looking for a method that is standalone.
The DebugView program from sysinternals only seems to work to capture bootup logging if you can successfully logon on open DebugView.
If the machine crashes before then, it seems you loose the logging.
I'm trying to debug a driver that gives me the blue screen of death as soon as I logon.
Top ten member of C++ Expert Exchange.
http://www.experts-exchange.com/Cplusplus
|
|
|
|
|
I could think of few ways.
But first I'd try to communicate with something existing:
- DbgView - they have some new mode - something to do with bootup logging.
- The event log service
- softice
Now, if u crash during logon, the machine is already up with all the services and stuff, so u can use lots of ways, it just depends on your kernel mode arsenal.
Anyway, all the ways that don't include DbgView/event log/softice involves a bit of work in writing the logger service..
U could comunicate with your logger using sockets/pipes, like OutputDebugString - with shared mem and event, or, u could just log it to a file yourself.
|
|
|
|
|
Yes, depends on what services and crap is up such as you can't log to disk if the disk driver isn't loaded yet! However that's one place to go. You could also attempt to allocate a large chunk of memory and log to it and wait for services come up before dumping it to disk.
You could also attempt to take over the screen yourself and dump your stuff to the screen.
8bc7c0ec02c0e404c0cc0680f7018827ebee
|
|
|
|
|
the disk driver must be up, or else, wher did *this* driver load from???
|
|
|
|
|
That was just an example that any service you use you should ensure it comes up before your driver. In anycase, there are OS services which do come up before the disk driver, most likely very few and I haven't looked at the order of loading in a while.
In anycase, the disk driver itself is on disk so how is it loaded if the disk driver isn't loaded? Most likely your driver comes up afterwards but it's just the point to ensure your driver is properly dependent on services it uses.
8bc7c0ec02c0e404c0cc0680f7018827ebee
|
|
|
|
|
Hihi,
Just a quick question, is there a way I can set button flags such as BS_PUSHBUTTON, BS_OWNERDRAW, WS_DLGFRAME etc after a button has been created, or do I have to set those on creation only?
Thanks!
Kelly Ryan
|
|
|
|
|
Use SetWindowLong(hwndButton, GWL_STYLE, WS_DLGFRAME(etc.);
Human beings were not meant to sit in little cubicles staring at computer screens all day, filling out useless forms and listening to eight different bosses drone on about about mission statements. -- Peter Gibbons
|
|
|
|