AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TMemoryStream -> SetSize

Ein Thema von chaoslion · begonnen am 9. Okt 2010 · letzter Beitrag vom 9. Okt 2010
Antwort Antwort
chaoslion

Registriert seit: 1. Mär 2006
52 Beiträge
 
#1

TMemoryStream -> SetSize

  Alt 9. Okt 2010, 22:39
Delphi-Version: 2010
Hey Leute,

wenn ich einem MemoryStream per SetSize Speicher von, in meinem Beispiel 20 Bytes, alloziere, dann
werden den ersten 2 Wörtern der Wert 4797940 bzw. 0xF4354900 zugeweisen und allen nachfolgenden 0.
Wieso erlaubt sich der Stream diese Freiheit und wie kann man das unterbinden ?

schönen Abend noch!

Geändert von chaoslion ( 9. Okt 2010 um 22:41 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: TMemoryStream -> SetSize

  Alt 9. Okt 2010, 22:41
Das hat mit dem Stream nichts zu tun. Das sind nur Werte, die zufällig da im Speicher stehen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
chaoslion

Registriert seit: 1. Mär 2006
52 Beiträge
 
#3

AW: TMemoryStream -> SetSize

  Alt 9. Okt 2010, 22:42
Immer dieselben?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: TMemoryStream -> SetSize

  Alt 9. Okt 2010, 22:44
Zufall. Eventuell schreibt auch dein Programm vorher da was hin. Und da das immer das gleiche ist, sind es auch immer die gleichen Werte.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
chaoslion

Registriert seit: 1. Mär 2006
52 Beiträge
 
#5

AW: TMemoryStream -> SetSize

  Alt 9. Okt 2010, 22:46
Ach ja, der liebe Speicher..
Nagut ich danke Dir, erspart weiteres Unit durchforsten
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: TMemoryStream -> SetSize

  Alt 9. Okt 2010, 22:50
Den Grund herauszufinden mag ja ganz interessant sein, aber letztendlich ist es egal, da du ja wahrscheinlich selber Daten reinschreibst und so die nicht initialisierten Daten so wie so überschreibst. Es interessiert also nicht, was da vorher stand.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
chaoslion

Registriert seit: 1. Mär 2006
52 Beiträge
 
#7

AW: TMemoryStream -> SetSize

  Alt 9. Okt 2010, 22:55
Nein, da hast Du ja Recht. Ich dachte nur, gerade wegen der immer gleichen Zahl, dass es irgendwo mutwillig reingeschrieben wird..(warum auch immer)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: TMemoryStream -> SetSize

  Alt 9. Okt 2010, 23:00
Der Prozess alloziiert irgendwann Speicher, nutzt ihn und gibt in wieder frei. Dabei bleiben natürlich die Werte erhalten. Jetzt kommst du mit deinem Stream setzt die Größe und erwischt die Adressen, die vorher schon mal genutzt wurden mit deren Inhalt. Und da wahrscheinlich immer das gleiche abläuft, sind auch die Werte immer gleich. Das war jetzt noch mal die Langfassung.
Michael
Ein Teil meines Codes würde euch verunsichern.
  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 17:03 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