Hallo Thomas.
Quote by Thomas.AC
...
Nur eine Idee von vielen.
Frage: Welchen Sinn hat das Schlüsselwort const in deiner Parameterliste?
Ja, es gibt viele Möglichkeiten.
Meine Globalen-VARs sind schon recht umfangreich und für so eine "Einfache" Funktion möchte ich hier lieber als Parameter übergeben.
Frames sind kein Problem, ich habe allen Tasks und Processe mind. das doppelte von nötigen an Frame und Stack gegeben.
Wegen dem CONST, das ist eine Angewohnheit aus Delphi:
"const ermöglicht dem Compiler die Optimierung des Codes für strukturierte und String-Parameter. Gleichzeitig wird die versehentliche Übergabe eines Parameters als Referenz an eine andere Routine verhindert. (Aus einer Delphi Hilfe)"
Quote by Thomas.AC
Man könnte auch versuchen, mit dem Programm Winmerge einen Vergleich der .asm oder .lst Dateien durchzuführen, um Unterschiede im generiertem code zwischen den Compilerversionen herauszufinden.
Ja, aber wie hilft rolf dies bei dem Compiler Problem?
Der Fehler hat ganz klar was mit Strings zu tun, ich nutze diese Änderung an dem EEPROMPTR() auf String ja noch nicht mal.
Übersetze ich meinen aktuellen Code in der .45 alles PERFEKT bis auf dem BUG EEPROMPTR() auf die Strings.
Sobald ich den gleichen Programmcode mit der .47 nutze sind alle String auf dem Display "Schrott" (siehe Bild), dies betrifft dann wahrscheinlich die Funktionen "gDrawString()" usw.
Quote by Thomas.AC
Oder Debuggen mit Debugger, welche CPU?
XMEGA384C3, klar wenn ich nun wieder die Fehlerhafte .47 installiere und das Projekt damit teste bekomme ich evtl. was angezeigt. Oder auch nicht.
Quote by Thomas.AC
Oder Debugausgaben über eine freie UART ohne Interrupt Mode
Ja, aber was bringt mir das? Ich mache schon in meinem Projekt die ganze Zeit Debugausgaben auf den UART. Das Einzige was ich auf der Debugausgabe sehe bei der .47 sind Fehlerhafte Stringausgaben. Und da rolf an den Strings was geändert hat, würde ich hier auch den Fehler vermuten. Es ist vollkommen egal ob die String mit "gDrawString()" auf dem Display oder mit "WriteLn()" auf die UART ausgegeben werden, alle Stringausgaben sind Schrott mit der .47
Thorsten