AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Pointer oder Protected Memory ?

Ein Thema von paule32.jk · begonnen am 27. Aug 2024 · letzter Beitrag vom 28. Aug 2024
Antwort Antwort
Benutzerbild von dummzeuch
dummzeuch
Online

Registriert seit: 11. Aug 2012
Ort: Essen
1.702 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

AW: Pointer oder Protected Memory ?

  Alt 28. Aug 2024, 07:54
Hallo,
gibt es sowas wie Protected Memory in Delphi und FPC ?
Also so, das ich mir eine globale Variable anlege, die sagen wir mal 32 Bit groß ist - egal welcher Art, weil, Daten sind im Computer ja alle samt bestehend nur aus 0 und 1, okay, jedenfalls bräuchte ich eine "nicht" platformspezifiesche Programmierlogik, bei der ich die Daten eines Datentyps; sagen wir mal BYTE in den protected Memory space kopiere/speichere, und dann an eine DLL Funktion übergeben kann, um dann den Datentyp (also den Wert aus der globalen Variable) weiterverarbeiten kann.
Dazu wird dann natürlich die passende Funktion geliefert - also die Funktion aus der DLL bekommt den Pointer auf die globale Variable (die solange gültig ist, wie das Programm läuft), so dass ich dann genau weiß, welcher Pointer wie abgearbeitet werden muss ?
Das hört an als ginge es um eine Art von mehreren Programmen gemeinsam genutzten Speicher. Unter Windows könnte man das mit einem Memory-mapped File lösen. Aber plattformunabhängig wäre mir da nichts bekannt.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.415 Beiträge
 
Delphi 12 Athens
 
#2

AW: Pointer oder Protected Memory ?

  Alt 28. Aug 2024, 08:29
Aber plattformunabhängig wäre mir da nichts bekannt.
(File)Streams, Sockets, TCP/IP, IPC, MMF (Named oder per Handle), GlobalAlloc, VirtualAlloc (prozessübergreifend wenn nur mit PhysicalPages, aber sowas macht man nicht!!!!), ...
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (28. Aug 2024 um 08:37 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch
Online

Registriert seit: 11. Aug 2012
Ort: Essen
1.702 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Pointer oder Protected Memory ?

  Alt 28. Aug 2024, 09:15
Aber plattformunabhängig wäre mir da nichts bekannt.
(File)Streams, Sockets, TCP/IP, IPC, MMF (Named oder per Handle), GlobalAlloc, VirtualAlloc (prozessübergreifend wenn nur mit PhysicalPages, aber sowas macht man nicht!!!!), ...
Im Gegensatz zu Memory-mapped Files sind das alles aber keine gemeinsam benutzten Speicherbereiche sondern lediglich Methoden der Interprozess-Kommunikation (und GlobalAlloc ist nicht wirklich prozessübergreifend, wenn man der Doku glauben darf).

Die einfachste Möglichkeit ist, wie immer, eine gemeinsam benutze Datei. Da muss man sich dann ggf. selbst um das (Record-)Locking kümmern.

Oder man nimmt gleich eine serverbasierte Datenbank oder einen (eigenen) Server(-Prozess), mit dem alle beteiligten dann mit einer der genannten Methoden kommunizieren.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.415 Beiträge
 
Delphi 12 Athens
 
#4

AW: Pointer oder Protected Memory ?

  Alt 28. Aug 2024, 13:52
Jo, das waren erstmal Dinge, welche prinzipiell platformunabhängig zur Verfügung stünden, auch wenn sie in anderen Platformen vielleicht anders heißen mögen.
"Shared Memory" gibt es über ein Modul auch im Linux.

Da es hier wohl nur zwischen DLL und EXE laufen soll, würden somit MMF, GlobalAlloc, VirtualAlloc oder auch ShareMem/SimpleShareMem des Delphi-Speichermanager (FastMM) reichen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz