| 
 We add some aux funtions in 0.9.7.598 nightly build. If this version installed, below script can be used to walk all module files from the project group. 
 
{*******************************************************} 
{                                                       } 
{       Pascal Script Source File                       } 
{       Run by RemObjects Pascal Script in CnWizards    } 
{                                                       } 
{       Generated by CnPack IDE Wizards                 } 
{                                                       } 
{*******************************************************} 
 
program WalkingAllFiles; 
 
uses 
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; 
 
var 
  PG: IOTAProjectGroup; 
  P: IOTAProject; 
  I, J, C1, C2: Integer; 
begin 
  PG := CnOtaGetProjectGroup; 
  if PG = nil then 
  begin 
    Writeln('NO ProjectGroup. Exit.'); 
    Exit; 
  end; 
  C1 := CnOtaGetProjectCountFromGroup(); 
  Writeln('ProjectGroup got. Count ' + IntToStr(C1)); 
 
  for I  := 0 to C1 - 1 do 
  begin 
    P := CnOtaGetProjectFromGroupByIndex(I); 
    if P <> nil then 
    begin 
      Writeln('Project ' + IntToStr(I) + '. Project File Name ' + P.GetFileName); 
      C2 := CnOtaGetModuleCountFromProject(P); 
      Writeln('Project ' + IntToStr(I) + '. Project Module Count ' + IntToStr(C2)); 
      for J := 0 to C2 - 1 do 
        Writeln('Project ' + IntToStr(I) + ' . File ' + IntToStr(J) + 
          '. File Name ' + CnOtaGetModuleFromProjectByIndex(P, J).GetFileName); 
     end; 
  end; 
end. 
 |