Delphi-Quellcode:
function TGBasicControl.ReadEntry(Entry:
string):
String;
begin
Result := UsedLanguageFile.ReadString('
words', Entry, '
missing');
//Exception
end;
Hallo.
Um Ressourcen zu sparen, würde ich UsedLanguageFile nicht als TIniFile machen, sondern als Integer! Ich würde also
Result := LanguageFiles[UsedLanguageFile].ReadString(...);
verwenden. Dies verhindert auch, dass UsedLanguageFile und LanguageFiles[4] sich gegenseitig blockieren. Vielleicht ist hier schon der Grund zu suchen. Du hättest das INI-File 2 Mal geöffnet, einmal als LanguageFiles[4] und einmal als UsedLanguageFile.
Ansonsten würde ich bei ReadEntry() noch prüfen, ob überhaupt eine Sprachdatei geöffnet ist. (Vielleicht mit deinem 0ten Eintrag?)
Delphi-Quellcode:
function TGBasicControl.ReadEntry(Entry:string):String;
begin
if UsedLanguageFile <> 0 then
begin
Result := LanguageFiles[UsedLanguageFile].ReadString('words', Entry, 'missing');
end
else
begin
// Keine Sprachdatei öffen
result := ':-/';
end;
end;
Gruß
blackdrake