|
Nelek wrote: The intialization in void is correct, you can after cast to other types.
Please if you can read my last replay for Cedric Moonen post. I have a suggestion.
Nelek wrote: pBuffer = NULL;
Actually my question is that, why you do this after free/delete the buffer. Is it required.
I appreciate your help all the time...
Eranga
|
|
|
|
|
I have read Cedric's answer. I agree, but this doesn't mean is incorrect. If I know the format, I usually use the format. The code above was an example.
About the NULL after deleting, it actually is not a must, but it doesn't disturb at all, and I use it so, maybe to ensure that if I reuse the buffer, it won't go trhough ASSERT (pBuffer) by mistake because it still has the last address (although no datas in).
Greetings.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
|
|
|
|
|
Nelek wrote: About the NULL after deleting, it actually is not a must, but it doesn't disturb at all, and I use it so, maybe to ensure that if I reuse the buffer, it won't go trhough ASSERT (pBuffer) by mistake because it still has the last address (although no datas in).
That is really interesting pal. Actually those kind of hints are really helpful in a large project. Because I wont miss anything and not cause any damage in the future developments.
I appreciate your help all the time...
Eranga
|
|
|
|
|
Hi,
How to get the date and time of when the history was cleared in the PC.
Thanks in advance
|
|
|
|
|
??
time_t GetTime( ) const;
but, what do u mean with that "history"?
Greetings.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
|
|
|
|
|
I want to know the time when the IE history was cleared in the pc.
|
|
|
|
|
I don't know how to get it, sorry. IExplorer is a big unknown for me (internal programming) yet.
Greetings.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
|
|
|
|
|
|
Do you know for a fact if it is actually stored somewhere, or are you just hoping/guessing?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
|
Hi All,
I am new Activex project.
I want to make MFC Activex Control project in which I want to add DLL project as other project in the same solution.And I want to make this Activex project depends on this DLL project.Is it possible to do like this??
Plz give me any suggetion.
Thanks in Advance.
Ashish Bhatt
|
|
|
|
|
what stops u in creating an activex object in ur dll project instead?
Prasann
|
|
|
|
|
Hey Thanks For Reply,,
I want to add my other project as DLL because I want to make it as Hooks which contineusly sends message to my Activex project(Messages like Screen Update,Mouse Update).In my Activex project I want to get those messages and process on these messages.
Is this possible??
Anything you understand, Plz suggest me.
Thanks.
Ashish Bhatt
|
|
|
|
|
Hi ALL,
Plz any have the code for socket programming in vc++ for dialog based application, in such a way that Receive should happen in 1 thread and send should happen through other thread.
plz help me
With Regards
Amjath
|
|
|
|
|
Amjath Rahman wrote: Plz any have the code for socket programming in vc++ for dialog based application...
There are several listed here.
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Dear all,
I want to know the length of some BYTE variable (unsigned char). Here I included snippet of the code:
#include <iostream><br />
#include <string><br />
<br />
using namespace std;<br />
typedef unsigned char BYTE_T;<br />
<br />
void printLen(BYTE_T *ld_pbyteTemp);<br />
<br />
int main(int argc, char *argv[])<br />
{<br />
BYTE_T *ld_pbyteChar = new BYTE_T[50];<br />
memset(ld_pbyteChar, 'a', 50);<br />
<br />
for(int i=0; i<50; i++) cout << "i = " << i << " -> " << ld_pbyteChar[i] << endl;<br />
<br />
printLen(ld_pbyteChar);<br />
<br />
return 1;<br />
}<br />
<br />
void printLen(BYTE_T *ld_pbyteTemp)<br />
{<br />
int ld_intLen = sizeof ld_pbyteTemp;<br />
cout << "Length = " << ld_intLen << endl;<br />
}
Is there anyone know how to get the length of the "ld_pbyteTemp" in function printLen ?
Thanks before...
Regards,
Ian
|
|
|
|
|
try:
int ld_intLen = sizeof(*ld_pbyteTemp);
|
|
|
|
|
Llasus wrote: int ld_intLen = sizeof(*ld_pbyteTemp);
It didn't work. It return 1 not 50 as expected.
|
|
|
|
|
Oops, sorry I didn't notice that. As the others explained you can't obtain it just by using sizeof. You can get the size that you want only thru some changes. instead of unsigned char you can use char . And instead of sizeof() use strlen(ld_pbyteTemp) . I don't know if you'd want to change your variable though. Anyway its a simpler workaround if you really want to get the size.
Just another thing though. Since it is a char end the last element with NULL.
|
|
|
|
|
you can't. there's no safe way to get the size of a dynamic array in C/C++.
you must either pass the size of the allocated data along with the pointer, or use a container class (like std::vector) that keeps track of it for you.
|
|
|
|
|
Ok, Chris, thanks for your suggestion. As I guess it can't be measure. And the best way is passing the size of the allocated data along with the pointer. Thanks for all too...
|
|
|
|
|
Ontanggabe Parulian wrote: BYTE_T *ld_pbyteChar = new BYTE_T[50];
Did you look at the DWORD preceeding ld_pbyteChar in debug memory?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Is the OP allocating BSTR s?
Peace!
-=- James Please rate this message - let me know if I helped or not!<HR> 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! Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! See DeleteFXPFiles
|
|
|
|
|
In fact,at C/C++ RUNTIME,when you new or malloc a block memory,the system really allocate 4 bytes more than the count you want(you can find at the memory window of VC):0xFD,0xFD,0xFD,0xFD.
When you delete or free the pointer,the system will check the end of pointer you want to free,if they are not 0xFD,0xFD,0xFD,0xFD,system will indicate that block was ruined and an assert would occur!
So,you also can do your work by find the end 4 special bytes.
But you have to make sure that the block's real data does not include a four-byte sequence:0xFD,0xFD,0xFD,0xFD,if so,the result would not believable.
Make the code work well is your own job.
I am sorry,my english is poor.Have a good day!
|
|
|
|
|
Do not do this - the sentries you are talking about are only reliable in debug builds, not release builds.
Peace!
-=- James Please rate this message - let me know if I helped or not!<HR> 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! Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! See DeleteFXPFiles
|
|
|
|