| |
VB.NET - Ein- und UmsteigerRe: In Datei schreiben funktioniert nicht! | | | Autor: Manfred X | Datum: 29.11.12 15:51 |
| Hallo!
Verwende eine Liste (String) statt einem Array.
Erstelle eine Instanz der Liste vor der Operation mit New
und hänge neue Error-Einträge mit Add an.
Beitrag wurde zuletzt am 29.11.12 um 15:52:07 editiert. | |
In Datei schreiben funktioniert nicht! | | | Autor: iComupterfreak | Datum: 29.11.12 14:37 |
| Hi, ich habe ein Problem. Wenn ich den unten angegebenen Code ausführe kommt immer wieder der Fehler, dass Der Objektverweis nicht auf eine Objektinstanz festgelegt ist. Das bedeutet ja normalerweise, dass ich was ohne New deklariert habe, aber ich habe ja mit New deklariert:
Dim logpath As String = "C:\Users\" & Environment.UserName & "\Desktop\" & _
Now.Day & "_" & Now.Month & ".log"
Dim sw As New IO.StreamWriter(logpath)
For Each fehler As String In errors()
sw.WriteLine(fehler)
Next
sw.Close() _______________________________________________________________________
Heute stehen wir am Abgrund. Morgen sind wir schon einen Schritt weiter.
iComputerfreak | |
Re: In Datei schreiben funktioniert nicht! | | | Autor: iComupterfreak | Datum: 29.11.12 15:10 |
| Ja das ist klar, da das Programm aber sowieso nur für mich ist, ist dies sowieso egal.
_______________________________________________________________________
Heute stehen wir am Abgrund. Morgen sind wir schon einen Schritt weiter.
iComputerfreak | |
Re: In Datei schreiben funktioniert nicht! | | | Autor: iComupterfreak | Datum: 29.11.12 15:12 |
| Passt jetzt zwar nicht zum Thema, aber was ist hier falsch? Es kommt wieder der gleiche Fehler
For i As Integer = 0 To Files.Length - 1
File = Files(i).Substring(Files(i).LastIndexOf("\") + 1)
Try
System.IO.File.Copy(Files(i), Dest & "\" & File, True)
Console.WriteLine(Files(i))
Catch ex As Exception
'Datei verwendet
errors(errorIndex) = Files(i).ToString
errorIndex += 1
End Try
Next i Der Fehler liegt im Catch Block bei
errors(errorIndex) = Files(i).ToString _______________________________________________________________________
Heute stehen wir am Abgrund. Morgen sind wir schon einen Schritt weiter.
iComputerfreak
Beitrag wurde zuletzt am 29.11.12 um 15:14:53 editiert. | |
Re: In Datei schreiben funktioniert nicht! | | | Autor: iComupterfreak | Datum: 29.11.12 15:52 |
| Und warum geht es so nicht?
_______________________________________________________________________
Heute stehen wir am Abgrund. Morgen sind wir schon einen Schritt weiter.
iComputerfreak | |
Re: In Datei schreiben funktioniert nicht! | | | Autor: Manfred X | Datum: 29.11.12 15:57 |
| Ich weiss nicht, ob, wie und in welcher Länge "errors"
deklariert worden ist. Und welche Werte weist Errorindex auf?
Bei Nutzung einer Liste wird die Länge dynamisch verwaltet und
der Index kann entfallen. | |
Re: In Datei schreiben funktioniert nicht! | | | Autor: iComupterfreak | Datum: 29.11.12 15:58 |
| Also die Länge des Arrays habe ich nicht festgelegt und Erroindex ist anfangs 0.
Dim errors() As String
Dim errorIndex As Integer = 0 _______________________________________________________________________
Heute stehen wir am Abgrund. Morgen sind wir schon einen Schritt weiter.
iComputerfreak | |
Re: In Datei schreiben funktioniert nicht! | | | Autor: Manfred X | Datum: 29.11.12 16:01 |
| Hallo!
Alles klar!
Ein Array muß eine bestimmte Länge haben.
Deine Deklaration erstellt noch kein Array.
Dim errors(50) as string 'Jetzt besitzt das Array 51 Elemente.
Beitrag wurde zuletzt am 29.11.12 um 16:02:38 editiert. | |
Re: In Datei schreiben funktioniert nicht! | | | Autor: iComupterfreak | Datum: 29.11.12 16:02 |
| Aber ich mach das sonst auch so und es hat bis jetzt immer funktioniert.
Sicher, dass es eine bestimmte länge haben muss?
_______________________________________________________________________
Heute stehen wir am Abgrund. Morgen sind wir schon einen Schritt weiter.
iComputerfreak | |
Re: In Datei schreiben funktioniert nicht! | | | Autor: Manfred X | Datum: 29.11.12 16:07 |
| Das funktioniert nur, wenn das Array von einer
Funktion erstellt wird, die intern ein Array in
benötigter Länge deklariert und eine Referenz auf
dieses Array zurückgibt.
Du solltest mit einer Liste arbeiten, wenn die Anzahl
der Elemente nicht von Anfang an feststeht.
(Die Methode "Array.Resize" würde man nur in
Ausnahmefällen verwenden - geringe Effizienz.)
Beitrag wurde zuletzt am 29.11.12 um 16:08:30 editiert. | |
Re: In Datei schreiben funktioniert nicht! | | | Autor: Manfred X | Datum: 29.11.12 16:14 |
| Hallo!
Das geht nur mit "Redim Preserve".
Bei kleineren Arrays kannst Du das machen.
Aber warum?
Listen bieten viel mehr Möglichkeiten und werden
fast genauso effizient verwaltet wie Arrays (ca. 80%). | |
Re: In Datei schreiben funktioniert nicht! | | | Autor: Manfred X | Datum: 29.11.12 16:15 |
| Ein Thema mit mehr als 10 Beiträgen wird gefackelt. | |
Re: In Datei schreiben funktioniert nicht! | | | Autor: iComupterfreak | Datum: 29.11.12 16:19 |
| Oder meinst du List(Of T)
_______________________________________________________________________
Heute stehen wir am Abgrund. Morgen sind wir schon einen Schritt weiter.
iComputerfreak | |
Re: In Datei schreiben funktioniert nicht! | | | Autor: Manfred X | Datum: 29.11.12 16:20 |
| Dim errors As New List(of String) | |
Re: In Datei schreiben funktioniert nicht! | | | Autor: iComupterfreak | Datum: 30.11.12 12:43 |
| Warum die Einträge beziehen sich doch (fast) alle auf das Thema
_______________________________________________________________________
Heute stehen wir am Abgrund. Morgen sind wir schon einen Schritt weiter.
iComputerfreak | |
| 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 |
|
|
sevWizard für VB5/6
Professionelle Assistenten im Handumdrehen
Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 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
|
|