vb.net viele screenshots machen
lima-city → Forum → Programmiersprachen → Programmieren mit .NET & Mono
anfang
auftritt
code
computer
erstellen
erzeugen
erzeugung
fehler
gesamten ablauf
letzten zwei
objekt
passieren
pfad
point
schauen
stelle
string
system
text
versuchen
-
Mein Programm soll eine mengeSscreenshots machen aber nach einiger Zeit bekomme ich die Excepition:
"Eine Ausnahme (erste Chance) des Typs "System.ArgumentException" ist in System.Drawing.dll aufgetreten."
Hier ist mein Code:
Dim ScreenSize As Size = New Size(My.Computer.Screen.Bounds.Width, My.Computer.Screen.Bounds.Height) Dim BMP As New Bitmap(My.Computer.Screen.Bounds.Width, My.Computer.Screen.Bounds.Height) Dim g As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(BMP) g.CopyFromScreen(New Point(0, 0), New Point(0, 0), ScreenSize) Dim DirectoryA As String = FileDIR.Text Dim Frame1 As String = FileNUM.Text Dim img1 As String = FileType.Text FileNUM.Text = FileNUM.Text + 1 BMP.Save(DirectoryA & Frame1 & img1)
Was muss ich verändern ?
Ich habe es noch mal getestet und herausgefunden, dass diese Fehler immer bei exakt beim Bild 172 auftritt
Beitrag zuletzt geändert: 1.3.2011 21:13:37 von my-easytools -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo my-easytools,
ich gehe mal davon aus, dass FileDIR (="C:\...\" Pfad inklusive abschließendem Backslash) und FileType(=".bmp") im gesamten Ablauf gleich sind. D.h. alles, was sich ändert ist FileNUM. An Deiner Stelle würde ich mal schauen, was passiert, wenn Du FileNUM am Anfang schon auf 170 setzt. Wenn der Fehler dann auch bei 172 Auftritt, dann muss es irgendwo in den letzten zwei Zeilen passieren. Falls der Fehler bei FileNUM = 342 Auftritt (oder irgendwo da in der nähe), dann würde ich versuchen alle vermeidbaren 'new's wegzubekommen.
D.h. nicht jedesmal eine neue Bitmap erstellen sondern bei der Erzeugung des Objektes eine Bitmap erzeugen und diese wiederverwenden. Das gleiche evtl. auch mit ScreenSize, Point(0,0) und g. Wenn das dann funktioniert, dann ist es wohl ein Problem in der Speicherverwaltung der .NET-Runtime. -
darkpandemic schrieb:
Hallo my-easytools,
ich gehe mal davon aus, dass FileDIR (="C:\...\" Pfad inklusive abschließendem Backslash) und FileType(=".bmp") im gesamten Ablauf gleich sind. D.h. alles, was sich ändert ist FileNUM. An Deiner Stelle würde ich mal schauen, was passiert, wenn Du FileNUM am Anfang schon auf 170 setzt. Wenn der Fehler dann auch bei 172 Auftritt, dann muss es irgendwo in den letzten zwei Zeilen passieren. Falls der Fehler bei FileNUM = 342 Auftritt (oder irgendwo da in der nähe), dann würde ich versuchen alle vermeidbaren 'new's wegzubekommen.
D.h. nicht jedesmal eine neue Bitmap erstellen sondern bei der Erzeugung des Objektes eine Bitmap erzeugen und diese wiederverwenden. Das gleiche evtl. auch mit ScreenSize, Point(0,0) und g. Wenn das dann funktioniert, dann ist es wohl ein Problem in der Speicherverwaltung der .NET-Runtime.
Danke habe die News aus dem Timer ausgelagert und jetzt funktioniert alles wunderbar :) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage