tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
4697
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    bleifresser bleifresser ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Beiträge
    48
    Hallo,

    es gibt zwar einen (oder mehrere Beiträge?) zu diesem Thema, aber leider war noch keine Lösung für mein Problem.

    Das Szenario:

    Ich öffne eine PPT Datei und lasse die Presentation als JPG Dateien speichern. Dabei legt PowerPoint einen Ordner an und speichert die JPEG Dateien darin. Nachdem die JPEG's von meinem Programm umkopiert wurden, soll der Ordner gelöscht werden.
    Hier ein wenig Code
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    oPowerPoint = CreateObject("PowerPoint.Application.9") 
    [...] 
    oPowerPoint.ActivePresentation.SaveAs("C:\Temp\" + folderName, PowerPoint.PpSaveAsFileType.ppSaveAsJPG)
     [...]  
    Dim tempFolder As New DirectoryInfo("C:\Temp\" + folderName) 
    [...] 
    Directory.Delete(tempFolder.FullName, True)

    folderName ist ein String, in dem nur der reine Ordnername steht. Es funktioniert auch alles, bis der Ordner gelöscht wird. Es sind z.B. 4 Dateien in diesem Ordner, es werden aber nur 3 gelöscht und dann bekomm ich eine NullPointer Exception.
    Hier die Fehlermeldung:
    Code :
    1
    2
    3
    
    Eine nicht behandelte Ausnahme des Typs 'System.NullReferenceException' ist in mpERP Programmeditor.exe aufgetreten.
     
    Zusätzliche Informationen: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
    Wenn ich versuche den Debugger mir die Stelle im Code anzeigen zu lassen, bekomm ich die Meldung, dass dafür keine Code vorhanden ist.

    Ist mir ein Rätsel. Weiß jemand woran das liegen kann ? Ich schreib noch nicht lange Programme in VB.Net.

    MfG Frank
    Geändert von bleifresser (26.06.06 um 10:28 Uhr)
     

  2. #2
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Hallo Bleifresse,

    Drei Fragen:

    1) Powerpoint geschlossen und wieder freigegeben?
    2) Besitzt deine NullReferenceException eine InnerException die vielleicht etwas mehr aussagt?

    3) Schon mal den Debugger angeworfen um zu sehen wo genau der Fehler passiert?
     

  3. #3
    bleifresser bleifresser ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Beiträge
    48
    Code :
    1
    2
    3
    4
    5
    6
    
    oPowerPoint.ActivePresentation.SaveAs("C:\Temp\" + folderName, PowerPoint.PpSaveAsFileType.ppSaveAsJPG)
    oPowerPoint.ActivePresentation.Saved = True
    oPwerPoint.ActivePresentation.Close()
    oPowerPoint.Quit()
    System.Runtime.InteropServices.Marshal.ReleaseComObject(oPowerPoint)
    oPowerPoint = Nothing

    Das zu Frage 1 und zu Frage 2 & 3 siehe oben. (Ich habe den original Beitrag nochmal geädert)

    MfG Frank
     

  4. #4
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Was ich gerade gesehen hab:

    oPowerPoint.ActivePresentation.SaveAs("C:\Temp\....

    Das kann nicht funktionieren. Genauso bei DirectoryInfo.Delete. Entweder \\ verwenden, oder @"C:\Temp"...
     

  5. #5
    bleifresser bleifresser ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Beiträge
    48
    Ok, danke.

    Aber daran lag es nicht. Ich hab den Fehler gefunden:

    Ich habe die Bilder als Imageobjekte genutzt und die Objekte nicht wieder freigegeben. Mit Image.dispose() läuft das nun.

    Trotzdem Danke.

    P.S. Ich habe gerade nochmal in mehreren Büchern nachgeschaut und da sind alle Pfadangaben mit "C:\Temp" angegeben und nicht mit "C:\\Temp". Es funktioniert auch bei mir.
    Geändert von bleifresser (26.06.06 um 11:34 Uhr)
     

  6. #6
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Ja, nicht genau geguckt .. du verwendest ja Visual Basic ...
     

Ähnliche Themen

  1. Ordner Rekursiv durchsuchen
    Von Thalin im Forum .NET Windows Forms
    Antworten: 1
    Letzter Beitrag: 14.05.08, 13:05
  2. Ordner rekursiv durchsuchen
    Von Thalin im Forum .NET Datenverwaltung
    Antworten: 1
    Letzter Beitrag: 08.04.08, 12:07
  3. Antworten: 0
    Letzter Beitrag: 16.08.06, 09:36
  4. Ordner (rekursiv) mit Passwort schuetzen?
    Von Suchfunktion im Forum HTML & XHTML
    Antworten: 2
    Letzter Beitrag: 01.06.06, 13:14
  5. Ordner rekursiv durchsuchen
    Von LordDeath im Forum .NET Archiv
    Antworten: 4
    Letzter Beitrag: 27.02.04, 15:45