Hi,
hab jetzt folgendes gemacht:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
hSFMemory: HWND;
SfAreaPtr: Pointer ;
MyResultRecord: TMyRecord;
i: Integer;
txt: String;
begin
fillchar(buffer,1000,0);
hSFMemory := 0;
SfAreaPtr := nil;
i := 0;
try
hSFMemory := OpenFileMapping(FILE_MAP_READ, False, 'SFSharedMemory_ALM');
if HSFMemory <> 0 then begin
SfAreaPtr := MapViewOfFile(hSFMemory, FILE_MAP_READ, 0, 0, 0);
CopyMemory(Addr(buffer),SfAreaPtr,1000);
MyResultRecord.Unknown:= buffer[0];
MyResultRecord.NumTemps:= buffer[1];
MyResultRecord.NumFans:= buffer[2];
MyResultRecord.NumVolts:= buffer[3];
MyResultRecord.Temps:= buffer[4];
MyResultRecord.Fans:= buffer[5];
MyResultRecord.Volts:= buffer[6];
end;
finally
UnmapViewOfFile(SfAreaPtr);
CloseHandle(hSFMemory);
end;
end;
Wobei das scheint nicht zu stimmen, die einzige zahl die ich wiedererkenne währ numoftemps wobei diese so bei numofvolts eingetragen ist.
Was macht dieser VB Code? oder was ist der gedanke dabei?:
Zitat:
RetVal.Temps = mMyArea.NumTemps
RetVal.Volts = mMyArea.NumVolts
RetVal.Fans = mMyArea.NumFans
For x = 0 To 32 Step 2
RetVal.Temp(x / 2) = mMyArea.Temps(x) / 100
RetVal.Fan(x / 2) = mMyArea.Fans(x)
RetVal.Volt(x / 2) = mMyArea.Volts(x) / 100
Next
gruss gibb