AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein .NET-Framework (managed code) Delphi .Net: Datenaustausch über Widestrings
Thema durchsuchen
Ansicht
Themen-Optionen

.Net: Datenaustausch über Widestrings

Ein Thema von FredlFesl · begonnen am 8. Jul 2011 · letzter Beitrag vom 8. Jul 2011
Antwort Antwort
FredlFesl

Registriert seit: 19. Apr 2011
293 Beiträge
 
Delphi 2009 Enterprise
 
#1

.Net: Datenaustausch über Widestrings

  Alt 8. Jul 2011, 19:14
Hi

Ich habe hier eine Delphi-Anwendung, die Daten aus einem COM-Objekt erhält. Das COM-Objekt ist in Delphi geschrieben und verwendet WideStrings, auch im Interface (BSTR)

Ein dot.NET Programm greift ebenfalls auf das COM-Objekt zu und liest und schreibt Strings. So, klappt.

Nun sollen auch Binärdaten, also Bitmaps, PDFs usw. über diese Schnittstelle gelesen und geschrieben werden.

Ich habe es derzeit mit einem Base64-kodierten String gelöst, was auch funktioniert, aber -glaube ich- nicht direkt speicherplatzsparend ist, denn Base64 = 8-bit, aber WideString = 16 bit pro Zeichen.

Da muss sich doch was machen lassen...

Gibt es eine 'best practice' für sowas?
Sollte das COM-Objekt erweitert werden, um speziell Binärinformationen zu lesen und zu speichern? Wenn ja, wie?
Das Bild hängt schief.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: .Net: Datenaustausch über Widestrings

  Alt 8. Jul 2011, 20:53
Schick die Daten doch roh rüber. Und sag dem Empfänger vorher um was es sich handelt. Dann empfängst du die Daten, schreibst sie einen Fielstream (wenn sie gespeichert werden sollen) und hängst dann je nach Typ die passende Dateiendung dran. Oder mache ich einen Denkfehler und stelle mir das zu einfach vor?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#3

AW: .Net: Datenaustausch über Widestrings

  Alt 8. Jul 2011, 20:56
Du könntest einen Pointer (-> Delphi-Referenz durchsuchenTMemoryStream/Delphi-Referenz durchsuchenGetMem) nehmen und da die Daten reinschreiben und dein Client ließt die dann wieder aus.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
FredlFesl

Registriert seit: 19. Apr 2011
293 Beiträge
 
Delphi 2009 Enterprise
 
#4

AW: .Net: Datenaustausch über Widestrings

  Alt 8. Jul 2011, 22:46
Oh, da hab ich mich blöd ausgedrückt.

Beim COM-Objekt handelt es sich um eine Art Datenbank, aber nur um 'eine Art'. So eine Mischung aus Registry und DB. Nur mit WideStrings. Und nun soll das Konzept erweitert werden. Wie gesagt, mit Base64 klappt es ja.

Auf C#-Seite: Bitmap=>Stream=>Byte-Array=>Base64-String=>Widestring
Auf Delphi-Seite WideString=>Base64-String=>StringStream=>Bitmap

Bisserl viel Redundanz und Konvertierungsgehoppel.
Das Bild hängt schief.
  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 14:50 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