Einzelnen Beitrag anzeigen

Cyberstorm

Registriert seit: 23. Okt 2003
159 Beiträge
 
Delphi 2010 Architect
 
#3

Re: TBitmap von zwei Programmen austauschen (Speicher zuweis

  Alt 16. Mär 2008, 13:43
Programm A bekommt Bilder (TBitmap) von einer WebCam.
Programm B lässt eine Art Gesichtserkennung über eine dll drüber laufen.

Die dll exportiert eine Funktion, über die ein Bild per Bitmap Handle geladen wird:
"LoadImageFromHBitmap(BitmapHandle: HBitmap)"

Die dll ist nicht von mir und hat Speicherlecks + produziert nach einigen Aufrüfen hier und da frühlige Zugriffsverletzungen.
Da ein dynamischen einbinden (mit LoadLibrary, FreeLibrary) Probleme gemacht hat (FreeLibrary hing immer so ca. 5Sekunden) sah ich mich gezwungen den Teil mit der dll in eine kleine Konsolenanwendung auszulagern, die dann vom Hauptprogramm mit Parametern aufgerufen wird.

Da die ganze Geschichte relativ zeitkritisch ist, wollte ich mir die Zeit sparen, das Bitmap auf die Festplatte zu speichern und anschließend wieder zu laden, da ich es ja eh schon im Speicher habe.
Da es von der WebCam kommt ist es ja auch erstmal nicht auf der Platte...

Kann ich nicht das Bitmap über SaveToStream per MemoryStream oder so als MemoryMappedFile im Speicher sichern und dann in dem anderen Prog wieder laden?

Am liebsten wäre mir natürlich, wenn ich die Daten direkt über Assign oder so zuweisen könnte.
  Mit Zitat antworten Zitat