Ich habe gerade noch etwas Forschungsarbeit betrieben...
Die Meldung ist in
kernel32.dll abgelegt.
Mit einem (guten) Resourceneditor (z.B.
http://www.wilsonc.demon.co.uk/d7resourceexplorer.htm) kann man sich die "MessageTable" von kernel32.dll anzeigen lassen.
Das Problem scheint daran zu liegen, dass SysErrorMessage max 255 Zeichen liefen kann.
Folgendes klappt aber:
Delphi-Quellcode:
function ErrorMessageFromModule(ErrorCode: Integer; hm:HModule):
string;
var
Len: Integer;
begin
SetLength(Result, 2048-16);
// das sollte in 2kb gerade noch reinpassen
Len := FormatMessage(FORMAT_MESSAGE_FROM_HMODULE
(*or
FORMAT_MESSAGE_ARGUMENT_ARRAY*) or FORMAT_MESSAGE_IGNORE_INSERTS, Pointer(hm), ErrorCode, 0, PChar(Result),
Length(Result),
nil);
while (Len > 0)
and (Result[Len - 1]
in [#0..#32, '
.'])
do Dec(Len);
SetLength(Result, Len);
end;
ShowMessage(ErrorMessageFromModule(1219, GetModuleHandle('
kernel32.dll')));