Einzelnen Beitrag anzeigen

TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.062 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: FreePascal läuft, Delphi crasht. Finde die Ursache nicht.

  Alt 28. Sep 2020, 07:49
Vielleicht wirkt mein Kaffee noch nicht, aber zwischen C-Struct und Delpi/FreePascal TBitFields record sehe ich so auf den ersten Blick schon ein paar Unterschiede bzw. entstehen bei mir Fragezeichen im Kopf?

Bspw. kommt im Pascal-Record an zweiter Stelle die Definition des varianten Records und in C-Struct direkt die Werte id, index (UInt16) .
Wenn das index nun TMyEnum symbolisieren soll, dann prüfe mal Uwes Ratschlag mit der Enum-Größe. Dein TMyEnum sollte dann als UInt16-Wert behandelt werden ({$MINENUMSIZE 2} ).

Des Weiteren ein prop1 (UInt32). Unter der Annahme, dass prop1 mit UInt32 den varianten Teil mit id : record case UINT_PTR of usw. darstellen soll, solltest du hier ein scharfes Auge drauf werfen, ob das alles so richtig ist.

Auch gibt es im C-Struct am Ende ein MyStruct *list; , was ich im Pascal-Record komplett vermisse (und/oder nicht verstehe).

Ggf. noch mal selbst mit der Hand das C-Struct übersetzen, so wie du es als richtig empfindest?

Geändert von TiGü (28. Sep 2020 um 07:52 Uhr)
  Mit Zitat antworten Zitat