AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Geeigneter Variablentyp für dynamischen Buffer
Thema durchsuchen
Ansicht
Themen-Optionen

Geeigneter Variablentyp für dynamischen Buffer

Ein Thema von ichbins · begonnen am 21. Jan 2006 · letzter Beitrag vom 22. Jan 2006
Antwort Antwort
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#1

Geeigneter Variablentyp für dynamischen Buffer

  Alt 21. Jan 2006, 19:28
Hallo,

ich versuche jetzt schon 3 Tage vergeblich eine geeignet Variable für einen dynamischen Buffer zu finden.

Ich brauche einen Buffer, der praktisch unendlich groß werden kann (eine Anwendung: Bytewarteschlange zum Schreiben in Datei),
der aber bei seiner Standardgröße (4 KB) auch eben nur 4 KB (meinetwegen auch 5) belegt.

Bisher habe ich versucht das zu verwenden:
Delphi-Quellcode:
tbytebuffer=array of byte;
//zur Weitergabe als Funktionsparameter
pbytebuffer=^tbytebuffer;
darauf war aber nach einer blockread-Anwendung kein Zugriff mehr (EAccessError, ich denke, weil das Längebyte überschrieben wurde).

Es funktioniert zwar, wenn ich die blockread-Anweisung nicht soblockread(f,buf,4096,res) sondern soblockread(f,pointer(integer(@buf)+4)^,4096,res) aufrufe, aber dann habe ich auf einmal keinen Zugriff mehr auf einen Stringfunktionsparameter

was würdet ihr mir als Buffertyp empfehlen?
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Geeigneter Variablentyp für dynamischen Buffer

  Alt 21. Jan 2006, 23:22
Array of Byte ist schon OK, aber du weißt vielleicht nicht, dass ein dynamisches Array, welches du hier deklarierst, bereits einen Zeiegr auf die tatsächlichen Daten darstellt. Ein Zeiger auf das Array ist also in der TAt ein Zeiger auf einen Zeiger.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#3

Re: Geeigneter Variablentyp für dynamischen Buffer

  Alt 21. Jan 2006, 23:29
Wars nichtpbuf := @tbuf[0]; ? Beziehungsweise, bei direktem Verwenden, einfach buf[0]?
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Geeigneter Variablentyp für dynamischen Buffer

  Alt 22. Jan 2006, 07:39
Danke

ich probiers mal aus:

im blockread auf buf[0] verweisen und pbuf = tbuf
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  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 18:47 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