AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

"Datentyp" record end wer kennt ihn?

Ein Thema von QuickAndDirty · begonnen am 4. Dez 2024 · letzter Beitrag vom 11. Dez 2024
Antwort Antwort
Benutzerbild von himitsu
himitsu

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

AW: "Datentyp" record end wer kennt ihn?

  Alt 4. Dez 2024, 16:09
Es gibt in einigen API/Records oftmals Daten hinter dem Record, z.B. im Record nur NameLen und dann "eigentlich" hinter dem Record stehen die Chars des Namen.

Um im Speicher einen Zeiger auf den Namen zu haben, verwenden Viele gern sowas, aber auch char[0] name , was sich so aber nicht nach Delphi konvertieren lässt, da char[0] "keine Chars" bedeutet, aber ein name: array[0..0] of AnsiChar halt "1 Char" ergibt, womit der Record in Delphi eine falsche Größe besitzt.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
496 Beiträge
 
Delphi 12 Athens
 
#2

AW: "Datentyp" record end wer kennt ihn?

  Alt 11. Dez 2024, 13:55
Ich nutze das manchmal als leeren Typen für Typparameter generischer Typen, wenn der Typparameter egal ist. Angenommen du hast so einen Typen:
Delphi-Quellcode:
TMyGen<T> = class
  const Value = 5.56;
end;
Und du deklarierst einen leeren Typen TNil irgendwo:
Delphi-Quellcode:
TNil = record
end;
Und du willst jetzt nicht unbedingt irgendeinen spezifischen Typparameter für TMyGen<T> festlegen, dann kannst du mit einem "leeren" typen so auf Value zugleifen:
TMyGen<TNil>.Value Ich finde, so einen void-typen mit der Größe 0 (SizeOf(TNil) ergibt ja 0 ) sollte es standardmäßig in SysUtils oder so geben.
Dennis
  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 11:34 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