AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi CE 12: constructor und Free vertragen sich nicht mit den destructor ?
Thema durchsuchen
Ansicht
Themen-Optionen

CE 12: constructor und Free vertragen sich nicht mit den destructor ?

Ein Thema von paule32.jk · begonnen am 6. Aug 2024 · letzter Beitrag vom 7. Aug 2024
Antwort Antwort
Benutzerbild von himitsu
himitsu

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

AW: CE 12: constructor und Free vertragen sich nicht mit den destructor ?

  Alt 7. Aug 2024, 15:35
Kommt drauf an.

Variant kennt "direkt" kein RawByteString, aber es kennt Byte-Arrays, allerdings handhabt man das schon bissl umständlicher.
AnsiString und UnicodeString kennt er nur innerhalb des Delphi
und sonst kennt es halt nur noch den BSTR (WideString) und PAnsiChar, sowie PWideChar.

Ja, man kann Variant/OleVariant für Binärdaten nutzen, aber es gibt auch Einfacheres.

C++ kennt Variant OleVariant, aber es kennt auch den BSTR
und ansonsten halt z.B. PAnsiChar oder "statische" ByteArray usw.

Wenn C-seitig nur gelesen wird, kann man auch AnsiString und UnicodeString als Funktionsparameter verwenden,
welche drüben als PAnsiChar und PWideChar behandelt werden, da die LongString intern kompatibel dazu sind.
(Zeiger auf ersten Char, nicht auf die davorliegenden Verwaltungsdaten, und hinten immer gefolgt von zwei #0#0)


Erstmal Variant versus OleVariant.
* Variant kann auch einige delphi-spezifische Typen enthalten, wie z.B. LongStrings ala AnsiString und UnicodeString
* der OleVariant kennt nur die standardmäßigen Typen des OLE32/OLEAuth, also so, wie Windows einen "Variant" definiert hat
* die Übergabe an externe Funktionen, welche Delphi nicht kennen, sollte somit nur via OleVariant erfolgen (nicht Variant)

Variant hat definitiv keine Referenzzälung (selbst wenn es einige interne Typen könnten).

Die LongStrings haben eine Referenzzählung, also Kopieren/Zuweisen von Variablen, sowie Übergabe an Property und Nicht-Const-Parameter geht extrem schnell und ressourcenschonend (CPU-Last und Arbeitsspeicher).

WideString (BSTR) bietet seit XP eine Referenzzälung, aber Delphi hat das nicht implementiert,
somit wird immer der komplette Inhalt kopiert, über einem fremden Speichermanager.

OleVairant nutzt intern nur den WideString, wenn man ihm z.B. einen String bzw. UnicodeString zuweist.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 7. Aug 2024 um 17:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
371 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: CE 12: constructor und Free vertragen sich nicht mit den destructor ?

  Alt 7. Aug 2024, 16:13
ich weiß auch gerade nicht so recht, ob FPC auch supported werden soll.
Auf der einen Seite kann man mit FPC kommerzielle Anwendungen credenzen - allerdings ist FPC so nen gefukkel aus allem möglichen Platformen (und natürlich richtig fätte .Exe cutables erzeugend).

Mit Delphi CE 12 kann ich auch Programme erstellen, aber hier habe ich auch ein gefukkel (also erstmal in der Anfangsphase).
Aber: es werden DLL Bibliotheken besser unterstützt.
Aber: die CE ist restriktiv - Du kannst sie als Testversion einsetzen, soll aber keine Testversion sein ?
Ich kann aber diese Version nicht einsetzen, da ich 80 Euro pro Monat bekomme (für Schnukkelkram und Körperpflege).
im Jahr würde das 960 Euro bedeuten.
Aber: wenn ich damit 5000 Euro Umsatz machen würde, werden die:
Code:
  5.000
-   960
-------------
= 4.040 Euro
Aber: dieser Rest wird angerechnet ? - auf was ?

Ich bin nicht direkt angestellt, sondern nur untergebracht.
Muss ich da dann den Umsatz meiner Firma mit einfließen lassen ?

Worauf ich aus bin:
- lohnt sich der "unentgeltliche" Aufwand: also kann man solche Gedanken gebrauchen - also die Anbindung Delphi/FPC => GNU C++ => FPC/Delphi ?
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet
  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 04:40 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