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."