+ implemented reading of the LNAMES omf record

git-svn-id: trunk@30968 -
This commit is contained in:
nickysn 2015-06-01 14:25:51 +00:00
parent e5a05f2c27
commit 28f7f16fc7

View File

@ -121,7 +121,12 @@ interface
TOmfObjInput = class(TObjInput)
private
FLNames: TOmfOrderedNameCollection;
FRawRecord: TOmfRawRecord;
function ReadLNames(RawRec: TOmfRawRecord): Boolean;
property LNames: TOmfOrderedNameCollection read FLNames;
public
constructor create;override;
destructor destroy;override;
@ -890,16 +895,30 @@ implementation
TOmfObjInput
****************************************************************************}
function TOmfObjInput.ReadLNames(RawRec: TOmfRawRecord): Boolean;
var
LNamesRec: TOmfRecord_LNAMES;
begin
Result:=False;
LNamesRec:=TOmfRecord_LNAMES.Create;
LNamesRec.Names:=LNames;
LNamesRec.DecodeFrom(RawRec);
LNamesRec.Free;
Result:=True;
end;
constructor TOmfObjInput.create;
begin
inherited create;
cobjdata:=TOmfObjData;
FLNames:=TOmfOrderedNameCollection.Create;
FRawRecord:=TOmfRawRecord.Create;
end;
destructor TOmfObjInput.destroy;
begin
FRawRecord.Free;
FLNames.Free;
inherited destroy;
end;
@ -923,6 +942,7 @@ implementation
InputFileName:=AReader.FileName;
objdata:=CObjData.Create(InputFileName);
result:=false;
LNames.Clear;
FRawRecord.ReadFrom(FReader);
if not FRawRecord.VerifyChecksumByte then
begin
@ -943,9 +963,8 @@ implementation
end;
case FRawRecord.RecordType of
RT_LNAMES:
begin
{todo}
end;
if not ReadLNames(FRawRecord) then
exit;
RT_SEGDEF,RT_SEGDEF32:
begin
{todo}