![]() |
Datenbank: Paradox • Version: 7 • Zugriff über: BDE
CreateBlobStream bei Delphi XE3 liefert Fehler "Kein BLOB-Feld"
Hallo Leute!
Ich habe folgendes Problem: Es soll eine Anwendung die über die BDE auf eine Paradox-DB zugreift und unter Delph 7 erstellt wurde auf Delphi XE3 umgestellt werden. Von XE3 habe ich zunächst nur die Test-Version (Architekt ohne Sourcen) um zu sehen ob es überhaupt klappt. Nun erhalte ich beim Aufruf von CreateBlobStream die Fehlermedlung "Kein BLOB-Feld". Unter Delphi 7 läuft es mit der gleichen Tabelle korrekt. Das entsprechende Feld hat als "DataTye" auch "ftBlob", selbst die Umwandung zu TBlobField klappt. Ich habe es auch mit anderen Tabellen, die BLOB-Felder haben, ausprobiert: Immer das gleiche Ergebnis = Fehlermeldung. Ist das eventuell ein Fehler in XE3? Wie gesagt, bei der Test-Version sind keine Sourcen dabei, die man zur Fehleranalyse nutzen könnte. Noch ein paar Infos: Das Feld ist auf jeden Fall ein BLOB und NICHT leer! Die Tabelle ist offen, andere Felder können gelesen werden. (Ansonsten sollte auch eine andere Fehlermeldung kommen.) Bitte nun kein Hinweis, dass die BDE veraltete ist und man besser eine andere DB nehmen sollte. Das weiß ich, aber hilft mir hier nicht konkret weiter, da zunächst mal mit der BDE weitergeaebeitet werden soll. Für einen Tipp wäre ich dankbar. |
AW: CreateBlobStream bei Delphi XE3 liefert Fehler "Kein BLOB-Feld"
Also im Delphi-Forum hat jemand das
![]() Evtl ist das ein bisher nicht gefixter Fehler in XE3 mit BDE. |
AW: CreateBlobStream bei Delphi XE3 liefert Fehler "Kein BLOB-Feld"
Man sollte auch noch dabei bedenken, dass die BDE nicht mehr weiterentwickelt wird.
Edit : Ich empfehle hier auf eine andere Datenbank umzubauen. |
AW: CreateBlobStream bei Delphi XE3 liefert Fehler "Kein BLOB-Feld"
Zitat:
|
AW: CreateBlobStream bei Delphi XE3 liefert Fehler "Kein BLOB-Feld"
Hallo,
zeig mal ein bisschen Code. Heiko |
AW: CreateBlobStream bei Delphi XE3 liefert Fehler "Kein BLOB-Feld"
Hallo Leute,
zunächstmal Danke für die Antworten, die aber leider nicht weiterhelfen. Ich hatte ja geschrieben, dass ich weiß, dass die BDE nicht mehr weiterentwickelt wird. Mittelfristig werde ich da auch auf eine Alternative umschwenken, aber das ist im Moment (u.a. auch aus Zeitgründen nicht möglich). Ich bin aber davon ausgegangen, dass, wenn in XE3 die BDE noch unter stützt wird, das auch vollständing und korrekt der Fall ist. Die Methode wird auch in der Hilfe beschrieben, also sollte man doch davon ausgehen, dass das auch funktioniert... An der BDE oder der Tabelle kann es nicht liegen, denn wie gesagt klappt da der Zugriff korrekt. Ich habe mittlerweile festgestellt, dass die gleiche Fehlermedlung auch bei einem Memo-Feld kommt. Ich weiss zwar nicht was da der Code weiterhelfen soll, aber wenn's hilft:
Delphi-Quellcode:
procedure LeseBitmap(Table: TTable);
var Stream : TStream; begin with Table do begin Stream := CreateBlobStream(FieldByName('Bitmap'),bmRead); // Die Excception kommt an dieser Stelle! try FBitmap.LoadFromStream(Stream); // FBitmap : TBitmap finally Stream.Free; end; {try .. finally} end; {with} end; {LeseBitmap} |
AW: CreateBlobStream bei Delphi XE3 liefert Fehler "Kein BLOB-Feld"
Zitat:
Zitat:
Also wenn du unbedingt (noch mittelfristig) noch BDE haben willst bleib erst mal bei D7 und "entsorge" die BDE bevor du auf XE3 oder neuer umsteigst. |
AW: CreateBlobStream bei Delphi XE3 liefert Fehler "Kein BLOB-Feld"
Hallo,
was passiert, wenn Du TStream durch TBlobStream ersetzt? |
AW: CreateBlobStream bei Delphi XE3 liefert Fehler "Kein BLOB-Feld"
Zitat:
Könnte es sein daß die BDE sich am Char-Format verschluckt? Es hat da ja schon die seltsamsten Nebeneffekte gegeben. Gruß K-H |
AW: CreateBlobStream bei Delphi XE3 liefert Fehler "Kein BLOB-Feld"
Zitat:
|
AW: CreateBlobStream bei Delphi XE3 liefert Fehler "Kein BLOB-Feld"
Nur so eine Idee
Gruß K-H |
AW: CreateBlobStream bei Delphi XE3 liefert Fehler "Kein BLOB-Feld"
Zitat:
Aber es geht ja auch nicht mit (Binär-)Blobs soweit ich es gelesen habe. |
AW: CreateBlobStream bei Delphi XE3 liefert Fehler "Kein BLOB-Feld"
Hallo
Soweit ich es bisher beurteilen kann, scheint es wirklich auf einen (oder mehrere?) Fehler in Delphi XE3 hinauszulaufen. Ich habe mittlerweile diese Info Zitat:
![]() Zitat:
Zitat:
Zitat:
Was einnen dann doch erstaunt ist, dass Code, der scheinbar bis XE2 funktioniert hat, plötzlich in der neusten Version nicht mehr funktionert. Man könnte doch annehmen, dass, wenn bezüglich der BDE nichts mehr weiterentwickelt wird, auch der entsprechende Code "in Ruhe gelassen wird". Na ja, es sieht wohl so aus, dass ich wohl wirklich in den "sauren Apfel beißen muss" und nun ungeplant auch die Anwendung auf eine alternative DB umstellen muss. Denn zu warten ob - und wenn ja - wann der Fehler korigiert wird, dürfte keine Lösung sein. Blöd nur dass ich das von der Zeit nicht eingeplant hatte. :( Danke auf jeden Fall für Eure Antworten. |
AW: CreateBlobStream bei Delphi XE3 liefert Fehler "Kein BLOB-Feld"
Zitat:
Zitat:
|
AW: CreateBlobStream bei Delphi XE3 liefert Fehler "Kein BLOB-Feld"
Hallo,
Was passiert, wenn du das FieldByName noch auf TBlobField castest ? Gerade das hier gefunden. Du brauchst aber die Quellen. ![]() Wenn man dort weiterliest, sieht man, dass doch am Code von DBTables was gemacht worden ist, damit die Unit überhaupt erst mit XE3 kompiliert werden konnte. Das gleiche Problem mit den TBytes hatte ich auch beim Umsetllen von Blob-Code von D2007 auf D2010. Heiko |
AW: CreateBlobStream bei Delphi XE3 liefert Fehler "Kein BLOB-Feld"
Ich weiss nicht ob's hilft, ich verwende zwar die UniDAC aber dass sollte nicht stören:
Delphi-Quellcode:
Ersetze mal TUniQuery mit TTable.
function getBlobAsStream(FieldName:string):TStream;
var Tblf : TBlobField; Query: TUniQuery; ... Tblf :=TBlobField(Query.FieldbyName(FieldName)); result:= TMemoryStream.Create; Tblf.SaveToStream(result); ... Mathias |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:42 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