AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi C++ Struct nach Delphi portieren
Thema durchsuchen
Ansicht
Themen-Optionen

C++ Struct nach Delphi portieren

Ein Thema von Zacherl · begonnen am 8. Feb 2011 · letzter Beitrag vom 8. Feb 2011
Antwort Antwort
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

AW: C++ Struct nach Delphi portieren

  Alt 8. Feb 2011, 09:45
Vielen Dank für deine Erklärung. Dass es sich um Konstruktoren handelt, da wär ich nie drauf gekommen Hatte da eher spontan auf variante Records getippt ^^
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: C++ Struct nach Delphi portieren

  Alt 8. Feb 2011, 09:56
Hab oben mal was nacheditiert.

PS: Warum werden beim Editieren über den Inlineeditor keine neuen Beiträge geladen, wenn zwischendurch geantwortet wurde?

Nee, das Meiste sind einfach nur "Methoden"/Funktionen.
Du kannst das Verhalten aber auch gerne in einen eigenen Variant-Typ verpacken, aber dein D2010 kennt ja schon die Record-Operatoren, so daß man es quasi fast komplett direkt übersetzen und so belassen kann.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 8. Feb 2011 um 10:01 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

AW: C++ Struct nach Delphi portieren

  Alt 8. Feb 2011, 10:03
Wow danke dir recht herzlich Ich teste das zu Hause direkt mal im Einsatz. Beeinflussen class operator Felder eigentlich die Größe des Records?
Würde ich z.b. jetzt einen Record mit einer normalen Methode erstellen, wäre dieser ja 4 Bytes groß. Ich frage nur, weil dieser Record zu einer anderen Anwendung kompatibel gelesen / gespeichert werden soll. Da wäre es natürlich blöd, wenn durch die class operators die Größe verfälscht wird.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: C++ Struct nach Delphi portieren

  Alt 8. Feb 2011, 10:08
Hallo,

Delphi-Quellcode:
type
  TTest = record
    A: Integer;
    procedure Blubb;
    class function X: Integer; static;
  end;

// SizeOf(TTest) = 4
Nein, die Größe wird nicht verändert
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

AW: C++ Struct nach Delphi portieren

  Alt 8. Feb 2011, 10:11
Perfekt danke dir! Konnte leider nicht selbst testen, da hier kein Delphi installiert ist

Edit: Moment das verwundert mich jetzt, dass die procedure die Größe auch nicht beeinflusst. Argh achso ne da war ich wohl in Gedanken bei den VTable Functions.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)

Geändert von Zacherl ( 8. Feb 2011 um 10:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#6

AW: C++ Struct nach Delphi portieren

  Alt 8. Feb 2011, 12:07
Vielen Dank für deine Erklärung. Dass es sich um Konstruktoren handelt, da wär ich nie drauf gekommen Hatte da eher spontan auf variante Records getippt ^^
struct und class sind in C++ identisch mit dem einen kleinen Unterschied, daß in einer struct alle Elemente (Funktionen und Daten) implizit public sind und bei class eben private.

Wenn ich jedoch schreibe:

Code:
class foo
{
public:
  foo() {}
}
ist das im Grunde (bis auf die Typisierung) das gleiche wie:

Code:
struct foo
{
public:
  foo() {}
}
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: C++ Struct nach Delphi portieren

  Alt 8. Feb 2011, 14:23
Und was ich in Delphi grade wieder liebe, sind diese Meldungen, für Konstructoren, mit keinen oder nur varianten Parametern:
Delphi-Quellcode:
[DCC Fehler] Unit3.pas(25): E2394 Parameterlose Konstruktoren sind für Record-Typen nicht zulässig
[DCC Fehler] Unit3.pas(37): E2471 Möglicherweise parameterlose Konstruktoren sind in Record-Typen nicht zulässig
Wo mir auch noch keiner plausibel erklären konnte, warum das nicht erlaubt ist.
Ein Therapeut entspricht 1024 Gigapeut.
  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 10:49 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