Prüfen, ob ein Bericht bestimmte Objekte beinhaltet

Gilt ab List & Label 23
Mit dem folgenden DOM-Code können Sie prüfen, ob eine Projektdatei beispielsweise PDF- und/oder Grafikobjekte beinhaltet:
//Check for image and PDF objects via DOM-API

// Create new ProjectList
ProjectList pf = new ProjectList(LL);
pf.Open(@"<Path>\<Reportname>.lst", LlDomFileMode.Open, LlDomAccessMode.ReadWrite, LlDomSettings.IgnoreErrors);

//Read out image objects
foreach (ObjectBase obj in pf.Objects.OfType<ObjectDrawing>())
{
    MessageBox.Show(obj.Name);
}

//Read out PDF objects
foreach (ObjectBase obj in pf.Objects.OfType<ObjectPdf>())
{
    MessageBox.Show("Filename: " + (obj as ObjectPdf).Definition.Source.FileInfo.FileName + "\nName: "+ (obj as ObjectPdf).Name);
}


Eine Besonderheit stellen OLE-Container dar. Um zu prüfen, ob eine Projektdatei eines oder mehrere dieser Objekte beinhaltet, muss diese geparst werden:

//Object counter
int ObjectOleCount = 0;

string Report = @"<Path>\<Reportname>.lst";
string Line;

//Read the file and display it line by line
System.IO.StreamReader file = new System.IO.StreamReader(Report);
while ((Line = file.ReadLine()) != null)
{
       if (Line.Contains("OLE Container"))
       {
              ObjectOleCount++;
              System.Console.WriteLine("#" + ObjectOleCount + ": "+ Line);
        }
...
}
IDKBTD001354 KBTD001354