![]() |
Datenbank: Interbase • Version: XE2 • Zugriff über: IB
Fehlermeldung Falsches Streamformat auf einen Server
Guten Tag Delphianer,
in einer Tabelle habe ich ein Blob-Feld, in dem ein Bild, kann ein Jpg oder sonsiges Format sein, gespeichert. Wenn ich das Programm auf auf meinem PC aufrufe klappt alles wunderbar. Starte ich aber das Programm auf einen Server (SmallBusinessServer 2011), dann bekomme ich eine Fehlermeldung beim Starten des Programm: Ungültiges Stream-Format Wenn ich das Anzeigen der Blobfelder unterbinde, dann wird das Programm ohne eine Fehlermeldung ausgeführt. Wie so geht auf dem lokalen Rechner alles gut, aber auf dem Server nicht? Was muss ich den umprogrammieren damit es auf dem Server auch fehlerfrei läuft? Mit Gruß und vielen Dank für Eure Hilfen im Voraus. HPB |
AW: Fehlermeldung Falsches Streamformat auf einen Server
Auf dem Server ist Firebird 2.5 Server installiert.
Ich habe nun noch auf einen Laptop getestet. Firebird 2.5. Server installiert. Das Programm gestartet und es sind keine Fehlermeldungen ausgegeben worden. Kann es am SmallBusinessserver liegen? Irgendwelche Einstellungen?? Weis irgenjemand einen Rat? Mit Gruß HPB |
AW: Fehlermeldung Falsches Streamformat auf einen Server
Um die Fehlerstelle einzukreisen würde ich z.B. madExcept einsetzen und dann die Anwendung auf dem Server starten. Den Callstack der Absturzstelle dann hier posten, falls er aussagekräftig genug ist kann man die Ursache so leichter finden.
|
AW: Fehlermeldung Falsches Streamformat auf einen Server
Liste der Anhänge anzeigen (Anzahl: 1)
Guten Tag mjustin,
vielen Dank für den Hinweis. Ich habe nun die MadException installiert und das Programm auf dem Server gestartet. In der Anlage der Bugreport. Mir sagen die Meldungen im Report nicht allzuviel. Die Zeilen die ich meine habe ich mit //HPB gekennzeichnet. Es verwundert mich denn schon sehr, das das Programm auf meinem Rechner fehlerfrei funktioniert und nicht auf dem SBS. Aber vielleicht findet ja jemand, auf Grundlage des Bugreports, den Fehler. Mit Gruß HPB |
AW: Fehlermeldung Falsches Streamformat auf einen Server
Hallo,
AdvRichEditorBase 7425 +14 TAdvRichEditorBase.LoadFromStream unLogenDaten 338 +3 TOLogendaten.DoOpenTabelle Du musst immer von unten nach oben lesen. Oben steht der letzte Befehl. Es sieht so aus, als ob in der Tabelle der Programmeinstellungen bei der Server-DB bei diesem Datensatz keine RTF-Datei steht. Vielleicht ist das Feld ja sogar leer? Benutzt du wirklich die gleiche Datenbank? Kopiere doch mal die FDB aus dem SBS auf deinen Entwicklungsrechner. Heiko |
AW: Fehlermeldung Falsches Streamformat auf einen Server
Liste der Anhänge anzeigen (Anzahl: 1)
Danke für Deine Antwort hoika,
ich habe die DB vom Server auf meinen Rechner geladen. Ein Backup und ein Restore durchgeführt. Jetzt bekomme ich auch die gleiche Fehlermeldung wie auf dem Server. Im Debug wird der Fehler in der TMSComponete angezeigt. Siehe auch Screenshot. Ich glaube allerdings nicht das hier der Fehler ist. Folgendes habe ich nun versucht: Die Blobfelder im Formular herausgenommen. Eine ADVRichEditor Komponente auf das Formular gelegt und mit folgendem Code eingelesen:
Delphi-Quellcode:
Aber auch hier bekomme ich die gleiche Fehlermeldung und im Debug komme ich wieder
procedure TTMSFmRegistry.LeseUnterschriften;
var pSignaturDatei: string; pSignaturStream: TFileStream; pLeseSignatur: TFileStream; begin pSignaturDatei := GlobelPfad + '\MvStSignatur.dat'; // Ist dies das richtige Format?? pSignaturStream := TFileStream.Create(pSignaturDatei, fmCreate); dtmdMain.logendatenSIGNATURTEXT.SaveToStream(pSignaturStream); pSignaturStream.Free; pLeseSignatur := TFileStream.Create(pSignaturDatei, fmOpenRead); advrchdtr1.LoadFromStream(pSignaturStream); // advrchdtr.1 = TAdvRichEditor-Komponente pLeseSignatur.Free; DeleteFile(pSignaturDatei); end; zu der gleichen Stelle in der TMSKomponente. Kann es sein das ich ein falsches Dateiformat in der Variable "pSignaturDatei" verwende? Welches Format kann, soll, muss ich verwenden, wenn sowohl Text als auch Grafik in einem Blobfeld gespeichert sind? Mt Gruß HPB |
AW: Fehlermeldung Falsches Streamformat auf einen Server
Du gibst den Stream ja schon frei, bevor du den in den Richtext einliest...
Frank Warum machst du erst eine Datei? Geht es nicht direkt?
Delphi-Quellcode:
procedure TTMSFmRegistry.LeseUnterschriften; var pSignaturStream: TMemoryStream; begin pSignaturStream := TMemoryStream.Create; try dtmdMain.logendatenSIGNATURTEXT.SaveToStream(pSignaturStream); pSignaturStream.Position := 0; advrchdtr1.LoadFromStream(pSignaturStream); finally pSignaturStream.Free; end; end; |
AW: Fehlermeldung Falsches Streamformat auf einen Server
Zitat:
Es wird die gleiche Fehlermeldung ausgegeben. Mit Gruß HPB |
AW: Fehlermeldung Falsches Streamformat auf einen Server
Moin,
Zitat:
Delphi-Quellcode:
Bist du sicher das der Stream befüllt ist?
dtmdMain.logendatenSIGNATURTEXT.SaveToStream(pSignaturStream);
mfg S.Simon |
AW: Fehlermeldung Falsches Streamformat auf einen Server
Möglicherweise funktioniert der Zugriff bei Blob' s über Stream nicht.
Dann sollte es aber mit BlobStream gehen:
Delphi-Quellcode:
Frankprocedure TTMSFmRegistry.LeseUnterschriften; var AStream: TStream; begin AStream := ADataSet.CreateBlobStream(AField, bmRead); // ADataSet und AField ersetzen try AStream.Position := 0; advrchdtr1.LoadFromStream(AStream); finally AStream.Free; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz