1: isses doch:
Delphi-Quellcode:
TMyRecord = packed record
public
Unknown : Array[0..5] of Integer; //unbekanntes Tag
NumTemps : Integer; //Anzahl der Temperaturen
NumFans : Integer; //Anzahl der Lüfter
NumVolts : Integer; //Anzahl der Spannungen
Temps : Array[0..63] of Integer; //Werte der Temperaturen
Fans : Array[0..63] of Integer; //Drehzahl der Lüfter
Volts : Array[0..63] of Integer; //Werte der Spannungen
end;
Also scheint beim Copy was nicht ganz zu stimmen
oder sonstwo
2: danke das hab ich gesucht XD wusste nur nicht wie die funktion heisst ^-^' war mir schon klar das length nicht geht, aber du hast es verstanden
EDIT:
Habs jetzt so:
CopyMemory(Addr(MyResultRecord),SfAreaPtr,sizeof(MyResultRecord));
EDIT2:
Was könnt hier nicht stimmen?
Delphi-Quellcode:
hSFMemory := OpenFileMapping(FILE_MAP_READ, False, 'SFSharedMemory_ALM');
if HSFMemory <> 0 then begin
SfAreaPtr := MapViewOfFile(hSFMemory, FILE_MAP_READ, 0, 0, 0);
CopyMemory(Addr(MyResultRecord),SfAreaPtr,sizeof(MyResultRecord));
Das stimmt schon mit Addr von MyResultRecord oder?
CopyMemory nimmt ja nur Pointers folglich geb ich ihm den Pointer zu meinem Record. :-/