AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 01:47

Parameter dieser Suchanfrage:

Suche in Thema: Speicherausrichtung (Align) berechnen
Suche alle Beiträge, die von "himitsu" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 10 von insges. 10 Treffern
Suche benötigte 0.008s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Sonstige Fragen zu Delphi

    Re: Speicherausrichtung (Align) berechnen

      Delphi
      by himitsu, 28. Nov 2009
    Das Ganze ist nun noch etwas überarbeitet und verändert worden
    und ich hab's mal aus dem Projekt extrahiert und in einer eigenständigen Unit verpackt, samt ein paar notwendiger Dummytypen.

    Wäre schön, wenn noch jemand hier auch einiges Tests mit machen könnte, nicht daß ich einfach zu Betriebsblind bin und was überseh.
    Bei meinen bisherigen Tests scheint das Problem der verschachtelten...
  • Forum: Sonstige Fragen zu Delphi

    Re: Speicherausrichtung (Align) berechnen

      Delphi
      by himitsu, 28. Nov 2009
    Sooo, mußte zwar noch einen neuen "virtuellen" Typen einführen (rtSplit),
    da z.B. TFileTime als UInt64 (rtWord64) angesehn werden kann, aber intern aus 2 LongWords besteht,
    welches ja beim Align beachtet werden muß.
    Als kann man nun eine nachfolgende Typendeplaration zwar als "großen" Typen speichern, aber für's Align aufsplitten.

    Anscheinend scheint nun endlich die Behandlung "einacher"...
  • Forum: Sonstige Fragen zu Delphi

    Re: Speicherausrichtung (Align) berechnen

      Delphi
      by himitsu, 26. Nov 2009
    Aktuell sieht es so aus:

    TXMLSerializeRDataType wären alle unterstützten Typen und daraus müßte man eigentlich alles Andere erstellen können.

    Procedure TXMLSerializeRecordInfo.CalcOffsets; wäre die entscheidende Baustelle für die Berechnung.
    Sitze grad an den ShortStrings und danach werd ich mal 'nen Test machen, ob das Aktuelle so überhaupt läuft und dann müßten irgendwie die Records und...
  • Forum: Sonstige Fragen zu Delphi

    Re: Speicherausrichtung (Align) berechnen

      Delphi
      by himitsu, 25. Nov 2009
    Daß es nicht so leicht ist, wie anfangs gelaubt, ist mir inzwischen klar,
    aber jetzt steckt da schon soviel Arbeit drinnen, daß ich keine Lust hab aufzugeben
    und das alles wieder rauszulöschen, oder Dergleichen. :?

    Hab nun auch angefangen die Berechnungen aus der eigentlichen Serialisierungen in TXMLSerializeRecordInfo zu verschieben, so daß man dieses dann auch mal für andere Dinge nutzen...
  • Forum: Sonstige Fragen zu Delphi

    Re: Speicherausrichtung (Align) berechnen

      Delphi
      by himitsu, 25. Nov 2009
    Die bißher "besten" Informationen hab ich nun erstmal hier gefunden:
    http://en.wikipedia.org/wiki/Data_structure_alignment
    http://msdn.microsoft.com/en-us/library/aa290049%28VS.71%29.aspx

    Schlimm wird es aber bei sowas:
    // align = 2, 4 oder 8

    Type
    T1 = Record
    A: Array of Byte;
  • Forum: Sonstige Fragen zu Delphi

    Re: Speicherausrichtung (Align) berechnen

      Delphi
      by himitsu, 24. Nov 2009
    nja, theoretisch kannst du den Record auch selber Element für Element abspeichern.

    so bräuchtest du aber nur einmal den Aufbau definieren
    (mal sehn, ab Delphi 2010 kannst dir eventuell auch von der neuen RTTI den Aufbau geben lassen)
    und kannst diesen für die Serialisierung UND auch gleich für die Deserialisierung und auch an mehreren Stellen verwenden.

    oder gleich die kurze Variante...
  • Forum: Sonstige Fragen zu Delphi

    Re: Speicherausrichtung (Align) berechnen

      Delphi
      by himitsu, 24. Nov 2009
    Also zumindestens weiß ich jetzt, daß ich die untergeordneten Arrays/Records zuerst berechnen muß
    und dann scheint es so, als wenn je nach Aufbau dieses untergeordnete Array anders im übergeordneten plaziert wird.

    {$align 4}

    1: record
    a: Byte;
    {3x Byte align}
    b: LongWord;
    end;
  • Forum: Sonstige Fragen zu Delphi

    Re: Speicherausrichtung (Align) berechnen

      Delphi
      by himitsu, 24. Nov 2009
    Bei einer Typendefinition geht der Compiler erstmal davon aus, daß der Anfang des Records ausgerichtet ist und alles andere wird dann nach gewissen Regeln und Anhand von {$ALIGN *} und {$A*} ausgerichtet ... tja und genau diese Regeln bräuchte ich.

    Hab jetzt erstmal 'nen ganzen Browser voller Tabs und versuch die ganzen Informationen irgendwie zusammenzubekommen, bzw. mir daraus 'nen Satz...
  • Forum: Sonstige Fragen zu Delphi

    Re: Speicherausrichtung (Align) berechnen

      Delphi
      by himitsu, 24. Nov 2009
    Ich hab in meinem himXML einige Datenserialisierungen implementiert,
    womit man praktisch Record-Inhalte in eine entsprechende XML-Stucktur umwandeln kann.

    Und nun suche ich, da sich meine bisherige Rechnung als "etwas falsch" herausstellte,
    eine Möglichkeit das Alignment zu berechnen.
    Also so, daß mein Code selbstständig die Ausrichtung bestimmen/berechnen kann.

    gegeben seien z.B. diese...
  • Forum: Sonstige Fragen zu Delphi

    Speicherausrichtung (Align) berechnen

      Delphi
      by himitsu, 23. Nov 2009
    Ich dreh bald noch durch ... wie um Himmels Willen macht Delphi das nur? :wall:

    Also wie entscheidet Delphi wann es wie ausrichtet?

    Hier mal ein kleiner Test:
    TY und TZ sind gleich groß, aber dennnoch ist es anders.
    Type
    {$ALIGN 1}
    TYb1 = Record x: byte; y: integer; End;
    {$ALIGN 4}


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=himitsu&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=143800
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:02 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