Einzelnen Beitrag anzeigen

Benutzerbild von Tormentor32
Tormentor32

Registriert seit: 27. Okt 2005
Ort: Düsseldorf
369 Beiträge
 
Delphi XE5 Professional
 
#1

Zugriffsverletzung bei Zuweisung eines Records (Feld)

  Alt 9. Okt 2007, 11:15
Hallo Delphianer,

ich habe ein komisches Problem, welches ich nicht verstehe. Zunächst mal ein paar kurze Hintergrundinformationen: Ich habe ein Gerät, aus dem ich bestimmte Werte auslese, diese Werte bekomme ich als Zeichenkette, die ich dann aufdröseln muss um sie in einen Record abzulegen. Das klappt auch wunderbar.

Jetzt hab ich hier eine Funktion, die aus dem String die einzelnen Werte rausfiltert und in einen Record speichert
Delphi-Quellcode:
function TReplyParser.GetBrightnessStateStructFromSystemInfo(
  const ASystemInfo: string): TBrightnessStateStruct; //Das ist der Record, in dem die einzelnen Werte stehen
var
  hlp: TBrightnessStateStruct; //Hilfsvariable vom selben Typ
begin
  hlp.sensor_val := GetValueFromHex4Digits(copy(ASystemInfo,1,4)); //[1..4]
  hlp.solistrom := GetValueFromHex4Digits(copy(ASystemInfo,5,4)); //[5..8]
  //..... und so weiter, alle Wertzuweisungen
  // Der String hat definitiv die richtige Länge
  FBrightnessStateStruct := hlp; // Hier krachts! FBrightnessStateStruct ist eine private Variable vom Typ TBrightnessStateStruct und soll immer den letzten Status beinhalten.
  result := hlp; // aber das hier Kracht nicht! Wenn ich die Zeile eins drüber auskommentiere, dann klappt alles, es ist aber notwendig, dass die FBrightnessStateStruct Variable auch die Werte übernimmt
end;
Habe schon verschiedene Dinge ausprobiert, wie zum Beispiel alle Verweise auf FBrightnessStateStruct auszukommentieren aber jedes mal in dieser Funktion krachts, wenn ich ihr einen Wert zuweisen will.

Wäre super, wenn mir jemand sagen könnte woran das liegt, ich verstehe das einfach nicht!

Danke schonmal,

Ritsch
Richard Mahr
  Mit Zitat antworten Zitat