Toon posts:

Geheugen leeg maken in Visual Basic

Pagina: 1
Acties:
  • 153 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb een programma geschreven om een webcam te bekijken, het starten en stop lukt perfect, het opslaan van een bmp file lukt ook. Het bmp dan direct omlaten zetten gaat ook nog goed. Maar alleen als ik die camera laat opnemen naar die jpg, dan zegt hij opdenduur dat het geheugen vol is, je ziet het ook ook meer worden in de taskmanager, als ik er zo'n 1000 (=1000 sec opname) heb gehad is het geheugen al 223.900 KB en dit neemt met ongeveer 300 kb per seconde toe.

Het opslaan gebeurt in een do while loop die pas stop als ik op de knop stop druk.

Nou is de vraag kan ik het geheugen leeg gooien.

"Het loopje"

Do While Not strRecord = "uit"
PauseTime = 1 'Pauze lengte
Start = Timer 'Start time.
Do While Timer < Start + PauseTime
DoEvents
Loop

'Bestandsnaam JPG file
Tijd = Date & "-" & Format(Time, "hh-mm-ss")
Filesave = "\Archief\" & Tijd & ".jpg"

If lnghWnd <> 0 Then
'Het opslaan van een BMP file
lngRet = capFileSaveDIB(lnghWnd, Filename)
'Het omzetten naar een JPG file
PicFormat321.SaveBmpToJpeg App.Path & "\capture.bmp", App.Path & Filesave, "65"
Else
MsgBox "Problem saving frame", vbInformation, App.Title
End If
Loop

"Einde loop"

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Geheugen leeg gaan maken als het vol is, is symptoombestrijding en een gevaarlijke zaak. Je zult resources die je niet meer gebruikt vrij moeten geven.

Verwijderd

Topicstarter
Weet jij toevallig hoe je die vrij moet geven in visual basic, want ik kan er niks over vinden op het internet

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Set objMelp = Nothing

[ Voor 8% gewijzigd door gorgi_19 op 14-07-2003 14:41 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Mayco
  • Registratie: Augustus 2002
  • Laatst online: 19-08 06:59
in basic zelf weet ik het niet, maar in de meeste andere talen is het object.free .

Verwijderd

ik denk dat het memory leak zit in

code:
1
capFileSaveDIB


Deze code heb je waarschijnlijk zelf geschreven en kun je redelijk eenvoudig debuggen

zit de fout daar niet in, dan zit hij in het 3th party component, welke je natuurlijk niet zelf ff aanpast. Het enige wat je dan nog kan proberen is dit:

code:
1
Set PicFormat321 = Nothing


zoals gorgi_19 al zegt...

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Hoi Moosthof,

Je bent de afgelopen 2 weken ongeveer 4 keer op de P&W Quickstart gewezen, waarvan 2 keer via email, en helaas verneuk je het nog steeds op deze puntjes:
• Je zet geen [VB] voor je topictitle
• Je gebruikt geen code-tags
• Je hebt geen seconde zelf gezocht/geprobeerd voordat je dit topic opende

Blijkbaar solliciteer je naar een ban, vooral zo doorgaan kunnen we het binnenkort vast en zeker regelen :/ Deze gaat in ieder geval dicht.

Professionele website nodig?

Pagina: 1

Dit topic is gesloten.