Hi,
ich beschäftige mich zur zeit damit daten zwischen zwei applikationen mittels memory mapped files hin und her zu schicken. Mein Problem ist jetzt das ich eine datenstruktur der form
Code:
TDaten=record
ID:integer;
DataFormat:byte;
Length:integer;
data:array of byte;
end;
hin und herschicken möchte wobei data bei jedem vorgang eine unterschiedliche größe haben kann die allerdings in length gespeichert ist (geht leider nicht anderst da es direkt von einem steuergerät kommt die größe würde allerdings 500byte nicht überschreiten) . Mein Problem ist jetzt das ich auf der clientseite logischerweise nicht mehr auf den array zugreifen kann da mit data ja im prinzip nur ein pointer für die andere applikation freigegeben wird nicht aber der speicherbereich der sich hinter dem pointer befindet da dieser nicht in der memory mapped file ist ( ich hoff mal ich hab das prinzip richtig verstanden
). mein problem ist also jetzt wie ich diesen array of byte oder von mir aus auch nur einen dynamisch zugewiesenen speicherbereich auf den ich dann mittels pointer zugreifen kann in die memory mapped file bekomme damit ich auf der client seite darauf zugreifen kann und das ganze möglichst ohne sharedmemory
unit einzubinden da ich auf die zugehörige
dll verzichten möchte.
Ich hoffe einer von den Delphi/
Api Guru's hier
kann mir da weiterhelfen.
Thx MfG
Blizzard
Btw.: die client seite respektive die
dll ist in c++ geschrieben die verwendete datenstruktur sollte also mit c++ kompatibel sein