ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
4697
4697
EMPFEHLEN
-
26.06.06 10:22 #1
- 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:
Wenn ich versuche den Debugger mir die Stelle im Code anzeigen zu lassen, bekomm ich die Meldung, dass dafür keine Code vorhanden ist.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.
Ist mir ein Rätsel. Weiß jemand woran das liegen kann ? Ich schreib noch nicht lange Programme in VB.Net.
MfG FrankGeändert von bleifresser (26.06.06 um 10:28 Uhr)
-
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?
-
26.06.06 11:02 #3
- 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
-
Was ich gerade gesehen hab:
oPowerPoint.ActivePresentation.SaveAs("C:\Temp\....
Das kann nicht funktionieren. Genauso bei DirectoryInfo.Delete. Entweder \\ verwenden, oder @"C:\Temp"...
-
26.06.06 11:31 #5
- 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)
-
Ja, nicht genau geguckt .. du verwendest ja Visual Basic ...
Ähnliche Themen
-
Ordner Rekursiv durchsuchen
Von Thalin im Forum .NET Windows FormsAntworten: 1Letzter Beitrag: 14.05.08, 13:05 -
Ordner rekursiv durchsuchen
Von Thalin im Forum .NET DatenverwaltungAntworten: 1Letzter Beitrag: 08.04.08, 12:07 -
Verzeichnis rekursiv durchsuchen und Dateien und leere Ordner löschen
Von muuuh im Forum C/C++Antworten: 0Letzter Beitrag: 16.08.06, 09:36 -
Ordner (rekursiv) mit Passwort schuetzen?
Von Suchfunktion im Forum HTML & XHTMLAntworten: 2Letzter Beitrag: 01.06.06, 13:14 -
Ordner rekursiv durchsuchen
Von LordDeath im Forum .NET ArchivAntworten: 4Letzter Beitrag: 27.02.04, 15:45





Zitieren
Login





