AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Interbase BDE Blob

Ein Thema von GeraldK · begonnen am 28. Nov 2005
Antwort Antwort
GeraldK

Registriert seit: 9. Nov 2005
11 Beiträge
 
Delphi 2 Client/Server
 
#1

Interbase BDE Blob

  Alt 28. Nov 2005, 12:14
Datenbank: Interbase • Version: 5.1 • Zugriff über: BDE 4.51
Hallo,

ich habe folgendes Problem, welches mich bald zum Wahnsinn treibt.
Die Tipps im Delphi-Praxis, die ich dazu gefunden habe, (Insert/Update) haben auch nichts gefruchtet.

Da Delphi 2 als DBImage nur BMP laden kann und der Reportgenerator (QRDesign v1.12b) auch nur BMP
laden kann, habe ich dieses Problem wie folgt umgangen.

Mittels ProcessAufruf wird das Progamm I_VIEW32.EXE (Bildbetrachter - sehr empfehlenswert) aufgerufen,
welches parametergesteuert dann ein JPG Bild aufruft, und dieses ins Clipboard kopiert.
Anschließend wird das Bild aus dem Clipboard der DBVariable(Blob) zugewiesen und in der DB gespeichert.

Beim Druck wird dann das in der Datenbank befindliche Bild mit dem Reportgenerator ausgedruckt.
So weit so gut, aber es funktioniert manchmal gar nicht, manchmal bestens.
Machmal steht im Feld Blob das Bild des vorherigen Records, manchmal auch gar nichts.
Wertet man den Wert (das Bild) vom Clipboard aus, so beinhaltet es das richtige Bild.
Und irgendwie stehe ich da jetzt am Ende meiner Weisheit.


Def. Datenbank (IB 5.1)
SQL-Code: zusammenfalten | markieren
1
·
·
·
5
·
·
·
·
10
CREATE TABLE S_ART_BILD
(MAND_NR INTEGER NOT NULL,
WAREN_GRP CHAR(9) NOT NULL,
ART_NR CHAR(13) NOT NULL,
GROESS_CD CHAR(3) NOT NULL,
FARB_CD CHAR(3) NOT NULL,
ART_ORIGNR VARCHAR(15),
ARNR_MATCH VARCHAR(13),
BILD BLOB SUB_TYPE 0 SEGMENT SIZE 64, // ebenso versucht mit 256, 512, 640, 1024
PRIMARY KEY (MAND_NR, WAREN_GRP, ART_NR, GROESS_CD, FARB_CD));



Dann der Umwandlungsprozess und Post in der IB:
Delphi-Quellcode: markieren
ProcessTemp := TProcess.Create(Owner); // Aufruf I_VIEW32 inkl. Pfad, JPG Bildname und Paramter
ProcessTemp.Command := sPfad_PRG + ' ' + sPfad_Bild + ' /resize=(20p,20p) /clipcopy /killmesoftly';
ProcessTemp.ShowWindow := swShowMaximized;
ProcessTemp.Wait := FALSE; // auch mit True probiert
ProcessTemp.Execute;

DBImage.PasteFromClipboard;
DBImage.LoadPicture;
QueryS_Art_Bild.Post; // Fehler passiert sowohl beim Insert - als auch bei Update ! ! !


BDE 4.51 Einstellungen:
Blobs to cache: von 64 bis 65000 alles durchprobiert
Blob size: von 64 bis 1024 alles durchprobiert

Mach ich da irgendetwas falsch - 1.000 Dank für eine Anregung ! !


Liebe Grüße
Gerald
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:22 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