(源自:
http://community.youkuaiyun.com/expert/Topicview1.asp?id=4950441)
function LoadStr(Ident: Integer): string;
begin
Result := FindStringResource(Ident);
end;
->
function FindStringResource(Ident: Integer): string;
var
StrData: TStrData;
begin
StrData.Ident := Ident;
StrData.Str := '';
EnumResourceModules(EnumStringModules, @StrData);
Result := StrData.Str;
end;
->
function EnumStringModules(Instance: Longint; Data: Pointer): Boolean;
{$IFDEF MSWINDOWS}
var
Buffer: array [0..1023] of char;<------------------这里!!!尝试修改这个的大小看看:)
begin
with PStrData(Data)^ do
begin
SetString(Str, Buffer,
LoadString(Instance, Ident, Buffer, sizeof(Buffer)));
Result := Str = '';
end;
end;
{$ENDIF}
{$IFDEF LINUX}
var
rs: TResStringRec;
Module: HModule;
begin
Module := Instance;
rs.Module := @Module;
with PStrData(Data)^ do
begin
rs.Identifier := Ident;
Str := LoadResString(@rs);
Result := Str = '';
end;
end;
{$ENDIF}
function LoadStr(Ident: Integer): string;
begin
Result := FindStringResource(Ident);
end;
->
function FindStringResource(Ident: Integer): string;
var
StrData: TStrData;
begin
StrData.Ident := Ident;
StrData.Str := '';
EnumResourceModules(EnumStringModules, @StrData);
Result := StrData.Str;
end;
->
function EnumStringModules(Instance: Longint; Data: Pointer): Boolean;
{$IFDEF MSWINDOWS}
var
Buffer: array [0..1023] of char;<------------------这里!!!尝试修改这个的大小看看:)
begin
with PStrData(Data)^ do
begin
SetString(Str, Buffer,
LoadString(Instance, Ident, Buffer, sizeof(Buffer)));
Result := Str = '';
end;
end;
{$ENDIF}
{$IFDEF LINUX}
var
rs: TResStringRec;
Module: HModule;
begin
Module := Instance;
rs.Module := @Module;
with PStrData(Data)^ do
begin
rs.Identifier := Ident;
Str := LoadResString(@rs);
Result := Str = '';
end;
end;
{$ENDIF}