Ich habe das Problem mittlerweile gelöst - oder umgangen ?
Den Stringtable der Ressource hatte ich über den Visual C- Editor erstellt, als Sprache war "German" angegeben. Das habe ich jetzt umgestellt auf "neutral". Die Fehler sind jetzt bei beiden Zugriffsmethoden weg. Leider verstehe ich immer noch nicht warum
Es funktioniert also
Delphi-Quellcode:
class function TResourceMeldung.GetOffset(lg: integer): integer;
var
buffer : array[0..MaxBuffer] of char;
ls : integer;
begin
Result := 0;
ls := LoadString(hInstance, lg, buffer, length(buffer));
if ls <> 0 then Result := strtoint(buffer);
end;
genauso wie
Delphi-Quellcode:
class function TResourceMeldung.GetOffset(lg: integer): integer;
var
buffer : array[0..1023] of Widechar;
ls : integer;
begin
Result := 0;
ls := LoadStringW(hInstance, lg, @buffer, length(buffer));
if ls <> 0 then Result := strtoint(buffer^);
end;
Danke an alle für die Unterstützung !