Forum: Object-Pascal / Delphi-Language
by Uwe Raabe,
29. Okt 2014
Man könnte z.B. die Funktion GetDebitorName in TAdresse verlagern. Es gibt -zig Möglichkeiten das Problem zu umgehen - deswegen ist es bisher wohl auch nicht aufgefallen.
Forum: Object-Pascal / Delphi-Language
by Uwe Raabe,
29. Okt 2014
Das Problem ist offenbar die Kombination des zweimaligen Aufrufs von GetReAdr und der Zusammensetzung des Ergebnisses. Hier versucht der Compiler offenbar eine coole Optimierung und fällt dabei auf die Klappe. Es scheint ja gut zu funktionieren, wenn man die Strings nicht mit einem zweimaligen Aufruf der Funktion zusammensetzt. Die Felder der TAdresse-Instanz sind ja durchaus korrekt. Es ist das...
Forum: Object-Pascal / Delphi-Language
by Uwe Raabe,
29. Okt 2014
Ich kann das hier (XE7) reproduzieren. Es handelt sich offenbar um einen Compiler-Fehler.
var
sn: string;
sv: string;
begin
sv := GetReAdr.Vorname;
sn := GetReAdr.Name;
result := sv + ' ' + sn;
Forum: Object-Pascal / Delphi-Language
by Uwe Raabe,
29. Okt 2014
Durch den zweimaligen Aufruf von GetReAdr wird der Code innerhalb von GetReAdr auch zweimal ausgeführt. Ist das so beabsichtigt?
Forum: Object-Pascal / Delphi-Language
by Uwe Raabe,
29. Okt 2014
Da TAdresse eine Klasse und kein Record ist, wird das wahrscheinlich schiefgehen.