Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


out of memory

Postades av 2002-06-16 09:08:27 - Mouhannad Al-Sayegh, i forum visual basic - allmänt, Tråden har 13 Kommentarer och lästs av 579 personer

hej!!

jag har gjort ett program i vb som funkar utmärkt ... det enda problemet är att efter ett tag som man kör programmet kommer ett felmeddelande som säger att det inte finns ledigt minne ... jag har 512Mb Ram-minne, så det kan inte vara felet på minnet ...

kan nån vara snäll och nämna de flesta och vanligaste fel som programmerare gör som programmet tar hela minnet ...??

Tack så hemskt mycket!


Svara

Sv: out of memory

Postades av 2002-06-16 09:25:03 - Sven Åke Persson

Hej
Har du någon kod i tex någon Text_Change eller någon
annan kontrolls Change Event.

Har du någen Subrutin som gör sk rekursivt anrop ?

undrar
Sven


Svara

Sv: out of memory

Postades av 2002-06-16 09:28:08 - Mouhannad Al-Sayegh

jag har hört att man om uppdaterar de här filerna kommer det inte att bli fel igen ...

Riched32.dll
OleAut32.dll

är det sant?? ... hur kan man hitta de??

MVH


Svara

Sv: out of memory

Postades av 2002-06-16 10:00:02 - Sven Åke Persson

Igen
Du bör ha servicepack 5 för VB 6 kan hämtas här

http://www.pellesoft.nu/login/sysdoc/servpacks.asp

DS


Svara

Sv: out of memory

Postades av 2002-06-16 18:08:16 - Mouhannad Al-Sayegh

alltså det är samma problem ... kan ingen hjläpa mig ...

jag kör winsock (som kan hantera mer än en klient), databas och timer i programmet ...


Svara

Sv: out of memory

Postades av 2002-06-16 18:31:22 - Sven Åke Persson

Hej
Hur skall man kunna det när man inte ser någon kode.

Du måste lägga in en Errorhandler som med msgbox
meddelar var i kedjan det händer.

Om du har någon hint om var det händer
kan du först i den Sub/Funktion lägga in ett
On Error GoTo memoryError

' Här ligger all din misstänkta kod
' Lägg in detta i alla SubRutiner

SubOk:
Exit Sub
memoryError:
MsgBox "Det blev fel i Sub bla bla bla"
On Error Goto 0
Resume SubOk
End Sub


Svara

Sv: out of memory

Postades av 2002-06-16 21:11:50 - Raderat konto

Om jag var du skulle jag först och främst ta reda på om det verkligen är ett minnesfel du får genom att kontrollera i aktivitetshanteraren hur mycket minne processen till din applikation tar upp. Om du ser att det växer kraftigt och blir onormalt hög minnesanvändning kan du antagligen vara säker på att det är något i din koden som genererar enormt mycket minnesanvändning.

MEN det behöver inte vara det som orsakar problemet. Det kan vara exempelvis vara problem med ActiveX-kontroller. Jag har själv stött på problemet med "Out of memory" i samband med användningen av FM20.dll (Microsoft Forms 2.0).

Gör en sökning på webben på det felnummer som visas i samband med felet och se ifall det har och göra med något annat än rena källkoden. You never know what you might find!!!!


Svara

Sv: out of memory

Postades av 2002-06-17 16:40:55 - Mouhannad Al-Sayegh

alltså jag kommer att bli galen av detta problemet ... jag har provat alla lösningar som microsoft har på sin hemsida när man stötter på detta problemet ... och jag får det inte att funka

jag har kollat hur mycket minne mitt program tar och det är inte alls så mycket .. och även när det händer det problemet så har inte minnet minskat eller höjt .... så det kan inte vara på minnet .. tror jag i alla fall

och det med var i texten problemet ligger i kan jag inte heller veta ... det vissar olika hela tiden ... jag har laggt On Error GoTo er över nästan hela min kod ... :)

snälla nån hjälp ...!!


Svara

Sv: out of memory

Postades av 2002-06-17 16:54:33 - Sven Åke Persson

Hej igen
1. Har du någon okontrollerad loop i programmet
dvs du har en loop som ha som vilkor att loopen
skall gå tills vilkoret är uppfyllt.
Do untill minvariabel = 0 tex ,om den aldrig blir 0
så susar det ju på i evighet, bör vara minvariabel < 0
Du skriver att du har en Timer , den koden är misstänkt

ge dig inte
Sven


Svara

Sv: out of memory

Postades av 2002-06-17 19:45:05 - Mouhannad Al-Sayegh

kan man skriva detta:

<code>
Private Sub sckHost_ConnectionRequest(Index As Integer, ByVal requestID As Long)

On Error GoTo er

sckHost(sckHost.UBound).Close
txt_stats.Text = sckHost(sckHost.UBound).State
sckHost(sckHost.UBound).Accept requestID
Load sckHost(sckHost.UBound + 1)
With sckHost(sckHost.UBound)
.LocalPort = 5555
.Listen
End With

If sckHost(sckHost.UBound).State = sckOutOfMemory Then
MsgBox "out of memory, kick kick kick", vbOKOnly
Dim Client As Integer
For Client = 0 To sckHost.UBound
sckHost(Client).Close
Next Client
With sckHost(Index)
.Close
.LocalPort = 5555
.Listen
End With
End If

er:

End Sub
</code>



är detta rätt

<code>
sckHost(sckHost.UBound).Close
txt_stats.Text = sckHost(sckHost.UBound).State
sckHost(sckHost.UBound).Accept requestID
</code>

eller ska det vara

<code>
sckHost(Index).Close
txt_stats.Text = sckHost(Index).State
sckHost(Index).Accept requestID
</code>

Vad är skillnad ???


MVH


Svara

Sv: out of memory

Postades av 2002-06-21 20:50:44 - Mouhannad Al-Sayegh

jag misstänker att det kan vara från databasen som jag har ...

koden är:

först när man öppnar programmet så laddas textboxen från databasen:

<code>
Private Sub Form_Load()

databas.OpenRec "select * from Man" & txt_mon.Text - 1

While Not Recordset.EOF
txt_totigar.Text = Recordset("Total")
txt_totmon.Text = Recordset("Total_mon")
Recordset.MoveNext
Wend

databas.CloseRec

End Sub
</code>


och sen när man stänger programmet så sparas informationen i databasen:

<code>
Private Sub Form_Unload(Cancel As Integer)

databas.OpenRec "select * from Man" & txt_mon.Text - 1
Recordset.AddNew
Recordset.Fields("Dag") = txt_dag.Text
Recordset.Fields("Datorer") = txt_dator.Text
Recordset.Fields("Ovrigt") = txt_ovr.Text
Recordset.Fields("Total") = txt_tot.Text
Recordset.Fields("Total_mon") = txt_totmon.Text
Recordset.Fields("Skillnad") = txt_skil.Text
Recordset.Update
databas.CloseRec

End Sub
</code>

och när jag ska öppna informtionen som finns i databasen genom att välja i en combobox:

<code>
Private Sub Combo1_Click()
lst_dag.Clear
lst_dator.Clear
lst_ovr.Clear
lst_tot.Clear
lst_skil.Clear
lbl_totmon.Caption = ""
databas.OpenRec "select * from Man" & Combo1.ListIndex
While Not Recordset.EOF
lbl_totmon.Caption = Recordset("Total_mon") & " kr"
If lst_dag.ListCount < 37 And lst_dator.ListCount < 37 And lst_ovr.ListCount < 37 And lst_tot.ListCount < 37 And lst_skil.ListCount < 37 Then
lst_dag.AddItem Recordset("Dag") & " kr"
lst_dator.AddItem Recordset("Datorer") & " kr"
lst_ovr.AddItem Recordset("Ovrigt") & " kr"
lst_tot.AddItem Recordset("Total") & " kr"
lst_skil.AddItem Recordset("Skillnad") & " kr"
End If
Recordset.MoveNext
Wend
databas.CloseRec
End Sub
</code>

och för att ta bort en databas tabell:

<code>
databas.OpenRec "DELETE FROM Man" & Combo1.ListIndex
</code>


kan nån se om det finns fel ...???


JAG VILL TACKA ALLA SOM HAR HJÄLPT MIG OCH SVARAT PÅ MINA SVAR I DENNA INLÄGG .... TACK SÅ HEMSKT MYCKET !!

MVH


Svara

Sv: out of memory

Postades av 2002-06-22 13:34:57 - Sven Åke Persson

Hej
Kliade i mina programmerings fingrar när jag såg din kod.
Så här skulle jag skriva

Do Until Recordset.EOF
txt_totigar.Text = Recordset("Total")
txt_totmon.Text = Recordset("Total_mon")
Recordset.MoveNext
Loop
databas.CloseRec

Detta är ju helmysko varför skall TextBoxarn fladdras genom
i en loop .? Varför inte istället skriva
If Recordset.EOF Then
txt_totigar.Text = Recordset("Total")
txt_totmon.Text = Recordset("Total_mon")
Else
Recordset.MoveLast
txt_totigar.Text = Recordset("Total")
txt_totmon.Text = Recordset("Total_mon")
End if
Eller ännu bättre varför inte koppla TextBoxarna direkt
till sina respektive Fält ?

Do Until Recordset.EOF
lbl_totmon.Caption = Recordset("Total_mon") & " kr"
If lst_dag.ListCount < 37 Then
If lst_dator.ListCount < 37 Then
If lst_ovr.ListCount < 37 Then
If lst_tot.ListCount < 37 Then
If lst_skil.ListCount < 37 Then
lst_dag.AddItem Recordset("Dag") & " kr"
lst_dator.AddItem Recordset("Datorer") & " kr"
lst_ovr.AddItem Recordset("Ovrigt") & " kr"
lst_tot.AddItem Recordset("Total") & " kr"
lst_skil.AddItem Recordset("Skillnad") & " kr"
End If
End If
End If
End If
End If
Recordset.MoveNext
Loop

Varför : Jo om ditt första If är False så finns dert ingen anledning
att kolla de andra alternativen.
Sen när man ser det på detta vis kommer frågan
kan det hända att de övriga ListBoxarna är > 37 när
lst_dag.ListCount < 37 (den första) ? ?

Ta det på rätt sätt , detta är inget "besserwisser " inlägg

mvh
Sven


Svara

Sv: out of memory

Postades av 2002-06-25 15:47:15 - Mouhannad Al-Sayegh

jag har löst problemet ... yesyesyes
den har varit på i två dagar utan fel .. äntligen ... wow

jag vill bara tacka SvenPon och alla andra som har svarat och försökt hjälpa mig ... tack

problemet var i winsock .. jag provade en annan variant som jag hittade på internet och det funkar perfekt .. jag ska när jag har tid lägga det i "Tips & tricks" ....

tack till alla igen...peace


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 607
27 953
271 709
574
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies