AGB  ·  Datenschutz  ·  Impressum  







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

Type Record mit unter Records in der Struktur

Ein Thema von tdeck · begonnen am 29. Aug 2022 · letzter Beitrag vom 6. Sep 2022
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.662 Beiträge
 
Delphi 12 Athens
 
#1

AW: Type Record mit unter Records in der Struktur

  Alt 29. Aug 2022, 14:19
Hast Du es mal mit packed records versucht?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.084 Beiträge
 
Delphi 12 Athens
 
#2

AW: Type Record mit unter Records in der Struktur

  Alt 29. Aug 2022, 14:52
DeddyH hat recht: statt record im Delphi mal packed record hinschreiben.
Dann werden Felder direkt hintereinander ausgerichtet, anstatt auf irgendwelche
Registergrößen zwe3cks schnellerem Zugriff zu optimieren.

Grüße
TurboMagic
  Mit Zitat antworten Zitat
tdeck

Registriert seit: 26. Jun 2006
Ort: Obertshausen
69 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Type Record mit unter Records in der Struktur

  Alt 29. Aug 2022, 14:59
Hast Du es mal mit packed records versucht?
Hallo DeddyH,

klasse, mit "packed Records" hat es funktioniert.
Jetzt passt die Reihenfolge.

Vielen Dank

Thorsten
Thorsten
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.401 Beiträge
 
Delphi 12 Athens
 
#4

AW: Type Record mit unter Records in der Struktur

  Alt 29. Aug 2022, 15:18
{$A-} bzw. {$ALIGN OFF} oder {$A1} bzw. {$ALIGN 1} wäre ach gegangen.

Und innerhalb von Arrays entsprechend tZKSUserArray = packed array[1..10] of tZKSUser; ,
bzw. falls es vom PackedRecord nicht bis zum Array durch gehen würde, LeerRaum2 : packed array[0..30] of byte; // auch wenn Byte sowieso immer $A1 ergibt

Genauso, wie falsche / veränderliche Typen, gehören externe Datenstrukturen auch immer Fest definiert,
also eben mit PACKED oder einem definierten ALIGN, denn das Default-ALIGN ändert sich gern mal, je nach Compiler und Zielplatform.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (29. Aug 2022 um 15:25 Uhr)
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
492 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Type Record mit unter Records in der Struktur

  Alt 5. Sep 2022, 13:02
Hast Du es mal mit packed records versucht?
Entweder das, oder du nimmst Füllfelder bzw. eine Variante mit anderer Größe. Je nachdem, was du genau damit anfangen willst.
Dennis
  Mit Zitat antworten Zitat
tdeck

Registriert seit: 26. Jun 2006
Ort: Obertshausen
69 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Type Record mit unter Records in der Struktur

  Alt 6. Sep 2022, 09:01
Hast Du es mal mit packed records versucht?
Entweder das, oder du nimmst Füllfelder bzw. eine Variante mit anderer Größe. Je nachdem, was du genau damit anfangen willst.
Hallo,

nein das mit den Füllfeldern hat nicht funktioniert, das war meine erste Idee. Die Lösung mit "packed Records" war genau das richtige. Ich kann die vorhandene Datenstucktur der Mikrocontroller nicht mehr nachträglich ändern, da diese Strukturen schon seit Jahren in dieser Form im Einsatz sind. Und über USB hätte ich zwar die Struktur immer hin und her schieben können. Aber das macht das USB Protokoll umständlich, ich übertrage immer ganze 512Byte am Stück via USB. Die selben Funktionen nutze ich auch für den Dateitransfer und so muss ich mir keine Gedanken machen ob es jetzt ein Teil von einer Dateiübertragung ist oder eine Config mit den Records. Passt schon mit dem "Packed"

Thorsten
Thorsten
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:06 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