Die resource hacker analysieren die binären Daten der Resource. Übrigens, das mit deinen empty strings macht mich nachdenklich. Das
WIN32 API kann nicht zwischen leeren oder fehlenden string resourcen unterscheiden - deshalb mein code weiter oben...
marabu
PS: Auch wenn LoadString für leere und fehlende string resourcen die Länge 0 ermittelt - natürlich liefert GetLastError ERROR_RESOURCE_NAME_NOT_FOUND (1814) wenn nötig:
Delphi-Quellcode:
// funktioniert nur bei fortlaufender ID
function GetMaxStringID(start: integer): integer;
begin
Result := start;
repeat
if (LoadStr(Result) = '')
and (GetLastError = ERROR_RESOURCE_NAME_NOT_FOUND)
then Break
else Inc(Result);
until false;
if Result = start
then Result := -1
else Result := Pred(Result);
end;
Aber du hast ja dein Problem gelöst...