AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DCU in neue Delphi-Version einbinden

Ein Thema von TomyN · begonnen am 1. Jul 2024 · letzter Beitrag vom 2. Jul 2024
Antwort Antwort
TomyN

Registriert seit: 8. Nov 2006
Ort: Bayreuth
267 Beiträge
 
Delphi 10.3 Rio
 
#1

AW: DCU in neue Delphi-Version einbinden

  Alt 1. Jul 2024, 21:41
Im Prinzip habt ihr ja alle recht. Nun ist es aber so, dass es sich hier um den Zugriff auf einen Lizenzdongle handelt, und da bin ich eigentlich ganz froh, dass nicht alles offen liegt.
Bisher hat der Hersteller auch immer die entsprechende DCU bereit gestellt, ab und zu hat es halt etwas gedauert.
Gibt es eigentlich einen technischen Grund für diese enge Versionsbindung und die fehlende Aufwärtskompatibilität der DCUs? Marketingtechnisch ist es doch eher ein Grund gegen ein kostenpflichtiges Update.
Das mit der magischen Nummer hab ich schon probiert, da meckert Delphi dann, dass die DCU fehlerhaft sei. Ich vermute eine interne(?) Checksumme die ich auch ändern müsste, dazu finde ich aber nix im Netz.
Es geht aktuell nur um den Versionssprung von 10.3.2 auf 10.4.2.
I tried the magic number (4th byte) but in this case the compiler will report 'faulty DCU'.
Thomas Neumann
Meine Projekte
www.satlive.audio
www.levelcheck.de
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: DCU in neue Delphi-Version einbinden

  Alt 1. Jul 2024, 22:57
Zitat:
Sicherheit durch Verstecken
Nein, das ist nicht sicherer. (Denkt auch grad wer an die Vollbitverschlüsselung?)
Drum ist nahezu alles "Sichere" auch OpenSource, damit jeder die Sicherheit prüfen kann.

DCU und BPL sind nunmal nur für je eine Delphi-Version.

10.3 zu 10.4 verhält sich wie XE zu XE2, bzw. wie D6 zu D7.

In eine DLL gepackt wäre es quasi unabhängig, so lange man nichts delphi-typisches übergibt. (z.B. Delphi-Strings oder Objekte)
Oder in eine andere EXE und via IPC.

Man muß es ja nicht gleich übertreiben.
https://www.delphipraxis.net/213691-...-methoden.html
https://www.delphipraxis.net/213732-...n-gesucht.html
-> https://www.delphipraxis.net/213736-...-fuer-neu.html

https://www.delphipraxis.net/214881-...nis-frage.html
https://www.delphipraxis.net/213949-...elphi-6-a.html
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 1. Jul 2024 um 23:04 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.629 Beiträge
 
Delphi 12 Athens
 
#3

AW: DCU in neue Delphi-Version einbinden

  Alt 2. Jul 2024, 09:18
In eine DLL gepackt wäre es quasi unabhängig
Eine DLL hat aber auch den Nachteil, dass sie relativ leicht ersetzt und der Schutz damit umgangen werden kann.

Ich verwende bei einem Programm seit ca. 25 Jahren (damals mit Delphi 5, jetzt Delphi 12) auch einen Lizenzdongle. Allerdings liegt dafür der benötigte Zugriffscode zum Dongle-Treiber als OBJ-Datei vor, die ich problemlos in die EXE linken kann. Die Delphi-Unit dazu habe ich selbst geschrieben, da mir die mitgelieferte Version irgendwie etwas lieblos zusammengestrickt erschien. Aber ich gestehe dem Hersteller zu, dass er ja sowas auch für zig andere Sprachen liefern muss.

Zwischenzeitlich hatte ich mal versucht, das auf eine simple, personalisierte Lizenznummer umzustellen, die hardwareunabhängig lief. Leider wurde das sehr schnell und übermäßig missbraucht. Man glaubt gar nicht, wie dreist manche Leute sind und mit so einer offensichtlich fremden Lizenz bei mir anrufen und Support erwarten.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: DCU in neue Delphi-Version einbinden

  Alt 2. Jul 2024, 13:23
Eine DLL hat aber auch den Nachteil, dass sie relativ leicht ersetzt und der Schutz damit umgangen werden kann.
Verschlüsselte Kommunikation,
oder z.B. die DLL signieren und die Signatur dann auch ordentlich prüfen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
TomyN

Registriert seit: 8. Nov 2006
Ort: Bayreuth
267 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: DCU in neue Delphi-Version einbinden

  Alt 2. Jul 2024, 16:59
In eine DLL gepackt wäre es quasi unabhängig
Eine DLL hat aber auch den Nachteil, dass sie relativ leicht ersetzt und der Schutz damit umgangen werden kann.

Ich verwende bei einem Programm seit ca. 25 Jahren (damals mit Delphi 5, jetzt Delphi 12) auch einen Lizenzdongle. Allerdings liegt dafür der benötigte Zugriffscode zum Dongle-Treiber als OBJ-Datei vor, die ich problemlos in die EXE linken kann. Die Delphi-Unit dazu habe ich selbst geschrieben, da mir die mitgelieferte Version irgendwie etwas lieblos zusammengestrickt erschien. Aber ich gestehe dem Hersteller zu, dass er ja sowas auch für zig andere Sprachen liefern muss.
Ja, das musste ich auch erleben, bin aber aktuell immer noch bei beiden Lizenzmodellen (gerade weil die Software weltweit im Einsatz ist). Es ist nicht zufällig der Felsenschlüssel den Du verwendest? Ich hab ne ganze Menge Dateien hier, mal sehen was ich basteln kann.
Und eine verschlüsselte Kommunikation mit einer DLL, die das nicht unterstützt????
Thomas Neumann
Meine Projekte
www.satlive.audio
www.levelcheck.de
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.629 Beiträge
 
Delphi 12 Athens
 
#6

AW: DCU in neue Delphi-Version einbinden

  Alt 2. Jul 2024, 17:17
Es ist nicht zufällig der Felsenschlüssel den Du verwendest?
Da ich mit der Bezeichnung nichts anfangen kann, gehe ich mal davon aus, dass es nicht der gleiche ist.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: DCU in neue Delphi-Version einbinden

  Alt 2. Jul 2024, 17:21
dafür müsste man aber auch in den Compilern ständig alte Dinge mitschleppen, wenn man sowas implementieren wöllte.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
TomyN

Registriert seit: 8. Nov 2006
Ort: Bayreuth
267 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: DCU in neue Delphi-Version einbinden

  Alt 2. Jul 2024, 19:13
Man müsste das nicht unbedingt im Compiler mitschleppen, eine einfache Konvertierung würde völlig reichen. Und es muss auch nicht von Delphi5 auf 12.2 sein, aber dass eine DCU aus 10.3 in 10.4 nicht mehr funktioniert finde ich schon, sagen wir mal 'Schwach'.
Thomas Neumann
Meine Projekte
www.satlive.audio
www.levelcheck.de
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.222 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: DCU in neue Delphi-Version einbinden

  Alt 2. Jul 2024, 10:45
Gibt es eigentlich einen technischen Grund für diese enge Versionsbindung und die fehlende Aufwärtskompatibilität der DCUs?
Eine Fomat ohne Versionsabhängigkeiten zum Compiler sind entweder weniger Flexibel oder die Runtime dafür ist komplexer zu definieren und zu Entwickeln.
Für Delphi haben die Entwickler das damals evtl. in Betracht gezogen und dann verworfen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
TomyN

Registriert seit: 8. Nov 2006
Ort: Bayreuth
267 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: DCU in neue Delphi-Version einbinden

  Alt 2. Jul 2024, 16:52
Gibt es eigentlich einen technischen Grund für diese enge Versionsbindung und die fehlende Aufwärtskompatibilität der DCUs?
Eine Fomat ohne Versionsabhängigkeiten zum Compiler sind entweder weniger Flexibel oder die Runtime dafür ist komplexer zu definieren und zu Entwickeln.
Für Delphi haben die Entwickler das damals evtl. in Betracht gezogen und dann verworfen.
Hmm, also ich weiss ja nicht genau, was in so einer DCU drin ist. Entweder bereits kompilierter Code + Infos über die Schnittstellen. Da sehe ich keinen Aufwand in einer neuen Version, evtl. würde im aktuellen Compiler vielleicht etwas effektiver übersetzten, aber man könnte den Code weiter einbinden.
Oder es ist eine Metasprache, dann wäre es doch auch kein Problem, den alten Interpreter (oder Meta zu ASM Compiler) über ein if dcu version = xx einzubinden. Oder man convertiert das ganze halt schnell in das neue Format. Man müsste nur wollen, will man aber nicht bei E. man will ja auch keine Bugs zum 'nulltarif' beheben.
Thomas Neumann
Meine Projekte
www.satlive.audio
www.levelcheck.de
  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 22: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