Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   PDF auf Mysql oder Mssql (https://www.delphipraxis.net/196973-pdf-auf-mysql-oder-mssql.html)

Delphi.Narium 21. Jul 2018 12:34

AW: PDF auf Mysql oder Mssql
 
Was bitte hat
Delphi-Quellcode:
Bitmap
in dem Quelltext zu suchen? Copy&Paste-Überbleibsel? ;-)

Nimm bitte das with aus dem Quelltext heraus, dann wird es lesbarer und die Chancen auf Fehlinterpretationen seitens des Compilers sinken deutlich und die Fehlererkennungsrate steigt.

Mir ist z. B. nicht klar, warum savetostream nicht erkannt wird, aber Bitmap. Ist Bitmap nun ein Attribut von Dokument_pdf oder gibt es zufällig irgendeine Komponente namens Bitmap irgendwo im Quelltext oder ist eine Unit mit dem Namen Bitmap eingebunden?

Fehlermeldungen im Umfeld von with können zuweilen extrem verwirrend sein und einen auf eine vollkommen falsche Spur zur Fehlersuche führen.

TRomano 23. Jul 2018 11:07

AW: PDF auf Mysql oder Mssql
 
Hallo,

abgesehen von der wahrscheinliche ungültigen und unsinnigen Variable 'Bitmap' ist TStream eine abstrakte Klasse und besitzt keine Methode 'LoadFromFile'.


Delphi-Quellcode:
procedure LoadPDF;
var lBlobField : TBlobField;
    lBlob      : TBlobStream;
    lFileStream : TFileStream:
begin
  lBlobField := TBlobField(DataSet.FieldByName('BLOB_X'));
  lBlob     := Dataset.CreateBlobStream(lBlobField, bmWrite);
  Dataset.Insert;
  try
    lBlob.Seek(0, soFromBeginning);
    lFileStream := TFileStream.Create('your.pdf', fmOpenRead or fmShareDenyWrite);
    try
      lBlob.CopyFrom(lFileStream , lFileStream .Size);
      Dataset.Post;
    finally
      lFileStream.Free
    end;
  finally
    lFileStream.Free
  end;
end;
Ist nur schnell runter geschrieben, da gerade kein Delphi zur Hand und ohne zu Testen. Ging nur um die Veranschaulichung des Vorgehens.
In einer normalen, ausgetesteten Methode würde ich noch das Dataset.Post per try ... except ... end absichern.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:07 Uhr.
Seite 3 von 3     123   

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