Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
Delphi 12 Athens
|
AW: Ungültige Zeigeroperation
8. Apr 2011, 18:56
Ohne da jetzt durchgestiegen zu sein, wie sieht es so aus (ungetestet)? Allerdings fülle ich nichts auf, da mir die Länge der längsten Zeile ja nicht im Voraus bekannt ist.
Delphi-Quellcode:
function GetLanguages: Boolean;
var
LstValues, LstFile: TStringList;
i, j: Integer;
Filename: string;
begin
Result := false;
Filename := ChangeFileExt(Application.ExeName, '.lng');
if not FileExists(Filename) then
Exit;
TraceFile(DateTimeToStr(Now()) + ' - ' + TRACESYS +
': Sprachdatei wird eingelesen');
// LanguageFile einlesen
LstFile := TStringList.Create;
try
LstFile.LoadFromFile(Filename);
LstValues := TStringList.Create;
try
LstValues.Delimiter := ';';
LstValues.StrictDelimiter := true; //ggf. weglassen
SetLength(myLangValues, LstFile.Count);
for i := 0 to LstFile.Count - 1 do
begin
LstValues.DelimitedText := LstFile[i];
SetLength(myLangValues[i], LstValues.Count);
for j := 0 to LstValues.Count - 1 do
myLangValues[i, j] := LstValues[j];
end;
Result := true;
finally
LstValues.Free;
end;
finally
LstFile.Free;
end;
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
|