Wo ist mein New-Zeiger
-
MFK schrieb:
Ist dir klar, dass unter den meisten gängigen Beitriebssystemen Zeiger nur in dem Prozess gültig sind, in dem sie erstellt wurden (Stichwort: virtueller Speicher)?
Nee, leider wusste ich das noch nicht... Schade
[EDIT]@MFK: Ich habe einfach zwei verschiedene Anwendungen, die irgendwie Klasseninstanzen untereinander austauschen sollen... [/EDIT]
-
Ich habe jetzt nocheinmal gschaut. Gibt es denn keine Funktion, die mir globalen Speicher erstellt (zur Not auch WinAPI), welcher nicht nur im Thread/Prozess gülltig ist?!
-
FragtNicht^^ schrieb:
Ich habe jetzt nocheinmal gschaut. Gibt es denn keine Funktion, die mir globalen Speicher erstellt (zur Not auch WinAPI), welcher nicht nur im Thread/Prozess gülltig ist?!
Unter Unix läuft das ganze unterm dem Begriff "Shared Memory". Dazu sollte es auch was unter Windows geben.
-
Die einfachste Möglichkeit sollten dlls sein.
-
ich nhem auch DLLs, aber in einem anderen Kontext (DLLs werden in einen Prozess injiziert -> ich kann nicht mehr auf Funktionen der DLL zurückgreifen da GetProcAdress bei Prozess-Modulen net klappt)
Naja, ich werde mal gucken, wie ich Shared Memory unter Windows hinbekommen kann...
-
man kann daten ja auch auf die festpatte auslagern.
-
Ja, aber leider keine Klasseninstanzen (?)
-
Hi,
ich habe jetzt mal geschaut. Für Windows gibt es soetwas nicht (das einzige was ich gefunden habe war ein MFC Ansatz, bei dem die Daten in der Registry gespeichert werden)...
Naja, kennt wer noch andere Lösungansätze, wie man zwischen zwei Anwendungen Klasseninstanzen (per new erstellt) austauschen kann???
Ich hoffe auf Hilfe,
Danke...
-
such genauer, es gibt eine möglichkeiten!
-
FragtNicht^^ schrieb:
Ja, aber leider keine Klasseninstanzen (?)
türlich net die klasseninstanzen. ich meine, eigentlich selbstverständlich, die daten der klasse. die kann man auf festplatte auslagern.
-
@otze: Whut?
Schande über mich. Muss nochmal googln...
@DEvent: Es geht mit aber z.T. auch um die Funktionen^^
-
Ja, es gibt Möglichkeiten. Seh dir mal Sourcen an, um an die Daten des Motherboard
Monitors heranzukommen. Da werden die entsprechenden WinAPI Aufrufe getätigt. Keine
Lust selbst nachzusehen
-
sorry, ich bin leider noch ein Anfänger in C++ u. WinAPI, dh aber nicht, dass ich nicht selber nachdenken möchte
Anyway, wie heißt diese Datei???
ansonsten, ich habe nocheinmal gegoogelt, wobei ich nichts neues herausgefunden habe...
Gebt mir doch bitte einen Link?!
-
Dann sieh mal im Bereich
OpenFileMapping und MapViewOfFile
in der MSDN nach.
Noch ein Link aus der MSDN:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/creating_named_shared_memory.asp
-
Danke... Du bist mein Mann
-
Problem gelöst, mit OpenFileMapping klappt es ^^