|
http://codeproject.com/internet/zsmtp.asp[^]
I'm using this smtp class, and The to and from addresses are ok on the way out on the socket, but when they are received by the smtp server the domain name has been regex'd on by the pop server.
This happens with any smtp server I use.
bill@site.com becomes bill@site.com.domain.com whether that address is a from address or a to address
this happens with every single email in the header regardless of where it is?
I know this isn't a purely C++ question, but I was wondering if anybody knew how to keep it from doing that.
|
|
|
|
|
post this question to the article's forum!
Don't try it, just do it!
|
|
|
|
|
I want to get some user input from some edit box variables. I have added another output pane with an edit control, I want to add some of my text and the users input... like ...
"something"+userinput
HELP, I WOULD VERY MUCH APPRECIATE IT!!!
P.S. I thought I knew this but apparently I have been developing websites so this is what happens I guess.
<marquee>Universal Project
|
|
|
|
|
Give this a try, I think it might do what you described. Good luck!
CString myOutput, userInput;
/* assuming your edit box is called EditBox */
EditBox.GetWindowText( editInput );
myOutput.Format( "something " + userInput );
/* assuming your output edit box is OutputBox */
OutputBox.SetWindowText( myOutput );
Good luck!
Douglas A. Wright
dawrigh3@kent.edu
|
|
|
|
|
Thankyou but I already have a solution. it was adding \r\n instead of just \n.
<marquee>Universal Project
|
|
|
|
|
Are there memory leaks that keep on existing once the process they originated from is terminated? :S It's just that, when i look at the pagefile usage when pressing CTRL-ALT-DEL it tends to act weird.. like, when i have a big game running its normal that it takes up a lot of memory, but sometimes when i just have little apps running (like msn and IE) it shows even more memory in use.. i don't know much about this but i think its bizarre. And in the root of my C drive is a file called pagefile.sys which is almost 400MB! is that normal? cause i dont remember seeing it there before..
Kuniva
--------------------------------------------
|
|
|
|
|
Kuniva wrote:
Are there memory leaks that keep on existing once the process they originated from is terminated?
Generally, no. The operating system knows what blocks were allocated by what process, so when the process is terminated, the blocks are deallocated. Of course, if the process triggers an allocation by another process, a device driver, etc., then that allocation may linger since it isn't owned by the process that was terminated.
Keep in mind when monitoring memory usage that the operating system is free to use unused memory for caching purposes, and IE can hardly be considered a "little app" since it keeps an in-memory cache to speed things along.
Kuniva wrote:
And in the root of my C drive is a file called pagefile.sys which is almost 400MB! is that normal?
Yes, this is completely normal. Well, normally pagefile.sys is hidden, but don't worry about it. Windows uses this file for virtual memory when physical memory runs low, and can grow or shrink it at will based on your virtual memory settings.
- Mike
|
|
|
|
|
Hi
I was wondering.. how could I get the sent messages (like the windows message WM_SETFOCUS, but for a game)
Say I click some random person in my game, how could I get the message that has just been sent?
And how could I send that message to my game from my program (if it's running, as well..)
Thanks for help
|
|
|
|
|
um, most 3D games use DirectX or OpenGL as their display driver and those don't work with windows messages.. They just track the coordinates of the mouse on screen and loop checking for the mouse button to be pressed.. so u can't get the message cause there won't be one (assuming its a 3D game).
If it isn't a 3D game and it does use windows messages (which seems very unlikely to me) u could try installing a hook to filter the messages and to send the message to the game u could just use SendMessage().
Kuniva
--------------------------------------------
|
|
|
|
|
i think your really not ready to code a game... begin learning the basics!
when you've done this, check out the "Pick"-Example (D3D) from the microsoft DirectX SDK!
Don't try it, just do it!
|
|
|
|
|
Hi,
I am working on a project that that makes use of WSAOVERLAPPEDPLUS or OVERLAPPEDPLUS structure. However, Visual C++ compiler outputs and error that says WSAOVERLAPPEDPLUS is an unknown identifier.
What header files or libraries do you need for WSAOVERLAPPEDPLUS? I imported ws2tcpip, ws2spi, and winsock2.
Thanks,
Kuphryn
|
|
|
|
|
have you tried installing platform sdk yet?
|
|
|
|
|
Thanks.
Come to find it, WSAOVERLAPPEDPLUS is an abstract structure, not something that is official.
Kuphryn
|
|
|
|
|
Hi, how can i get a list of tables with columns from a access database
by using cdatabase and crecordset? I want to use the list in
a CTreeCtrl!
|
|
|
|
|
//To get the tables in the database
CDaoDatabase db;
db.Open("pathToDatabase");
CDaoTableDefInfo tblInfo;
short tblCount=db.GetTableDefCount();
for(int u=0;utblCount;u++)
{
db.GetTableDefInfo(u, tableInfo);
//Take the tablename tableInfo structure and write it to your treeCtrl
}
To get the columns of the table it's the same with the GetFieldCount and GetFieldInfo members of the class CDaoRecordset.
MS
|
|
|
|
|
Hello all,
I use VC6. Haven't the funds to bother with VS.NET yet...
I have the weirdest problems happening lately, with this code:
<br />
double* arr = new double[some_length];<br />
<br />
if (arr == NULL) return; <br />
<br />
<br />
delete[] arr; <br />
arr = NULL;<br />
I have no idea what could be causing this -- I mean, I am behaving myself, and calling delete for arrays of a primitive type that I allocate on the heap, right? The problem is there whether I call either delete[] or just plain delete . The problem goes away when I remove the call to delete[] entirely.
same thing happens using malloc()/free()...what's going on?
This is bizzare. Has anybody else seen this behavior before? Thanks.
Sincerely Yours,
Brian Hart
Department of Physics and Astronomy
University of California, Irvine
|
|
|
|
|
Where does the problem happen? Is it right at the
delete[] arr;
call, or is it later in the code? If it's later, chances are something else is trying to use it after it has been deleted.
Otherwise, perhaps you are deleting arr somewhere else above, and not setting it to NULL, and then trying to delete it again?
It's impossible to say without seeing the rest of the code.
BTW, you are right in calling delete[] .
"When a man sits with a pretty girl for an hour, it seems like a minute. But let him sit on a hot stove for a minute and it's longer than any hour. That's relativity." - Albert Einstein
|
|
|
|
|
Hello Navin,
It faults right on delete[] arr; . I don't understand. Whenever I delete any pointer in my program, I always do:
<br />
if (arr != NULL) {<br />
delete[] arr;<br />
arr = NULL;<br />
}<br />
However, it still faults on the delete[] arr; . I agree with Neville Franks that I think I am screwing the heap, but how does one prevent this?
Thanks for any help -- it is much appreciated.
Sincerely Yours,
Brian Hart
Department of Physics and Astronomy
University of California, Irvine
|
|
|
|
|
Brian Hart wrote:
if (arr != NULL) {
delete[] arr;
arr = NULL;
}
delete is smarter than the C free() function and does the right thing (which is to do nothing at all!) when you delete a pointer that is NULL (or 0).
Ofcourse, still want to set your pointer to 0 when you are done.
|
|
|
|
|
Hello All:
I have solved the problem. What i have done is:
<br />
double* arr = double[size];<br />
<br />
... <br />
<br />
delete[] arr; <br />
arr = NULL;<br />
I discovered this goes away when I set the size of the array to size + 1 ; i.e. delete[] sometimes faults because the debug version of things told me that I was having buffer overruns. Setting the array size to size + n where n is some arbitary number gives the computer a 'buffer' to work with to protect agsinst overruns.
Thanks for the help.
Sincerely Yours,
Brian Hart
Department of Physics and Astronomy
University of California, Irvine
|
|
|
|
|
Brian Hart wrote:
I discovered this goes away when I set the size of the array to size + 1; i.e. delete[] sometimes faults because the debug version of things told me that I was having buffer overruns. Setting the array size to size + n where n is some arbitary number gives the computer a 'buffer' to work with to protect agsinst overruns.
What you're describing here is a sever programming error. You're going past the end of your allocated 'arr' somewhere, and corrupting your stack. Your 'buffer' is just hiding the problem. You really should take a close look at your code, and figure out what's going wrong. You probablu have an array bounds problem. I would bet you're not even performing your calculation correctly.
What you've said about "protecting against buffer overruns" is complete nonsense.
|
|
|
|
|
Actually, free(NULL) is safe on any standard C compiler. There were certainly old, pre ANSI C, compilers that didn't handle free(NULL) well.
--------
There are 10 types of people in this world. Those who know binary and those who don't.
|
|
|
|
|
You haven't said precisely what the error is, but I assume it is an error in the heap. I think you'll find you've screwed the heap somewhere in your code and when delete(free) is called it is detecting this. There are various flags you can set to help track heap problems. Have a look at _CrtSetDbgFlag().
Neville Franks, Author of ED for Windows. Free Trial at www.getsoft.com
|
|
|
|
|
Neville Franks wrote:
You haven't said precisely what the error is, but I assume it is an error in the heap. I think you'll find you've screwed the heap somewhere in your code and when delete(free) is called it is detecting this. There are various flags you can set to help track heap problems. Have a look at _CrtSetDbgFlag().
Hello Neville:
I have solved the problem. It was just a buffer overrun, which I fixed by allocating a couple of more 'extra' elements than I needed.
Thanks for the help.
Sincerely Yours,
Brian Hart
Department of Physics and Astronomy
University of California, Irvine
|
|
|
|
|
You are probably overruning arr
To confirm:
allocate one element more [some_length+1 ];
put some predefined double value into arr[some_length](1234.);
before delete check that the value at arr[some_length] is still the same.
If not -- you've got confirmation.
Also, just a clue: if you do new and delete in different modules: check if both of them are using same runtime (Release/Debug).
"...Ability to type is not enough to become a Programmer. Unless you type in VB. But then again you have to type really fast..."
Me
|
|
|
|