|
This function is written in ping class.....
void CPingThread::LogMessage(CString& logmsg)
{
if (m_pLogWnd)
{
ping_pasiin_val SP_obj_val;
SP_obj_val.index = ping_int;
SP_obj_val.url = ping_str;
m_pLogWnd->SendMessage(PINGMSG, (WPARAM)(CString*)&logmsg, (LPARAM)(&SP_obj_val));
}
}
n this is written in class used for clistctrl....
LRESULT CHttp::OnPingLogMessage(WPARAM wparam, LPARAM lparam)
{
CString* pLogMessage = (CString*) wparam;
struct recv_val* pStruct = (recv_val*)(LPVOID)lparam;
int u = pStruct->Recv_index;
CString result_val = *pLogMessage;
if(result_val.Find("-") <= -1)
{
m_Main_List.SetItemText(u,7,*pLogMessage);
}
}
|
|
|
|
|
neha.agarwal27 wrote: int u = pStruct->Recv_index;
I didnt find the code that sets the value in pStruct->Recv_index
you are setting the value only to
SP_obj_val.index
SP_obj_val.url
in the LogMessage function. Or did you forget to paste the code here?
nave
|
|
|
|
|
neha.agarwal27 wrote: if (m_pLogWnd)
{
ping_pasiin_val SP_obj_val;
SP_obj_val.index = ping_int;
SP_obj_val.url = ping_str;
m_pLogWnd->SendMessage(PINGMSG, (WPARAM)(CString*)&logmsg, (LPARAM)(&SP_obj_val));
}
There is no way, I could know that ping_int is different all the time ,but in OnPingLogMessage you are getting same value.
Try debugging , if value you are setting while sending the message is different.
ps. Neha , you are quite familiar with CP now. Then also, you are no following posting guidelines[^].
|
|
|
|
|
There are multiple places that you could put breakpoints, or at least add TRACE() statements, to confirm the values are what you expect.
void CPingThread::LogMessage(CString& logmsg)
{
TRACE(%s\n", logmsg);
if (m_pLogWnd)
{
ping_pasiin_val SP_obj_val;
TRACE(%d\n", ping_int);
SP_obj_val.index = ping_int;
TRACE(%s\n", ping_str);
SP_obj_val.url = ping_str;
LRESULT lRes = m_pLogWnd->SendMessage(PINGMSG, (WPARAM)(CString*)&logmsg, (LPARAM)(&SP_obj_val));
TRACE(%d\n", lRes);
}
}
LRESULT CHttp::OnPingLogMessage(WPARAM wparam, LPARAM lparam)
{
CString* pLogMessage = (CString *) wparam;
TRACE(%s\n", *pLogMessage);
struct recv_val* pStruct = (recv_val *)(LPVOID)lparam;
int u = pStruct->Recv_index;
TRACE(%d\n", u);
CString result_val = *pLogMessage;
if(result_val.Find("-") <= -1)
{
BOOL b = m_Main_List.SetItemText(u, 7, *pLogMessage);
TRACE(%d\n", b);
return 1;
}
return 0;
}
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
Hi,
Could you please let me know, if we have to extract multiple cab files do we have to create those many instances of CExtract class? and make corresponding entries (e.g ID_CAB_TEST) in resource file?
We have many cab files to extract and at runtime we are reading the names of the files. We wont have the list of all cab files before compilation to add in the resource file.
Please let me know if it is possible to extract multiple cab files without making their entries in the resource file. If yes, how.
Regards,
Rupal.
|
|
|
|
|
Hi all,
I'm trying to append data to the end of a file. The problem is that when I call the WriteFile function (it return 1), but none of the data gets appended. The buffer isn't empty. What could be the problem ???
I have used GetLastError , and the function returns 0 ... so
This is what I have done so far:
#define BUFF_SIZE 4000
char buffer[BUFF_SIZE];
Handle hFile = CreateFile(attTMPFName,
GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (WriteFile(hFile ,buffer,BUFF_SIZE,&dwBytesWritten,NULL))
{
...
Many thanx in advance.
Regards,
The only programmers that are better than C programmers are those who code in 1's and 0's.....
Programm3r
My Blog: ^_^
|
|
|
|
|
call SetFilePointer() after the CreateFile()
::SetFilePointer( hFile, 0 , NULL, FILE_END );// Moves the pointer to the end of file.
nave
|
|
|
|
|
Naveen R wrote: call SetFilePointer() after the CreateFile()
Thank you Naveen....
Regards,
The only programmers that are better than C programmers are those who code in 1's and 0's.....
Programm3r
My Blog: ^_^
|
|
|
|
|
Programm3r wrote: I'm trying to append data to the end of a file
but I cannot find where do you move the write pointer (see SetFilePointer on MSDN) at the end of the file, do you?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
|
Programm3r wrote: /*I did a CreateFile and ReadFile, to get data into the buffer*/
Ok, you are reading the buffer from same file you opened and appending it with same buffer.
But, you have mentioned GENERIC_WRITE flag. Then how it is possible ?
|
|
|
|
|
Sorry prasad_som, I didn't explain properly.
I use bufferA and HandleA to open / read the first file (lets call it file1.txt).
Then I use bufferB and HandleB to open / write the second file (lets call it file2.txt).
So basically I'm appending the contents of file2 to file1.
Makes sense.
The SetFilePointer worked.
The other question I wanted to ask was: how big may ones buffer be? When writing / reading files
Many Thanx
Regards,
The only programmers that are better than C programmers are those who code in 1's and 0's.....
Programm3r
My Blog: ^_^
|
|
|
|
|
Programm3r wrote: The SetFilePointer worked.
Fine.
Programm3r wrote: how big may ones buffer be? When writing / reading files
Maximum DWORD can hold. ie. 4294967296.
|
|
|
|
|
|
prasad_som wrote: Maximum DWORD can hold. ie. 4294967296.
In theory. In reality, it would likely be less than 2GB.
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
prasad_som wrote: This figures goes to 4GB.
There's no way a buffer can be 4GB (which is the question I was answering). Under normal circumstances, Windows only gives each process 2GB, and not all of that is available, which is why I said "less than."
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
prasad_som wrote: This is what, I was talking about duplicated post.
I don't see any duplicated posts.
prasad_som wrote: Then you delete yours...
I've not deleted anything.
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
DavidCrow wrote: I don't see any duplicated posts.
Its just addition to existing post, in lst post[^] its accumulated writing, which is most of it is present in my previous post. Which I've deleted.
DavidCrow wrote: I've not deleted anything.
, No , you dont. I'm asking you to delete yours(if you feel), I feel, I've created unnecessarily multiple posts.
p.s. I'm not native English speaker.
|
|
|
|
|
DavidCrow wrote: In theory.
Yes, mentioned figure goes to 4GB.
Where as, only 2 GB address space will beavailabl for program out of 4GB virtual memory.
DavidCrow wrote: it would likely be less than 2GB.
I think , this will be not case with 64-bit systems though.
|
|
|
|
|
prasad_som wrote: I think , this will be not case with 64-bit systems though.
Why confuse the issue with matters that were not even mentioned? Keep it simple.
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
DavidCrow wrote: Keep it simple
True. I've just added one more thing.
[OT] I wonder, something is messed with posting, when i tried to post, its getting duplicated, and when tried to delete one of them, both are deleted.
[/OT]
|
|
|
|
|
|
Programm3r wrote: I have tried strlen()
strlen should give you correct result. Check lpNumberOfBytesWritten , for checking number of bytes written.
|
|
|
|
|
Programm3r wrote: I have tried strlen()
. Can you paste the code here? Did you check the return value of the strlen function?
nave
|
|
|
|
|