Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Variable in Stream schreiben (https://www.delphipraxis.net/75942-variable-stream-schreiben.html)

SnuffMaster23 27. Aug 2006 15:36


Variable in Stream schreiben
 
Ich habe ein Problem mit folgendem Code:

Delphi-Quellcode:
procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
var Bufr: string;
begin
  Bufr := Edit1.Text;
  AResponseInfo.ContentStream := TMemoryStream.Create;
  AResponseInfo.ContentStream.WriteBuffer('<h1>Mein Server</h1>', 20);
  AResponseInfo.ContentStream.WriteBuffer(Bufr, Length(Bufr));
  AResponseInfo.ContentStream.WriteBuffer('
<hr />', 13);
  AResponseInfo.ContentStream.WriteBuffer(ARequestInfo.RemoteIP, Length(ARequestInfo.RemoteIP));
  AResponseInfo.WriteContent;
  AResponseInfo.ContentStream.Free;
end;
Die String-Konstanten kommen wunderbar im Browser an, Bufr und RemoteIP dagegen nicht, da krieg ich wirres Zeug das bei jedem Aufruf wechselt.

//Edit: Also IdHTTPServer hat nichts damit zu tun, es landet schon falsch im Stream wie folgende Zeile zeigt:
Delphi-Quellcode:
(AResponseInfo.ContentStream as TMemoryStream).SaveToFile('test.txt');

Muetze1 28. Aug 2006 17:32

Re: Variable in Stream schreiben
 
Hättest du vor dem Erstellem des Threads mit der Suche beschäftigst, wüsstest du 2 Dinge:

1. Es gibt haufenweise Leute vor dir mit dem gleichen Problem
2. es gibt eine Lösung die alle mit Begründung bekamen

Der String ist ein Zeiger und daher schreibst du die Adresse der Stringdaten und folgenden RAM Inhalt in deinen Stream. Abhilfe schafft hier die Angabe des 1. Zeichens des Strings:

Delphi-Quellcode:
WriteBuffer(Buffr[1], Length(Buffr));

SnuffMaster23 29. Aug 2006 11:49

Re: Variable in Stream schreiben
 
Hm okay, werd das nächste Mal suchen.
Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:00 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