vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Objekt löschen 
Autor: Beule
Datum: 01.09.06 16:04

Vielen Dank für deine schnelle antwort!, doch leider löst dies mein problem nicht, ich versuche es etwas genauer zu erklären.

Class sammlung_do
    Dim test As String
    Event sammelfree()
    Public Sub do_sammlung()
        Dim _datei As String
        Dim lang As Int16
        Dim verzeichnislang As Int16
        Dim zeile As String
        Dim sammeltext As String
        Dim _pfad As String
        Dim verzeichnis As String
        Dim verzeichnis_ As String
        Dim sammelfile As String
        Dim sfile As String
        Dim cn_ As OleDbConnection
        Dim cmd_ As OleDbCommand
        Dim dr_ As OleDbDataReader
        Dim suchverzeichnis As String
        Dim moveverzeichnis As String
 
        Dim counttest As Int16
        Dim array(0)
 
        SyncLock sd_queue.syncroot
            _datei = sd_queue.Dequeue
        End SyncLock
        SyncLock sp_queue.syncroot
            _pfad = sp_queue.Dequeue
        End SyncLock
        Do
            Try
                Dim sr = New StreamReader(_pfad)
                test = sr.ReadLine()
                sr.close()
                Exit Do
            Catch ex As Exception
                Thread.Sleep(1000)
            End Try
        Loop
 
        lang = Len(_datei)
        verzeichnislang = Len(_pfad)
        lang = verzeichnislang - lang
        verzeichnis = Left(_pfad, lang)
        cn_ = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data" & _
          "Source=C:\tgol\Job\Job\Job.mdb;")
        cn_.Open()
        suchverzeichnis = Left(_pfad, lang - 1)
        cmd_ = New OleDbCommand("Select sfile FROM tbl_job where pfad = '" & _
          suchverzeichnis & "'", cn_)
        dr_ = cmd_.ExecuteReader
 
        While dr_.Read()
            sfile = dr_(0)
        End While
        dr_.Close()
        cn_.Close()
 
        verzeichnis_ = verzeichnis & sfile
        moveverzeichnis = verzeichnis & "processed\" & _datei
 
        If _datei = sfile Then
            RaiseEvent sammelfree()
            Exit Sub
        End If
        Try
            Dim oRead As StreamReader = New StreamReader(_pfad)
            Dim oWrite As StreamWriter = New StreamWriter(verzeichnis_, True)
 
            zeile = oRead.ReadToEnd()
            oWrite.WriteLine(zeile)
            oRead.Close()
            oWrite.Close()
 
            File.Move(_pfad, moveverzeichnis)
            File.Delete(_pfad)
        Catch ex As Exception
            MsgBox("vb.net stinkt " & _datei)
        End Try
 
        _datei = ""
        lang = 0
        verzeichnis = ""
        zeile = ""
        sammeltext = ""
        _pfad = ""
        verzeichnis = ""
        sammelfile = ""
        sfile = ""
        suchverzeichnis = ""
        moveverzeichnis = ""
 
        cn_ = Nothing
        cmd_ = Nothing
        dr_ = Nothing
        RaiseEvent sammelfree()
 
    End Sub
End Class
wenn ich Public Sub do_sammlung() ca. 600 mal hindereinander aufrufe bekomme ich einen stackoverflow auf dr_ = cmd_.ExecuteReader. gibt es eine möglichkeit dies zu verhindern?
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Objekt löschen2.729Beule01.09.06 15:57
Re: Objekt löschen980Moderatorralf_oop01.09.06 16:00
Re: Objekt löschen1.028Beule01.09.06 16:04
Re: Objekt löschen895ModeratorDaveS01.09.06 17:46
Re: Objekt löschen882Beule05.09.06 09:13

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel