Code ok, VisualMicro problem? Serial readout

Hey guys,
Im not new to Arduino and already programmed a whole lot of things, but this is the first time I need to consult the forum because Im running nuts.

I`ve a pice of code, which perfectly works in the Arduino IDE. Here I can read out the serial bus 1 and the strMessage variable contains all input afterwards. By using Serial.print() the output gets printed without a problem.

#define PIN_READ_WRITE 7

void setup()
{
	Serial.begin(115200);
	Serial1.begin(115200);
	pinMode(PIN_READ_WRITE, OUTPUT);
}

String strMessage = "";
void loop()
{
	String strMessageTmp = strMessage;
	while(Serial1.available())
	{
	    char c = Serial1.read();
		strMessage += c;
	}

	if (strMessageTmp != strMessage)
	{
		Serial.print(strMessage);
		delayMicroseconds(80);
	}
	
}

Example: I run the firmware, send "ABCDE" to the Serial port 1 and receive "ABCDE" on the other Serial output 0.

Now here is the problem:

Due to the fact that I`d like to code more C++ sytle, I installed VisualMicro on my visual studio and I run exactly the same code.
but the result ist not "ABCDE", it gets all chars delivered to the Serial port but when I print the result, I only get A on the out. But on each output iteration only a single "A".

Is there anybody with experience in using VisualMicro and has already has such problems before? Due to the fact that the visual micro IDE is not widely used, there is almost nothing to find via google. (and, yes, of course I know that there is a visual micro forum and Ill also try to get some help there as well, but unfortunatelly Im a bit under pressure and a really huge project right now doesnt have any progress because of such a silly problem and I do not even understand if it is me or der programm thats not performing....)`

J

I use Visual Micro and have had no problems with the serial interface.

Due to the fact that I`d like to code more C++ sytle.

What do you mean? You do not need Visual Micro to code differently!

That code doesn't look very sensible. Firstly it never resets the strMessage String so the contents will accumulate indefinitely and it will print the whole string each time the content changes; secondly it compare the new value with the old value to determine whether it has changed but the reason it has changed is that you just appended a character to it - it makes no sense to implement a separate test to check whether you have done that since the code doing it is right there in front of you.

I don't know what Visual Micro is but I suggest it would be better to fix the logic problems in your code before you worry about whether Visual Micro is treating your code correctly. Your reason for using Visual Micro also doesn't make much sense to me. The Arduino language is essentially C++ with a small amount of mucking about performed before it is compiled. When you write Arduino code you are writing C++.

If you still want to use some other development environment and still believe it's doing something wrong then the place to ask for help with it is the support community for that other IDE.