mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-27 17:31:51 +01:00
* use resourcstring table again
git-svn-id: trunk@2979 -
This commit is contained in:
parent
e053f4272b
commit
ddfa0bd1dd
@ -240,20 +240,38 @@ Type
|
|||||||
CurrentValue,
|
CurrentValue,
|
||||||
DefaultValue : AnsiString;
|
DefaultValue : AnsiString;
|
||||||
HashValue : LongWord;
|
HashValue : LongWord;
|
||||||
|
{$ifdef cpu64}
|
||||||
|
Dummy : LongWord; // alignment
|
||||||
|
{$endif cpu64}
|
||||||
|
end;
|
||||||
|
|
||||||
|
TResourceStringTableList = Packed Record
|
||||||
|
Count : ptrint;
|
||||||
|
Tables : Array[Word] of record
|
||||||
|
TableStart,
|
||||||
|
TableEnd : PResourceStringRecord;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Var
|
Var
|
||||||
ResourceStrings : TResourceStringRecord; External Name 'FPC_RESOURCESTRINGS';
|
ResourceStringTable : TResourceStringTableList; External Name 'FPC_RESOURCESTRINGTABLES';
|
||||||
|
|
||||||
Procedure SetResourceStrings (SetFunction : TResourceIterator;arg:pointer);
|
Procedure SetResourceStrings (SetFunction : TResourceIterator;arg:pointer);
|
||||||
Var
|
Var
|
||||||
ResStr : PResourceStringRecord;
|
ResStr : PResourceStringRecord;
|
||||||
|
i : Longint;
|
||||||
begin
|
begin
|
||||||
ResStr:=@ResourceStrings;
|
With ResourceStringTable do
|
||||||
while ResStr^.Name<>'' do
|
|
||||||
begin
|
begin
|
||||||
ResStr^.CurrentValue:=SetFunction(ResStr^.Name,ResStr^.DefaultValue,ResStr^.HashValue,arg);
|
For i:=0 to Count-1 do
|
||||||
inc(ResStr);
|
begin
|
||||||
|
ResStr:=Tables[I].TableStart;
|
||||||
|
while ResStr<Tables[I].TableEnd do
|
||||||
|
begin
|
||||||
|
ResStr^.CurrentValue:=SetFunction(ResStr^.Name,ResStr^.DefaultValue,ResStr^.HashValue,arg);
|
||||||
|
inc(ResStr);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -261,12 +279,19 @@ end;
|
|||||||
Procedure ResetResourceTables;
|
Procedure ResetResourceTables;
|
||||||
Var
|
Var
|
||||||
ResStr : PResourceStringRecord;
|
ResStr : PResourceStringRecord;
|
||||||
|
i : Longint;
|
||||||
begin
|
begin
|
||||||
ResStr:=@ResourceStrings;
|
With ResourceStringTable do
|
||||||
while ResStr^.Name<>'' do
|
|
||||||
begin
|
begin
|
||||||
ResStr^.CurrentValue:=ResStr^.DefaultValue;
|
For i:=0 to Count-1 do
|
||||||
inc(ResStr);
|
begin
|
||||||
|
ResStr:=Tables[I].TableStart;
|
||||||
|
while ResStr<Tables[I].TableEnd do
|
||||||
|
begin
|
||||||
|
ResStr^.CurrentValue:=ResStr^.DefaultValue;
|
||||||
|
inc(ResStr);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -274,12 +299,19 @@ end;
|
|||||||
Procedure FinalizeResourceTables;
|
Procedure FinalizeResourceTables;
|
||||||
Var
|
Var
|
||||||
ResStr : PResourceStringRecord;
|
ResStr : PResourceStringRecord;
|
||||||
|
i : Longint;
|
||||||
begin
|
begin
|
||||||
ResStr:=@ResourceStrings;
|
With ResourceStringTable do
|
||||||
while ResStr^.Name<>'' do
|
|
||||||
begin
|
begin
|
||||||
ResStr^.CurrentValue:='';
|
For i:=0 to Count-1 do
|
||||||
inc(ResStr);
|
begin
|
||||||
|
ResStr:=Tables[I].TableStart;
|
||||||
|
while ResStr<Tables[I].TableEnd do
|
||||||
|
begin
|
||||||
|
ResStr^.CurrentValue:='';
|
||||||
|
inc(ResStr);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user