AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Dyn. Record & Array, PChar treffen auf DLL's

Dyn. Record & Array, PChar treffen auf DLL's

Ein Thema von Desmulator · begonnen am 18. Jul 2008 · letzter Beitrag vom 19. Jul 2008
Antwort Antwort
Benutzerbild von nicodex
nicodex

Registriert seit: 2. Jan 2008
Ort: Darmstadt
286 Beiträge
 
Delphi 2007 Professional
 
#1

Re: Dyn. Record & Array, PChar treffen auf DLL's

  Alt 18. Jul 2008, 16:21
Zitat von Desmulator:
Jetzt komm ich zu der Dynamischen Array. Gibt es eine Möglichkeit diese innerhalb der DLL zu speichern, da ihre Elementanzahl, wie gesagt dynamisch ist.

Delphi-Quellcode:
  TCharRange = record
    Range : array of Char; //Hier können beliebig viele Chars enthalten sein.
    CaseIntensiv : Boolean;
  end;
Delphis Dynamische Arrays sind compilerspezifisch und der Aufbau ist offiziell nicht dokumentiert (soweit ich weiß).

Range ist ein Zeiger, welcher auf das erste Element zeigt (in deinem Fall also ein PChar). Wenn Range nil ist, dann ist das Array als leer (Länge 0) zu interpretieren. Vier Byte vor dem ersten Element befindet sich ein 32-Bit Integer im Speicher, in welchem die Länge oder der Index des letzten Elements steht (bin mir gerade nicht sicher... kann man im CPU-Fenster nachlesen, wenn man Length() verwendet).

Die Implementation dynamischer Arrays könnte jederzeit geändert werden - theoretisch (praktisch gibt es keinen Grund dafür, außer man hat einen 64-Bit Compiler).

ps: Alternative wäre, den Zeiger auf das erste Element und die Länge getrennt zu übergeben.
  Mit Zitat antworten Zitat
Antwort Antwort

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 13:43 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