AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein EAccessViolation beim Schreiben von Daten in Datei oder Stream

EAccessViolation beim Schreiben von Daten in Datei oder Stream

Ein Thema von DualCoreCpu · begonnen am 3. Aug 2015 · letzter Beitrag vom 4. Aug 2015
Antwort Antwort
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#1

AW: EAccessViolation beim Schreiben von Daten in Datei oder Stream

  Alt 4. Aug 2015, 07:12
Es fehlt allerdings noch das Exceptionhandling. Und für die Pfadnamen verwende doch besser die TPath und TDirectory records.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.252 Beiträge
 
Delphi 12 Athens
 
#2

AW: EAccessViolation beim Schreiben von Daten in Datei oder Stream

  Alt 4. Aug 2015, 08:08
Ist es überhaupt empfelenswert TWriter für Records zu benutzen ?

Zitat:
Do not directly create writer objects. Writers are automatically created in stream object methods or in global routines that initiate the streaming process. These include:

The global routine ObjectTextToBinary procedure, which directly creates a writer.
The global WriteComponentResFile function, which creates a file stream that creates a writer.
The WriteDescendent method of TStream, which creates a writer object.
Das ist doch eigentlich für Component-Streaming gedacht, habe das zumindest nie für
andere Zwecke ausprobiert.

Rollo
  Mit Zitat antworten Zitat
DualCoreCpu
(Gast)

n/a Beiträge
 
#3

AW: EAccessViolation beim Schreiben von Daten in Datei oder Stream

  Alt 4. Aug 2015, 10:39
Es fehlt allerdings noch das Exceptionhandling.
Ok, danke. Werd ich in der fertigen Version berücksichtigen.

Und für die Pfadnamen verwende doch besser die TPath und TDirectory records.
TDirectory gibt e sin D7 auf jeden Fall, aber TPath???? Ab welcher Delph Version also gibt es Tpath? Neben Delphi 7 habe ich noch Turbo Delphi und Lazarus Portable Version 1.2.6 mit fpc Version 2.6.4.

Allerdings verstehe ich den Einwand nicht. Ich habe zum Erhalt des Directoties die Funktion GetCurrent Dir verwendet, weil mein Tesfile im Verzeichnis der Testanwendung liegt.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.785 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: EAccessViolation beim Schreiben von Daten in Datei oder Stream

  Alt 4. Aug 2015, 10:47
GetCurrentDir
Returns the name of the current directory.

GetCurrentDir returns the fully qualified name of the current directory.

Es liefert also nicht zwangsläufig den Pfad Deiner Anwendung zurück.

ExtractFilePath(ParamStr(0)) wäre vielleicht sinnvoller.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: EAccessViolation beim Schreiben von Daten in Datei oder Stream

  Alt 4. Aug 2015, 10:50
Sorry, ich konnte nirgendwo die verwendete Delphi Version sehen. Du solltest das aber trotzdem besser so machen (geht auch mit D7):
Directory := IncludeTrailingPathDelimiter(ExtractFilePath(Paramstr(0))); Wie teilweise auch schon von Klaus vorgeschlagen.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: EAccessViolation beim Schreiben von Daten in Datei oder Stream

  Alt 4. Aug 2015, 11:14
Ich hab gerade mal in mein D7 geschaut:
Zitat:
Instanzen von TDirectory werden für Verzeichnisse in einem Dateisystem verwendet.

Unit

QFileCtrls

Beschreibung

Mithilfe eines TDirectory-Objekts können andere Komponenten mit einem Verzeichnis interagieren. Die andere Komponente (der Client) kann durch die TDirectory-Instanz Informationen zum Inhalt des Verzeichnisses verwalten und verschiedene Dateioperationen durchführen.

Der Client muss zur Kommunikation mit dem Verzeichnisobjekt die Schnittstelle IDirectoryClient implementieren.

Ein TDirectory-Objekt führt eine interne Liste der Dateien im Verzeichnis. Auf diese gefilterte Liste kann mit den Eigenschaften und Methoden des Objekts zugegriffen werden.

Die Klasse TDirectory kann direkt oder als Basisklasse für neue Verzeichnisobjekte verwendet werden. Sie enthält verschiedene virtuelle Methoden, die in abgeleiteten Klassen überschrieben werden können.
Scheint aber nicht für Windows gedacht zu sein?
oder hab ich da etwas falsch verstanden?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.882 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: EAccessViolation beim Schreiben von Daten in Datei oder Stream

  Alt 4. Aug 2015, 11:27
Zitat:
Scheint aber nicht für Windows gedacht zu sein?
Unter anderem.

Das Unit-Präfix weist auf CLX hin
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

AW: EAccessViolation beim Schreiben von Daten in Datei oder Stream

  Alt 4. Aug 2015, 11:58
Es fehlt allerdings noch das Exceptionhandling.
Ok, danke. Werd ich in der fertigen Version berücksichtigen.
Und warum nicht jetzt gleich zur Fehlersuche?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz