Synapse
Synapse
Hallo alle,
ich verwende Lazarus in der aktuellsten Version in Verbindung mit Synapse. Nun möchte ich in einem TImage-Object ein (kleines) Bild (jpg) anzeigen, welches aber auf einem entfernten Server liegt. Verwende ich nun FTP oder HTTP? Mit beiden hatte ich bisher leider keinen Erfolg . Sowohl "Login", "Logout" als auch "ftpdownload" (und andere Funktionen) funktionieren aber einwandfrei...
Beim TImage-Object gibt es ja die Möglichkeit "...LoadFromFile..." oder "...LoadFromStream..." anzuwenden, aber leider ist es mir bisher nicht gelungen das Bild über ftp in einen Stream zu laden und dann dem TImage-Object zu übergeben...
Kann mir jemand einen Tipp geben?
ich verwende Lazarus in der aktuellsten Version in Verbindung mit Synapse. Nun möchte ich in einem TImage-Object ein (kleines) Bild (jpg) anzeigen, welches aber auf einem entfernten Server liegt. Verwende ich nun FTP oder HTTP? Mit beiden hatte ich bisher leider keinen Erfolg . Sowohl "Login", "Logout" als auch "ftpdownload" (und andere Funktionen) funktionieren aber einwandfrei...
Beim TImage-Object gibt es ja die Möglichkeit "...LoadFromFile..." oder "...LoadFromStream..." anzuwenden, aber leider ist es mir bisher nicht gelungen das Bild über ftp in einen Stream zu laden und dann dem TImage-Object zu übergeben...
Kann mir jemand einen Tipp geben?
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: Synapse
Du musst das bild zuerst runterladen das machst du mit httpsend.
Nachdem das heruntergehaladen ist liegts im Stream Document von httpsend.
von dort kannsts mit Image.Picture.Loadfromstream laden
Nachdem das heruntergehaladen ist liegts im Stream Document von httpsend.
von dort kannsts mit Image.Picture.Loadfromstream laden
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Re: Synapse
Hallo Christian,
leider erfolgt sofort eine Fehlermeldung zu Beginn der Routine 'HTTPSender.HTTPMethod('GET', URL)'
Das macht aber gar keinen Sinn...
Udo
leider erfolgt sofort eine Fehlermeldung zu Beginn der Routine 'HTTPSender.HTTPMethod('GET', URL)'
Code: Alles auswählen
begin
{initial values}
Result := False;
FResultCode := 500;
Das macht aber gar keinen Sinn...
Udo
-
- Beiträge: 957
- Registriert: Mo 11. Sep 2006, 22:56
Re: Synapse
http://synapse.ararat.cz/doku.php/publi ... tpdownload
wäre ein Beispiel für http
Allerdings scheint es mir so,als ob du selbst nicht genau weißt,was du da tust.
Der Unterschied zwischen FTP oder HTTP sollte einem schon klar sein bevor man sich an eine Problemlösung macht.
wäre ein Beispiel für http
Allerdings scheint es mir so,als ob du selbst nicht genau weißt,was du da tust.
Der Unterschied zwischen FTP oder HTTP sollte einem schon klar sein bevor man sich an eine Problemlösung macht.
Re: Synapse
Hallo,
der Unterschied ist mir schon klar....nur bei dem Wetter vertippt man sich schon mal....und haut anständig daneben...
Aber spätestens beim Aufruf erscheint die Fehlermeldung "JPEG Error...Bad address..."
Udo
der Unterschied ist mir schon klar....nur bei dem Wetter vertippt man sich schon mal....und haut anständig daneben...
Aber spätestens beim Aufruf
Code: Alles auswählen
jpg.LoadFromStream(Document)
Udo
Re: Synapse
Evtl. falsches Bild-Format (kein jpg????)!
Kannst ja mal analog oben geposteten Bsp folgendes probieren:
- neues Projekt
- ein Button und ein TImage auf die Form plazieren
dann:Funktioniert, eben getestet!
Falls nicht, bitte Fehlertext und Fehlerposition posten!
Kannst ja mal analog oben geposteten Bsp folgendes probieren:
- neues Projekt
- ein Button und ein TImage auf die Form plazieren
dann:
Code: Alles auswählen
uses ..., HTTPSend; //Falls nicht gefunden: unter Projekt -> Projekteinstellungen -> Compilereinstellungen -> Pfade -> andere Units: den Pfad von Synapse einstellen
...
procedure TForm1.Button1Click(Sender: TObject);
begin
with THTTPSend.Create do
begin
if HTTPMethod('GET','http://upload.wikimedia.org/wikipedia/commons/b/b5/Lazarus_0.9.7.png') then
try
Image1.Picture.LoadFromStreamWithFileExt(Document,'png');
except
Application.MessageBox('Cannot display','Error', 0);
end;
Free;
end;
end;
Falls nicht, bitte Fehlertext und Fehlerposition posten!
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
Re: Synapse
Hallo,
der Code läuft soweit einwandfrei. Ersetze ich nun die URL durch meine eigene, bekomme ich leider die Fehlermeldung:
Natürlich, ist ja auch ein JPG. JPGs funktionieren direkt in der IDE unter "picture" aber leider nicht als Stream...oder ich habe etwas übersehen...
Selbst bei Angabe der korrekten Dateiendung
erscheint der Fehler:
Udo
der Code läuft soweit einwandfrei. Ersetze ich nun die URL durch meine eigene, bekomme ich leider die Fehlermeldung:
Code: Alles auswählen
Debuggerausnahmen-Nachricht
PNGImageException
This is not PNG-Data
Natürlich, ist ja auch ein JPG. JPGs funktionieren direkt in der IDE unter "picture" aber leider nicht als Stream...oder ich habe etwas übersehen...
Selbst bei Angabe der korrekten Dateiendung
Code: Alles auswählen
Image1.Picture.LoadFromStreamWithFileExt(Document,'JPG');
erscheint der Fehler:
Code: Alles auswählen
JPEG Error bei Adresse XYZ
Udo
Re: Synapse
Verstehe ich nicht, bitte kompletten Code posten! Evtl. hast du vergessen, den Stream als 'jpg' zu definieren?!
eben getestet:funktioniert!
Wollt eigentlich kein jpg einer Drittseite verlinken, weiss nicht, ob das legitim ist, habe aber auf die Schnelle kein anderes gefunden (ansonsten entferne ich die URL wieder)!
[EDIT] Huch, "LoadFromStreamWithFileExt(Document,'jpg');" , hast du in der Zwischenzeit gepostet! Bitte kompletten Code posten!
eben getestet:
Code: Alles auswählen
if HTTPMethod('GET','http://www.archispass.org/wp-content/uploads/2007/02/hallo.jpg') then
try
Image1.Picture.LoadFromStreamWithFileExt(Document,'jpg'); //hier sagst du, dass der vorliegende Stream als jpg gelesen werden soll
Wollt eigentlich kein jpg einer Drittseite verlinken, weiss nicht, ob das legitim ist, habe aber auf die Schnelle kein anderes gefunden (ansonsten entferne ich die URL wieder)!
[EDIT] Huch, "LoadFromStreamWithFileExt(Document,'jpg');" , hast du in der Zwischenzeit gepostet! Bitte kompletten Code posten!
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
Re: Synapse
Hallo,
kann das sein, das es nur an der exakten groß/kleinschreibung von "jpg" liegt? Schreibe ich "JPG" funktionierts, bei "jpg" nicht mehr...
kann das sein, das es nur an der exakten groß/kleinschreibung von "jpg" liegt? Schreibe ich "JPG" funktionierts, bei "jpg" nicht mehr...
Re: Synapse
Code: Alles auswählen
Image1.Picture.LoadFromStreamWithFileExt(Document,'jpg'); //funktioniert!
Image1.Picture.LoadFromStreamWithFileExt(Document,'JPG'); //funktioniert!
Image1.Picture.LoadFromStreamWithFileExt(Document,'Jpg'); //auch das funktioniert
Code: Alles auswählen
HTTPMethod('GET','http://www.archispass.org/wp-content/uploads/2007/02/hallo.jpg'); //funktioniert
HTTPMethod('GET','http://www.archispass.org/wp-content/uploads/2007/02/hallo.JPG'); //funktioniert nicht, da Datei nicht vorhanden!
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
Re: Synapse
Hallo an alle Helfenden,
gut dass man darüber reden kann, dann kommt man meistens Kleinigkeiten auf die Spur die man einfach nicht mehr sieht...nun funktioniert es so wie ich möchte. War eine unglückliche Kombination von Groß/Kleinschreibung....
Danke an alle
Udo
gut dass man darüber reden kann, dann kommt man meistens Kleinigkeiten auf die Spur die man einfach nicht mehr sieht...nun funktioniert es so wie ich möchte. War eine unglückliche Kombination von Groß/Kleinschreibung....
Danke an alle
Udo