AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

C-Code zu Delphi (SharedMem)

Ein Thema von El.Blindo · begonnen am 19. Jul 2008 · letzter Beitrag vom 16. Aug 2008
 
El.Blindo

Registriert seit: 24. Okt 2006
18 Beiträge
 
#1

C-Code zu Delphi (SharedMem)

  Alt 19. Jul 2008, 14:28
Moin, Moin,

Für eines meiner Projekte muss ich ein wenig C-Code in Delphi umwandeln, genaugenommen geht es dabei um Zugriff auf den Shared-Memory Bereich eines anderen Programmes.

Erst einmal der C-Code

Zitat:
#define SHMEM_NAME _T("GPUZShMem")
#define MAX_RECORDS 128

#pragma pack(push, 1)
struct GPUZ_RECORD
{
WCHAR key[256];
WCHAR value[256];
};

struct GPUZ_SENSOR_RECORD
{
WCHAR name[256];
WCHAR unit[8];
UINT32 digits;
double value;
};

struct GPUZ_SH_MEM
{
UINT32 version; // Version number, 1 for the struct here
volatile LONG busy; // Is data being accessed?
UINT32 lastUpdate; // GetTickCount() of last update
GPUZ_RECORD data[MAX_RECORDS];
GPUZ_SENSOR_RECORD sensors[MAX_RECORDS];
};
#pragma pack(pop)
Nun meine Umsetzung

Delphi-Quellcode:
  tGPUZ_Record = packed record
    GPUZ_Key : Array [0..255] of WChar;
    GPUZ_Value : Array [0..255] of WChar;
  end;

  tGPUZ_Sensors = packed record
    GPUZ_Name : Array [0..255] of WChar;
    GPUZ_Unit : Array [0..7] of WChar;
    GPUZ_Digits : DWord;
    GPUZ_Value : Double;
  End;

  tGPUZShMem=packed record
    Version : DWord;
    Busy : Longint;
    LastUpdate : DWord;
    Daten : Array[0..127] of tGPUZ_Record;
    Sensors : Array[0..127] of tGPUZ_Sensors;
  end;

  PGPUZShMem = ^tGPUZShMem;
Ich bin mir aber absolut nicht sicher ob diese Umsetzung richtig ist, besonders da ich in meinem Projekt gelegentlich ein Exception bekomme, leider ohne Hinweis auf die Adresse.

Ich wäre also dankbar wenn mir jemand bestätigen könnte das mein Code richtig ist, oder aber Aufzeigen könnte was daran falsch ist.

Mfg

El-Blindo

[edit=Phoenix]Tippfehler im Titel korrigiert. Mfg, Phoenix[/edit]
  Mit Zitat antworten Zitat
 

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 21:31 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