AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

C-Structure in Delphi

Ein Thema von oki · begonnen am 11. Jun 2003 · letzter Beitrag vom 24. Jun 2003
 
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#1

C-Structure in Delphi

  Alt 11. Jun 2003, 08:13
Hi Leute!

Das was ich gerade probiere funktioniert nicht richtig.

Ich nutzt Methodenaufrufe aus einer in C++ geschriebenen DLL und es kommt nur Blödsinn raus. Meine Vermutung ist, dass ich das Header-C-File nicht richtig übersetzt habe. Unsicher bin ich mir vorallem bei folgender Struktur:

struct RW_Fahrzeug
{
short m_Typ;
short nPrioritaet[RW_ANZ_KAT];
short nGeschwindigkeit[RW_ANZ_KAT];
unsigned short nVerbrauch[RW_ANZ_KAT];
long nSpritKostenL;
long nZeitKostenH;
long nWegKostenKM;
long nFixKosten;
long nTankfuellung;
long nTankinhalt;
long nBreite;
long nHoehe;
long nLaenge;
long nGewicht;
long nAchslast;
long nSteigung;
long nGefahrenklasse;
};

Die klare Definition von nPrioritaet bis nVerbrauch und deren Werteübergabe sind mir nicht ganz klar. Natürlich habe ich dafür eine Idee, möchte die aber erst später in die Runde schmeißen.

Zur Ausrichtung der Elemente der Struktur sind noch folgende Bemerkungen mitgegeben worden:

/////////////////////////////////////////////////////////////////////////////
// Datentypen
/////////////////////////////////////////////////////////////////////////////
//
// Konstanten: Integer (4 Bytes)
//
// Variablen:
//
// Typ Bytes
// -----------------
// int 4
// short 2
// long 4
// float 4
// double 8
//

/////////////////////////////////////////////////////////////////////////////
// Anordnung der Strukturelemente
/////////////////////////////////////////////////////////////////////////////
//
// Die Elemente in den Strukturen sind auf 8-Byte-Grenzen ausgerichtet.
//
// Die Option Struct-Member-Ausrichtung (/Zpn) steuert, wie die Elemente einer
// Struktur im Speicher abgelegt werden, und gibt dieselbe Ausrichtungsmethode
// für alle Strukturen in einem Modul an. Wenn Sie diese Option angeben, wird
// jedes Strukturelement nach dem ersten entweder in der Größe des Elementtyps
// oder innerhalb der Grenzen von n-Bytes (wobei n den Wert 1, 2, 4, 8 oder 16
// haben kann) gespeichert, je nachdem, welches Element kleiner ist.


Ich muß hier hinzufügen, dass ich Delphi 5 habe und somit über Compilerdirektive keine 8-Byte-ausrichtung erzwingen kann. Ich nutze hie die Einstellung "ausgerichtete Recordfelder". Das funktioniert an anderer Stelle tadellos. hier scheint das Problem erst mal nicht zu stecken.

Gruß oki
  Mit Zitat antworten Zitat
 


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:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz