AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Maximale Größe für Records beim Speichern mit TFileStream?
Thema durchsuchen
Ansicht
Themen-Optionen

Maximale Größe für Records beim Speichern mit TFileStream?

Ein Thema von jus · begonnen am 23. Aug 2011 · letzter Beitrag vom 26. Aug 2011
Antwort Antwort
jus

Registriert seit: 22. Jan 2005
343 Beiträge
 
Delphi 2007 Professional
 
#1

Maximale Größe für Records beim Speichern mit TFileStream?

  Alt 23. Aug 2011, 11:08
Delphi-Version: 2007
Hallo,

ich habe da ein myteriöses Problem beim Speichern von Records mit TFileStream mit writebuffer hängt sich dieser in einer Endlosschleife bei einer Ausgabe mit Memo-Feld auf/ oder der schreibt nicht das rein, was ich haben will. Meine Frage ist gibt es für Records eine maximale Grösse mit writebuffer? Ich frage das nämlich deswegen, weil ich vorher mit einer kleineren Recordversion nie Probleme mit dem Speichern gehabt habe.

Lg,
jus

Geändert von jus (23. Aug 2011 um 11:11 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.135 Beiträge
 
Delphi 12 Athens
 
#2

AW: Maximale Größe für Records beim Speichern mit TFileStream?

  Alt 23. Aug 2011, 12:04
Nein, es gibt da kein Sperre ... abgesehn von den maximal 2/4 GB für Write, WriteBuffer, Read und ReadBuffer (bin mir grade nicher sicher, ob Cardinal oder Integer)
und an diese Grenze wirst du garantiert nicht gestoßen sein.


Wie sieht dein Record aus und wie speicherst du diesen?

Und was meinst du mit "bei einer Ausgabe mit Memo-Feld"?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (23. Aug 2011 um 12:07 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Maximale Größe für Records beim Speichern mit TFileStream?

  Alt 23. Aug 2011, 12:06
... einer Ausgabe mit Memo-Feld auf ...
Wie soll das Memo-Feld bei einem Record aussehen?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
jus

Registriert seit: 22. Jan 2005
343 Beiträge
 
Delphi 2007 Professional
 
#4

AW: Maximale Größe für Records beim Speichern mit TFileStream?

  Alt 25. Aug 2011, 23:03
Nein, es gibt da kein Sperre ... abgesehn von den maximal 2/4 GB für Write, WriteBuffer, Read und ReadBuffer (bin mir grade nicher sicher, ob Cardinal oder Integer)
und an diese Grenze wirst du garantiert nicht gestoßen sein.


Wie sieht dein Record aus und wie speicherst du diesen?

Und was meinst du mit "bei einer Ausgabe mit Memo-Feld"?
Danke für eure Antworten. Ich war am Ende mit meinem Latein und habe dann die wildesten Theorien aufgestellt. Intuitiv kann ich mir auch nicht vorstellen, dass bei Record abgesehen von der 32bit Schranke 2/4GB eine Beschränkung existiert. Aber man kann ja nie wissen.
Um kurz noch auf die Frage zu antworten, ich speichere den Record mit der Filestream Methode Writebuffer.
Letztendlich meine ich, dass ich den Fehler gefunden habe. Der Fehler lag irgendwo in den Aufrufen von WMI. Ich habe nun die Abfragen ohne WMI gelöst und es scheint alles reibungslos zu funktionieren. Was ich aber extrem arg finde ist, dass meine Abfragen mit WMI anscheinend dazu geführt haben, dass auch Programmcode überschrieben wurde. Ich hatte plötzlich in meinem Programm eine Endlosschleife drin, wo im Sourcecode keine war. In diesem Zusammenhang hatte ich das mit das mit Memo-Feld(Memo.Lines.Add...) erwähnt. Ein weiterer Nebeneffekt war, dass Writebuffer irgendwie einen falschen Speicherbereich vom Record in die Datei schrieb.
Ein kurzes Resümee, das "Record abspeichern" Problem ist gelöst und ich muß mich mal wirklich mit WMI-Aufrufe beschäftigen, um irgendwelche Speicherlecks zu umgehen.

Lg,
jus

Geändert von jus (26. Aug 2011 um 09:19 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.135 Beiträge
 
Delphi 12 Athens
 
#5

AW: Maximale Größe für Records beim Speichern mit TFileStream?

  Alt 26. Aug 2011, 08:03
Kommt drauf an, welche der wenigen WMI-Komponenten du verwendest.

Einige haben nette nur Speicherlecks und Andere können bestimmt auch schonmal den einen oder anderen Bufferoverun besitzen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz