AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Unterschiedliche Darstellung von Blobfeld in TDBRichEdit bei verschiedenen DB-Kompos
Thema durchsuchen
Ansicht
Themen-Optionen

Unterschiedliche Darstellung von Blobfeld in TDBRichEdit bei verschiedenen DB-Kompos

Ein Thema von Perlsau · begonnen am 26. Jan 2016 · letzter Beitrag vom 27. Jan 2016
Antwort Antwort
Perlsau
(Gast)

n/a Beiträge
 
#1

Unterschiedliche Darstellung von Blobfeld in TDBRichEdit bei verschiedenen DB-Kompos

  Alt 26. Jan 2016, 08:29
Datenbank: Firebird • Version: 2.5 • Zugriff über: Firedac & FibPlus
Für einen gelegentlichen Delphi-Entwickler soll ich aus einem meiner vor Jahren für den Eigenbedarf entwickelte Projekte ein bestimmes Modul ausklinken und als eigenständige Anwendung fertigstellen. Es handelt sich um eine Projektverwaltung (ProCode, ein paar wenige erinnern sich vielleicht noch, ist aber egal), die eine Codeverwaltung beinhaltet. Die will er unbedingt haben, mitsamt den Codeschnipseln, die sich bei mir angesammelt haben, aber ohne das Ganze drumherum und natürlich mit Quellcode zur Weiterentwicklung mit einer neueren Delphi-Version.

@RWarnecke: Die von dir damals netterweise für den Eigenbedarf genehmigten Codebeispiele werden selbstverständlich nicht weitergegeben

Nun hatte ich ProCode damals mit FibPlus und D2009 entwickelt. Blobfelder, die via TjvDBRichEdit dargestellt und geändert wurden, waren als Textblob konzipiert. Seit ich nun IbDac verwende, hat sich herausgestellt, daß ich die besten Ergebnisse und die wenigsten Probleme im Zusammenhang mit DBRichEdit-Komponenten habe, wenn ich die Blobfelder als binary erstelle. Damit arbeite ich inzwischen seit mehreren Jahren problemlos. Nun muß ich aber, wie oben bereits angedeutet, mit einer neueren Delphi-Version arbeiten, Kundenlaptop hab ich hier. Dort gibt's jedoch nur Firedac, keine anderen DB-Komponenten, mit denen ich auf die Firebird-DB zugreifen könnte. Ich kann/darf auch keine anderen DB-Komponenten installieren.

Für die Beschreibung der einzelnen Codeschnipsel (Feld BESCHREIBUNG) habe ich damals wie gesagt RichEdit gewählt, weil man da ansprechend formatieren kann. Der Code selber wird mit SynEdit dargestellt, das ist quasi Plaintext und liegt ebenfalls in einem TextBlob (Feld CODE). Mir gelingt es jedoch nicht, das Blobfeld mit der Beschreibung, das in einem TjvDBRichEdit angezeigt werden soll, korrekt auszulesen. Die Anzeige sieht immer aus, als ob Plaintext auf True stehen würde. Tut es aber nicht. Mir scheint, ich habe bereits alle nur denkbaren Versuche unternommen, dieses Problem zu beheben. Auch der Versuch, den Plaintext aus der Quell-DB als Plaintext in das Ziel-RichEdit einzufügen und danach das Property PlainText auf False zu schalten, schlug fehl: Die Steuerzeichen steuern nichts, sondern bleiben sichtbar. Die Darstellung im TjvRichEdit, das die Quelldaten aufnehmen soll, ist fehlerhaft. Angefangen zu übertragen (von der alten in die neue DB) hatte ich ohne RichEdit-Komponenten, mit Streams oder direkt mit Assign. Die Darstellung war immer schon im DBRichEdit, mit dem ich die Quelle darstelle, fehlerhaft, egal was ich auch einstelle.

Das einzige, das wirklich funktioniert, ist das händische Übertragen zwischen beiden Programmen: Ctrl-A und Ctrl-C in Procode, Wechsel zu der neuen Anwendung, ins DBRichEdit reinklicken und Ctrl-V drücken, und das nahezu 1000 Mal! Nee, da krieg ich ja Krämpfe

Also nochmal zusammenfassend:

  • Procode, mit FibPlus, liest aus einem TextBlob aus und stellt korrekt in einem TJvDbRichEdit dar.
  • CodeBank, die neue Anwendung mit Firedac, liest aus einem BinaryBlob aus und stellt ebenfalls korrekt dar.
  • CodeBank, die neue Anwendung mit Firedac, liest aus dem alten TextBlob aus und stellt Plaintext dar. Plaintext steht aber auf False.

Jetzt könnte ich höchstens noch versuchen, mit D2009 das Ganze zu übertragen, indem ich dort IbDac und FibPlus verwende. Das wäre dann wohl die letzte Möglichkeit, wobei der Erfolg nicht garantiert ist. Wenn aber jemand irgend einen Tip hat, wie ich noch weitere zusätzliche Arbeit vermeiden kann, wäre ich echt erleichtert. Ich krieg schon'n steifen Hals vom sturen Glotzen auf die Mattscheibe

Aber keine unnötige Hektik, es eilt nicht besonders, ich hätte es eben nur gern heute in einem Aufwasch geschafft. Morgen ist aber auch noch ein Tag, obwohl der heute ja gerade erst angefangen hat, zumindest für die meisten, für mich schon sehr früh ...

Geändert von Perlsau (26. Jan 2016 um 08:31 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Unterschiedliche Darstellung von Blobfeld in TDBRichEdit bei verschiedenen DB-Kom

  Alt 26. Jan 2016, 09:05
Hast du schon einmal die zurückgelieferten Bytes aus dem Blob verglichen?

Da müsste sich doch ein Unterschied finden lassen zwischen alt und neu
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Unterschiedliche Darstellung von Blobfeld in TDBRichEdit bei verschiedenen DB-Kom

  Alt 26. Jan 2016, 09:14
Im ersten Moment habe ich gedacht: "Das riecht nach Unicodeproblem". Aber in diesem Falle wäre ja auch der Plaintext wenig sinnvoll.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Unterschiedliche Darstellung von Blobfeld in TDBRichEdit bei verschiedenen DB-Kom

  Alt 26. Jan 2016, 09:26
Nicht zwangsläufig ein Unicode Problem, wo man es vermuten würde (in Delphi), sondern eher im Firebird, denn der speichert AFAIK beim TextBlob auch noch die Codierung (COLLATE).

Da würde ich mal eher im Nebel drauf zeigen.

(Ich habe mit FB aber nie wirklich gearbeitet, insofern ist es mehr als im Trüben fischen bei mir )
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
hanvas

Registriert seit: 28. Okt 2010
168 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Unterschiedliche Darstellung von Blobfeld in TDBRichEdit bei verschiedenen DB-Kom

  Alt 26. Jan 2016, 09:42
Das einzige, das wirklich funktioniert, ist das händische Übertragen zwischen beiden Programmen: Ctrl-A und Ctrl-C in Procode, Wechsel zu der neuen Anwendung, ins DBRichEdit reinklicken und Ctrl-V drücken, und das nahezu 1000 Mal! Nee, da krieg ich ja Krämpfe
Falls Du keine "saubere Lösung" findest könntest Du ja auch :


1. AutoIt die Krämpfe verpassen und das hin und her kopieren per Script erledigen.
2. Temporär Code in beide Anwendungen einbauen. Anwendung 1 kopiert ins Clipboard und sende Nachricht an Anwendung 2, Anwendung 2 kopiert raus und sendet Nachricht zurück

cu Ha-Jö
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#6

AW: Unterschiedliche Darstellung von Blobfeld in TDBRichEdit bei verschiedenen DB-Kom

  Alt 27. Jan 2016, 03:52
Sorry für mein langes Schweigen, aber gestern sind hie ein paar unschöne Dinge passiert, während ich außer Haus beim einem Kunden war. Melde mich später wieder zurück.
  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:49 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