Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Fehler bei Laden einer URL in einen Stream (https://www.delphipraxis.net/29599-fehler-bei-laden-einer-url-einen-stream.html)

jfheins 11. Sep 2004 16:58


Fehler bei Laden einer URL in einen Stream
 
Bei folgendem Quelltext
Delphi-Quellcode:
 IdHTTP1 := TIdHTTP.Create(Self);
 IdHTTP1.Get(Edit2.Text, Stream);
 ListBox1.Items.LoadFromStream(Stream);
 IdHTTP1.Free; // Hier ist der grüne Pfeil links am Rand
kommen folgende Fehlermeldungen:
Code:
---------------------------
Wortkette
---------------------------
Zugriffsverletzung bei Adresse 00415B04 in Modul 'Wortkette.exe'. Lesen von Adresse 00000000.
---------------------------
OK  
---------------------------

Sprint 11. Sep 2004 17:16

Re: Fehler bei Laden einer URL in einen Stream
 
Das kann verschiedene Gründe haben.
Ersteinmal musst du vor dem laden das Stream wieder auf Position 0 setzen.
Kann auch sein, das du gar kein TStream erstellt hast oder das was mit der URL nicht stimmt.

Ein Beispiel wie's aussehen kann...
Delphi-Quellcode:
var
  MS: TMemoryStream;
  HTTP: TIdHTTP;
  URL: String;
  SL: TStringList;
begin

  HTTP := TIdHTTP.Create(nil);
  MS := TMemoryStream.Create;
  SL := TStringList.Create;
  URL := 'http://www.delphipraxis.net';

  try
    HTTP.Get(URL, MS);
    MS.Position := 0;
    SL.LoadFromStream(MS);
    ShowMessage(SL.Text);
  finally
    SL.Free;
    MS.Free;
    HTTP.Free;
  end;

end;

himitsu 11. Sep 2004 17:17

Re: Fehler bei Laden einer URL in einen Stream
 
Also, da ja der Preil in der Zeile ist, die als nächstes ausgeführt wird, ist wohlk der Fehler in "ListBox1.Items.LoadFromStream(Stream);" zu suchen, da die ja der letzte Befehl war, welcher ausgeführt wurde.

Vermutlich wurde der Stream nicht richtig installiert, oder es ist ein anderer Fehler.

Hast du den Stream auch initialisiert?
Und IdHTTP1 wird wirklich erstellt und ist nicht zufällig eine fertige Komponente auf deinem Form?
Die gewünschte Datei existiert auch?
...



PS: Wieso machst du es eigentlich über 'nen Stream ... ein String reicht doch auch?
z.B.:
Delphi-Quellcode:
IdHTTP1 := TIdHTTP.Create(Self);
ListBox1.Items.Text := IdHTTP1.Get(Edit2.Text);
IdHTTP1.Free;

jfheins 11. Sep 2004 17:37

Re: Fehler bei Laden einer URL in einen Stream
 
Erledigt.

siehe himitsu unten


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