AGB  ·  Datenschutz  ·  Impressum  







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

PChar aus TFileStream lesen

Ein Thema von Rangarig · begonnen am 16. Jan 2005 · letzter Beitrag vom 16. Jan 2005
Antwort Antwort
Rangarig

Registriert seit: 7. Jan 2005
Ort: Jena
9 Beiträge
 
Delphi 5 Standard
 
#1

PChar aus TFileStream lesen

  Alt 16. Jan 2005, 19:25
Hallo,

ich möchte einen PChar aus einen TFileStream lesen, aber es folgenter Fehler: EAccessViolation.


Hier mein Code:
Delphi-Quellcode:
...
var
len : integer;
temp : PChar;
f : TFileStream;
...
f.Read(len, sizeof(len));
if (len > 0) then
begin
f.Read(temp, len);
end;
Ich habe auch ausprobiert, indem ich den Read-Befhel auskommentiert habe, da lief es ohne Probleme.


Danke schoneimal in Vorraus.
René
Alles sollte so einfach gemacht werden wie möglich, nur nicht einfacher. (Albert Einstein)
  Mit Zitat antworten Zitat
tommie-lie
(Gast)

n/a Beiträge
 
#2

Re: PChar aus TFileStream lesen

  Alt 16. Jan 2005, 19:53
Ein PChar ist ein Pointer auf einen nullterminierten String. Für den musst du Speicher reservieren und für um an den Speicher ranzukommen musst du den Pointer dereferenzieren, denn TFileStream.Read schreibt in einen Speicherbereich.
Du musst dir also mit GetMem soviele Bytes reservieren, wie du für den String brauchst, und beim lesen den Pointer dereferenzieren und TFileStream.Read somit nicht einfach eine Variable mit einer Adresse, sondern die Adresse selbst geben.
  Mit Zitat antworten Zitat
Rangarig

Registriert seit: 7. Jan 2005
Ort: Jena
9 Beiträge
 
Delphi 5 Standard
 
#3

Re: PChar aus TFileStream lesen

  Alt 16. Jan 2005, 23:44
Danke tommi-lie. Ich habe die Änderungen vorgenommen und jetzt funktioniert es.
René
Alles sollte so einfach gemacht werden wie möglich, nur nicht einfacher. (Albert Einstein)
  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 19:40 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