|
Hi,
The code you gave logically right. But, you don't have to add pBuf+iTotalRead. File pointer will automatically move itself to the next position. Adding so yields the buffer stays at one piont, considering that the buffer is a limited size. Say 4096.
Merc wrote:
ASSERT(lpBuf != NULL);
>This seems to indicate that you are passing a NULL pointer not >that the data is NULL.....So are you sure your pointer is >good?
Yes it's good since it reads all text/wri files. Since binary files do have NULL chars inside them, it's throwing that assert.
Merc wrote:
buf is.... buf="";
>Do you mean: buf (the pointer) is NULL --or-- *buf is 0 ???
Hm, I mean under debug watch window, my buf shows as pBuf=""
meaning nothing inside the buf. Do I've to reinitialize the buffer once in a while????
Thanks for writing me and sharing you thoughts.
Regards,
jj
|
|
|
|
|
Merc wrote:
ASSERT(lpBuf != NULL);
If this assert is firing....then I'd wager you have a null pointer...Seems you are not passing a good address to your read function
Just trying to keep the forces of entropy at bay
|
|
|
|
|
Hi,
Are you sure? Cuz when I debug and go through the loop, it's reading fine, meaning even though the reading buf is pBuf="" in the watch window, the read size is right and it goes on thorugh the loop. And after couple of loops of pBuf="", the buffer is then filled with actual ascii contents of the file. Is that normal? I assume so because it's a binary file, so it may have spaces, nulls, and all kinds of garbage chars. The assert only fires only on the receving end where I tried to write.
Thanks for the inputs bud.
jey
|
|
|
|
|
if i hava a class
class a
{
int a;
CString str;
};
i want to write an object into a file and send that file through a network to different computer and i want to recive that object again if i have the same class there.
may i read the same object on network from a file?
any body can explain my idea into code like
how to write object into file ?
how to read object on the network (having same class there) from file ?
r00d0034@yahoo.com
|
|
|
|
|
Dude,
are you going to send a instance of a class containig some stuff... like an array object which has some name/address/tp etc in them?
You've to serialize them. To do so, use CArchive class to read the objects into archive, and send it along the network. Look for the ref. on how to use CArhive, CSocket, and CSocketFile on msdn website.
Jey
|
|
|
|
|
How do I change the mouse cursor to hourglass so that the use can NOT click anywhere after a long task? then change back to normal cursor.
Thanks in advance.
|
|
|
|
|
HCURSOR SetCursor(
HCURSOR hCursor // handle to cursor
);
Just trying to keep the forces of entropy at bay
|
|
|
|
|
If you're using MFC:
BeginWaitCursor();
...
EndWaitCursor();
Ty
"The significant problems we face cannot be solved at the same level of thinking we were at when we created them." -Albert Einstein
|
|
|
|
|
TyMatthews wrote:
If you're using MFC:
BeginWaitCursor();
...
EndWaitCursor();
Better yet, use the RAII class CWaitCursor .
|
|
|
|
|
New question of the day. How can you download a file that needs you to accept a security certificate? Also I get a fail on the username/password using the http://UserName:Password@URL.com/file.ext. This may be due to the security certificate as well. Is there a way around this?
Darroll
Not one person lives in the present. Only the past. I can prove it.
|
|
|
|
|
Try using OpenSSL and Curl.
OpenSSL and Curl are two libraries that are used together to interface with Secure HTTP.
They're available for Dos, Windows, Unix, and Linux platforms.
You can download these libraries from the following links:
http://curl.sourceforge.net/
http://www.openssl.org/
Top ten member of C++ Expert Exchange.
http://www.experts-exchange.com/Programming/Programming_Languages/Cplusplus/
|
|
|
|
|
Hi.
I discovered an interesting bug in an MFC multithreaded program. I found that when you delete a pointer to the worker thread's parameter (declared using new operator), the destructor of the class that is part of the parameter is called.
-----
// This is global.
struct THREADPARAMS
{
ClassA *pCA;
}
// This code is in the primary or main thread.
THREADPARAMS *ptp = new THREADPARAMS;
// Assume that clObject is a member variable and is an instance
// of a ClassA.
ptp->pCA = &clObject;
...
CWinThread *Thread = AfxBeginThread(ThreadFunction, ptp, ...);
// Assume everything works.
// Here is ThreadFunction
UINT ThreadFunction(LPVOID *pParams)
{
THREADPARAMS *ptp = reinterpret_cast<threadparams *="">(pParams);
ClassA *pClassA = ptp->pCA;
// Here is the code that causes the bug.
// I studied Jeff Prosise book on MFC.
// Prosise deleted the new struct inside the worker thread.
delete ptp;
-----
Okay. Lets get to the point. "delete ptp" calls ClassA destructor. I am not sure how to get this working.
My goal is to pass into a worker thread pointers to private data members of the primary thread (main) including primitive data type and ADT. I would like to know is the situation above normal or is there a flaw in my design?
Thanks,
Kuphryn
|
|
|
|
|
I can't see why "delete ptp" should touch ClassA. That said you haven't included the declaration for ClassA, and the answer may lie there.
Have you stepped into the delete ptp in the debugger to see if the ClassA destructor is really being called there?
Neville Franks, Author of ED for Windows. www.getsoft.com
|
|
|
|
|
Okay. Thanks.
Yeah something is definitely wrong. I will try to setup more breakpoints to see what triggers ClassA destructor. As far as I know right now, ClassA destructor gets triggered before the worker thread begins and even before the worker thread is resumed (note I declared the worker thread as suspended in order to duplicated its handle).
Kuphryn
|
|
|
|
|
I see that you assign ptp->pCA = &clObject ....
Question: Does clObject go out of scope? ( it is automatic in the function where you are filling out the ptp structure ) .... that could do it you know......
Why not : ptp->pCA = new ClassA; ????
Just trying to keep the forces of entropy at bay
|
|
|
|
|
Okay. Thanks.
I see the problem.
You were right. The problem had to do with scope. The class destructor gets called as the function goes out of scope.
I fixed the bug.
Kuphryn
|
|
|
|
|
Can somebody tell me what is a good book that i can buy that is a good started guide for VS .Net.
I am really looking forward to learning everything about VS.NET and I need a good book that will help me.
Thanks everyone!
|
|
|
|
|
|
Hi,
here is a tricky question... I have a customized listbox (own colors). Now I'd like to specify the background of the listbox's scrollbar (a child of the listbox). Is this possible?
|
|
|
|
|
Hi all,
I am experiencing a very strange problem with windows XP, and I believe that it is related to the themes, but I am not certain.
I have a topmost style window, that contains an IE control. When I display a context (popup) menu, it appears, then the parent window is forced to repaint, and it repaints on top of the context menu. This happens for the dropdown list box portion of a select control in the embedded HTML of the IE control.
The funny thing is that I can click a few times, and finally get the menu to appear on top of the window. Also if I right click on the desktop to bring up that context menu, the problem occurs, so I think that I have eliminated the possibility of me displaying the popup menu incorrectly.
This problem does not happen on any other OS. I am about to try to disable XP desktop themse and display using the classic UI.
If anybody else has experienced this problem, or knows how to solve it, I would really apprecieate hearing from you.
Thank you
Build a man a fire, and he will be warm for a day Light a man on fire, and he will be warm for the rest of his life!
|
|
|
|
|
using the classic windows UI does not change anything regarding this problem on Windows XP.
Build a man a fire, and he will be warm for a day Light a man on fire, and he will be warm for the rest of his life!
|
|
|
|
|
I have not tested this, but : could problem be that parent is set to topmost window style and you having a z-order shoot-out?
Just trying to keep the forces of entropy at bay
|
|
|
|
|
I used SPy++ and found the cause.
I am using Jeffrey Richters Appbar class that appeared in an MSDN article a while back. This class handles a notification when a full screen app is shown, and moves the topmost appbar to the bottom of the zorder to prevent it from covering up the full screen window.
In windows XP for some reason, I get about 7 of these notification messages right in a row (I am unsure of the origin of these messages) and this is what is causing the appbar to repaint.
Now I am looking for this cause to hopefully handle this problem in XP gracefully.
Build a man a fire, and he will be warm for a day Light a man on fire, and he will be warm for the rest of his life!
|
|
|
|
|
Dear all,
This would be a major easy question to most people here but
How do I launch another program from my program, and to just show the other program window if the program is already launched? Just out of interest, how do I launch a seperate instance of the program instead of just showing it?
Many many Thanks,
Chun Te
|
|
|
|
|
Chun Te, Ewe wrote:
How do I launch another program from my program
Many ways.....a couple of which are:
the std library call: system
thw Win32 call: CreateProcess
the Win32 call: ShellExecute
Chun Te, Ewe wrote:
how do I launch a seperate instance of the program instead of just showing it
This may not be up to you....It depends on if the "other program" will allow itself to run simultaneous multiple instances
Just trying to keep the forces of entropy at bay
|
|
|
|