2
0
Эх сурвалжийг харах

+ implemented TOmfRecord_EXTDEF.DecodeFrom

git-svn-id: trunk@30584 -
nickysn 10 жил өмнө
parent
commit
cea67320bf
1 өөрчлөгдсөн 15 нэмэгдсэн , 2 устгасан
  1. 15 2
      compiler/omfbase.pas

+ 15 - 2
compiler/omfbase.pas

@@ -972,9 +972,22 @@ implementation
   { TOmfRecord_EXTDEF }
 
   procedure TOmfRecord_EXTDEF.DecodeFrom(RawRecord: TOmfRawRecord);
+    var
+      NextOfs: Integer;
+      Name: string;
+      TypeIndex: Integer;
+      ExtName: TOmfExternalNameElement;
     begin
-      {TODO: implement}
-      internalerror(2015040101);
+      if RawRecord.RecordType<>RT_EXTDEF then
+        internalerror(2015040301);
+      NextOfs:=0;
+      while NextOfs<(RawRecord.RecordLength-1) do
+        begin
+          NextOfs:=RawRecord.ReadStringAt(NextOfs,Name);
+          NextOfs:=RawRecord.ReadIndexedRef(NextOfs,TypeIndex);
+          ExtName:=TOmfExternalNameElement.Create(ExternalNames,Name);
+          ExtName.TypeIndex:=TypeIndex;
+        end;
     end;
 
   procedure TOmfRecord_EXTDEF.EncodeTo(RawRecord: TOmfRawRecord);