Selaa lähdekoodia

pastojs: fixed iterate ancestor interfaces

git-svn-id: trunk@39183 -
Mattias Gaertner 7 vuotta sitten
vanhempi
commit
f450b898f9

+ 5 - 7
packages/fcl-web/examples/simpleserver/simpleserver.lpi

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <CONFIG>
   <ProjectOptions>
-    <Version Value="10"/>
+    <Version Value="11"/>
     <General>
       <Flags>
         <MainUnitHasCreateFormStatements Value="False"/>
@@ -13,9 +13,6 @@
       <UseAppBundle Value="False"/>
       <ResourceType Value="res"/>
     </General>
-    <VersionInfo>
-      <StringTable ProductVersion=""/>
-    </VersionInfo>
     <BuildModes Count="1">
       <Item1 Name="Default" Default="True"/>
     </BuildModes>
@@ -23,9 +20,10 @@
       <Version Value="2"/>
     </PublishOptions>
     <RunParams>
-      <local>
-        <FormatVersion Value="1"/>
-      </local>
+      <FormatVersion Value="2"/>
+      <Modes Count="1">
+        <Mode0 Name="default"/>
+      </Modes>
     </RunParams>
     <Units Count="1">
       <Unit0>

+ 17 - 16
packages/pastojs/src/fppas2js.pp

@@ -11020,24 +11020,25 @@ var
     Lit: TJSObjectLiteralElement;
   begin
     Intf:=Map.Intf;
-    for i:=0 to Map.Procs.Count-1 do
-      begin
-      MapItem:=TObject(Map.Procs[i]);
-      if not (MapItem is TPasProcedure) then continue;
-      Proc:=TPasProcedure(MapItem);
-      ProcName:=TransformVariableName(Proc,FuncContext);
-      IntfProc:=TObject(Intf.Members[i]) as TPasProcedure;
-      IntfProcName:=TransformVariableName(IntfProc,FuncContext);
-      if IntfProcName=ProcName then continue;
-      if ObjLit=nil then
+    if Map.Procs<>nil then
+      for i:=0 to Map.Procs.Count-1 do
         begin
-        ObjLit:=TJSObjectLiteral(CreateElement(TJSObjectLiteral,El));
-        Call.AddArg(ObjLit);
+        MapItem:=TObject(Map.Procs[i]);
+        if not (MapItem is TPasProcedure) then continue;
+        Proc:=TPasProcedure(MapItem);
+        ProcName:=TransformVariableName(Proc,FuncContext);
+        IntfProc:=TObject(Intf.Members[i]) as TPasProcedure;
+        IntfProcName:=TransformVariableName(IntfProc,FuncContext);
+        if IntfProcName=ProcName then continue;
+        if ObjLit=nil then
+          begin
+          ObjLit:=TJSObjectLiteral(CreateElement(TJSObjectLiteral,El));
+          Call.AddArg(ObjLit);
+          end;
+        Lit:=ObjLit.Elements.AddElement;
+        Lit.Name:=TJSString(IntfProcName);
+        Lit.Expr:=CreateLiteralString(El,ProcName);
         end;
-      Lit:=ObjLit.Elements.AddElement;
-      Lit.Name:=TJSString(IntfProcName);
-      Lit.Expr:=CreateLiteralString(El,ProcName);
-      end;
     if Map.AncestorMap<>nil then
       AddMapProcs(Map.AncestorMap,Call,ObjLit,FuncContext);
   end;