AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Properties haben nach Zuweisung falsche Werte

Ein Thema von BlueStarHH · begonnen am 29. Okt 2014 · letzter Beitrag vom 31. Okt 2014
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.326 Beiträge
 
Delphi 12 Athens
 
#1

AW: Properties haben nach Zuweisung falsche Werte

  Alt 29. Okt 2014, 15:33
Nja, dein Code war zumindestens falsch, denn Result wurde nicht initialisiert.
Was genau meinst Du damit? Mit Result := Adresse; wird es initialisiert/zugewiesen. Oder sehe ich das falsch?
Nicht bei Markus in Post #2
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.609 Beiträge
 
Delphi 12 Athens
 
#2

AW: Properties haben nach Zuweisung falsche Werte

  Alt 29. Okt 2014, 15:39
Ich kann das hier (XE7) reproduzieren. Es handelt sich offenbar um einen Compiler-Fehler.

Delphi-Quellcode:
var
  sn: string;
  sv: string;
begin
  sv := GetReAdr.Vorname;
  sn := GetReAdr.Name;
  result := sv + ' ' + sn;
  Result := GetReAdr.Vorname + ' ' + GetReAdr.Name;
end;
Das erste result bringt noch das richtige Ergebnis, aber beim zweiten klappts nicht.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#3

AW: Properties haben nach Zuweisung falsche Werte

  Alt 29. Okt 2014, 15:41
Ich kann es mit D6 auch bestätigen.
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.739 Beiträge
 
Delphi 6 Enterprise
 
#4

AW: Properties haben nach Zuweisung falsche Werte

  Alt 29. Okt 2014, 15:52
Ist .Name vllt. ein reserviertes Wort in dem Zusammenhang? Zumindest wird es ja hier im Codeformatierer der DP fett blau gezeigt?
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#5

AW: Properties haben nach Zuweisung falsche Werte

  Alt 29. Okt 2014, 16:02
Es funktioniert auch, wenn man die Adresse in einer lokalen Variablen zwischenspeichert.
Delphi-Quellcode:
function TForm1.GetDebitorName: string;
var
  a: TAdresse;
begin
  a := GetReAdr;
  Result := a.Vorname + ' ' + a.Name;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Properties haben nach Zuweisung falsche Werte

  Alt 29. Okt 2014, 16:12
Mit ShortStrings funktionierts, d.h. irgendwie verpointert der sich.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.739 Beiträge
 
Delphi 6 Enterprise
 
#7

AW: Properties haben nach Zuweisung falsche Werte

  Alt 29. Okt 2014, 16:17
Es funktioniert auch, wenn man die Adresse in einer lokalen Variablen zwischenspeichert.
Delphi-Quellcode:
function TForm1.GetDebitorName: string;
var
  a: TAdresse;
begin
  a := GetReAdr;
  Result := a.Vorname + ' ' + a.Name;
end;
Aber wenn man's (sinnlos) mischt wieder nicht:

Delphi-Quellcode:
function TForm1.GetDebitorName: string;
var a:Tadresse;
begin
  a:=GetReAdr;
  Result := a.Vorname + ' ' + GetReAdr.Name;
end;
Edit: Andersrum gemischt geht's dann doch wieder:
Result := GetReAdr.Vorname + ' ' + a.Name;
Ralph

Geändert von Jumpy (29. Okt 2014 um 16:19 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.609 Beiträge
 
Delphi 12 Athens
 
#8

AW: Properties haben nach Zuweisung falsche Werte

  Alt 29. Okt 2014, 16:23
Es hat offenbar etwas mit der internen Realisierung des String-Results als var-Parameter und der nicht-vorhandenen Referenzzählung bei String-Konstanten zu tun. Aber da mögen sich die Compiler-Leute von Embarcadero dran auslassen.

Wer schreibt den QC?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
855 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Properties haben nach Zuweisung falsche Werte

  Alt 29. Okt 2014, 16:42
Es funktioniert auch, wenn man die Adresse in einer lokalen Variablen zwischenspeichert.
Delphi-Quellcode:
function TForm1.GetDebitorName: string;
var
  a: TAdresse;
begin
  a := GetReAdr;
  Result := a.Vorname + ' ' + a.Name;
end;
Danke für den Tipp. Die Frage ist nur, funktioniert das immer? Oder nur in 99% der Fälle? Damit werden Buchnungen verarbietet. Es darf keinen Fehler geben. Wenn ich in Vorname und Name nicht 'a' und 'b' stehen habe sonderen einen anderen Wert (den ich leider nicht notiert hatte) hat es mit dem Code aus Post #1 fast immer funktioniert. Nach dem 100. Aufruf war dann Plötzlich die PLZ oder die Straße im Feld Vorname. Sowas darf nicht passieren. Es muss doch möglich sein, über eine Funktion auf eine Instanzvariable/ein Feld zuzugreifen, ohne das es komische Seiteneffekte gibt.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#10

AW: Properties haben nach Zuweisung falsche Werte

  Alt 29. Okt 2014, 16:53
Da der Fehler erst durch Deinen Thread bekannt geworden ist, lehne ich mich mal weit aus dem Fenster und behaupte, dass das so immer funktionieren sollte. Haftbar lasse ich mich für diese Aussage allerdings nicht machen
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz