Hab es jetzt mal so versucht direkt die Image Daten zu übergeben.
hab noch keinen UnmanagedMemoryStream erzeugt.
Die Delphi Seite mag das anscheinend nicht.
Code:
IntPtr pval = IntPtr.Zero;
var BitmapStream = new MemoryStream();
using (var fs = System.IO.File.Open(OpenFileDialog1.FileName, System.IO.FileMode.Open))
{
fs.CopyTo(BitmapStream);
BitmapStream.Position = 0;
Bitmap bmp = (Bitmap)Bitmap.FromStream(BitmapStream);
System.Drawing.Imaging.BitmapData bd = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height),
ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
try
{
pval = bd.Scan0;
}
finally
{
bmp.UnlockBits(bd);
}
//....
CoverArtData.Data = pval;
if (TagsLib.TagsLibrary_AddCoverArt(Tags, TTagType.ttAutomatic, CoverArtData) != 0)
{
MessageBox.Show("Error while adding cover art: ", OpenFileDialog1.FileName, MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Error);
}
Zitat:
Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist.
wenn es langsam nicht hinhaut muss er selbst sehen wie er das macht.
gruss