Announcement

Collapse
No announcement yet.

Speicherbedarf von PowerPoint-Objekten

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Speicherbedarf von PowerPoint-Objekten

    Hallo,

    gibt es eine Möglichkeit, den Speicherbedarf von Powerpoint-Objekten (Slide, Shape) festzustellen?

    Bei meinem ersten Versuch habe ich mit D6Pro das gewünschte Shape oder Slide in eine Dummy-Präsentation übertragen und die Änderung der Dateigröße bestimmt:

    <PRE>
    function GetSlideMemSize(ASlide:OLEVariant) : integer;
    var
    i : integer;
    n : integer;
    begin
    i := ASlide.SlideIndex;
    TestPresentation.Save;
    n := GetFileSize(TestPresentationFile);
    TestPresentation.Slides.InsertFromFile(ActPresenta tion.FullName, 0, i, i);
    TestPresentation.Save;
    result := GetFileSize(TestPresentationFile) - n;
    TestPresentation.Slides.Item(1).Delete;
    end;

    function GetShapeMemSize(AShape:OLEVariant) : integer;
    var
    n : integer;
    slide : OLEVariant;
    begin
    if TestPresentation.Slides.Count>0
    then slide := TestPresentation.Slides.Item(1)
    else slide := TestPresentation.Slides.Add(1, ppLayoutBlank);
    TestPresentation.Save;
    n := GetFileSize(TestPresentationFile);
    slide.Shapes.AddShape(AShape.Type, AShape.Left, AShape.Top, AShape.Width, AShape.Height);
    TestPresentation.Save;
    result := GetFileSize(TestPresentationFile) - n;
    Slide.Delete;
    end;
    </PRE>

    ("GetFileSize" ermittelt darin über einen Aufruf von "FindFirst" die aktuelle Dateigröße.)

    Allerdings fällt mir dabei auf, dass einige Folien einen Speicherbedarf < 0 aufzeigen, und dass der Speicherbedarf einer Folie viel größer ist als die Summe des Speicherbedarfs der einzelnen Shapes. Beides deutet darauf hin, dass mit dem obigen Vorgehen etwas nicht stimmt.

    Weiß jemand Rat?

    Danke - Werner

  • #2
    Es gibt in Office generell die Möglichkeit der Schnellspeicherung. Diese Option solltest Du mal ausschalten und dann noch mal prüfen.<p>
    Schöne Grüße, Mario Noac
    Schöne Grüße, Mario

    Comment


    • #3
      Ist ausgeschaltet.

      Wie ist das mit dem Schreibcache der Festplatte? Wenn ich eine Datei speichere und sofort hinterher, wenn die Datei wegen des Chache noch gar nicht auf der Platte ist, die Dateigröße abfrage, bekomme ich dann die aktuelle Dateigröße

      Comment


      • #4
        Hallo Werner,<p>
        darauf würde ich mich nicht verlassen, bei Access-Datenbanken bin ich da schon ganz übel reingefallen.<p>
        Schöne Grüße, Mario Noac
        Schöne Grüße, Mario

        Comment


        • #5
          Mario, das habe ich befürchtet. Aber eigentlich gefällt mir die Lösung mit den Speichern eh' nicht. Gibt es denn keine andere Methode, die Größe der Slides etc. zu ermitteln? In der TLB zumindest bin ich nicht fündig geworden

          Comment


          • #6
            Also das mit den Access-Datenbanken muss für diesen Fall nicht zwingend gelten, aber es ist eine Möglichkeit. Aber als Idee: Wenn Du das Slice in die Zwischenablage kopierst, kannst Du deren Größe bestimmen?<p>
            Schöne Grüße, Mario Noac
            Schöne Grüße, Mario

            Comment


            • #7
              Klingt interessant - allerdings mache ich dann den bisherigen Inhalt der Zwischenablage kaputt. Und: Wie kopiere ich ein Automationsobjekt in die Zwischenablage? Wie erhält man den vom Objekt in der Zwischenablage belegten Speicher

              Comment

              Working...
              X