Thema: Delphi String Zuordnung = AV

Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

String Zuordnung = AV

  Alt 17. Okt 2007, 17:55
Hi,

Hab etwas, was ohne Probleme funktioniert wenn ichs mit D2007 compiliere. Wenn ich den selben Code mit D7 compiliere bekomme ich eine AV.

Delphi-Quellcode:
TGUILang = packed record
  Install: ShortString;
  Cancel: ShortString;
  btnFinish: ShortString;
  Head: ShortString;
  Agree: ShortString;
  lblFinish: ShortString;
  Exit: ShortString;
end;

// [...]
var tmp: PChar;
    st: TAKClass; // st.FStrings: TStringlist;
begin
  // ...
  tmp := PChar(@GUI.Langs[j]); // GUI.Langs: Array[1..5] of TGUILang;
  inc(tmp); // Um zum ersten String zu gelangen
  for i := x to y do //x,y sind nicht so wichtig
  begin
    st.FStrings[i] := StringReplace(tmp,'\n',#13#10,[rfReplaceAll,rfIgnoreCase]);
    inc(tmp,256);
  end;
Das lief auch unter D2007 wunderbar. Unter D7 kommt es jedoch manchmal (ka wann und warum) bei dieser Zeile:

st.FStrings[i] := StringReplace(tmp,'\n',#13#10,[rfReplaceAll,rfIgnoreCase]); zu einer AV. Und ich kann garantieren das FStrings[i] jederzeit existiert. schreibe ich statt

st.FStrings[i] := st.FStrings[i] := StringReplace(tmp,'\n',#13#10,[rfReplaceAll,rfIgnoreCase]); das hier

st.FStrings[i] := st.FStrings[i] := 'IrgendeinString'; dann gibts kein Fehler -.-
Ich hab das irgendwie versucht durch irgendein gematsche hinzubekommen aber ich raste gleich aus glaub ich.

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat