Binaries in Memo-Feld, Auslesen auf anderem Sprachsystem

25/02/2010 - 20:14 von Raimo Becker | Report spam
Hallo NG,

ich habe in einer Ac2000/2003 Db in einer allg. Flags.mdb einige Logos in
einem MemoFeld (no Unicode-Compression) abgelegt.
Diese werden je nach Bedingung auf das Hauptform Projeziert:

Hier der Code:

Private Sub LoadLogoFromDb(pFlagCode As String, ByRef db As DAO.Database)

Dim CLM, CLP , PLM, PLD As Integer
Dim Lrs As DAO.Recordset
Dim FSO As New FileSystemObject

Set Lrs = db.OpenRecordset("SELECT * FROM Flags WHERE GroupId = " &
pFlagCode)

' Bilddatei temporàr erstellen
If Not FSO.FileExists(TempFolder & "CompLogoMonitor.tmp") Then
CLM = FreeFile
Open TempFolder & "CompLogoMonitor.tmp" For Output As #CLM
Print #CLM, Lrs!CompLogoMonitor ' Holt sich den Inhalt aus dem Memo-Feld
Close #CLM
End If

If FSO.FileExists(TempFolder & "CompLogoMonitor.tmp") Then
'-> Hier Knallt es: FRM_Main.PIC_DI.Picture = LoadPicture(TempFolder &
"CompLogoMonitor.tmp")
End If
...
'es kommen noch vier andere Logos - jedes mal der gleiche Fehler: Ungültiges
'Bild / bzw. Invalid Picture
End Sub

Auf den WinDosen XPSp2/3 in ch/fr/it/nl/en/de/se/be/it/es funktioniert es.
Bisher gabs auch keine Probleme meit höheren Versionen... aber

Windows XPSp2 (unsere offz. MinimumAnforderung) - cz/hu/gr/ru als OS meldet
"Invalid Picture" beim Starten der Anwendung, und zwar genau beim Laden des
Logos mit der o.g. Prozedur.
Wird ein Memo-Feld unter zB. einer de. und einem cz. anders abgelegt?

Anders gefragt, wie kann ich unter einem
"nicht-westlichen-Schriftsatz"-System die gleiche Funktion in Memo-Feldern
erreichen wie in "unseren"?

Besten Gruß
Raimo
 

Lesen sie die antworten

#1 Peter Götz
28/02/2010 - 10:52 | Warnen spam
Hallo Raimo,

ich habe in einer Ac2000/2003 Db in einer allg. Flags.mdb
einige Logos



Mit "Logos" meinst Du vermutlich irgendwelche Bilder (*.bmp,
*.jpg usw.), also Binàrdaten.

in einem MemoFeld (no Unicode-Compression) abgelegt.



Für Binàrdaten eignet sich ein MemoFeld nicht. Verwende
statt dessen ein Ole-Feld und an welches Du Deine Binàrdaten
als ByteArray übergibst.
s.hierzu den Thread "DAO-DatenbankFeld Bye-weise füllen"
vom 09.02.2010.

Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

Ähnliche fragen