AGB  ·  Datenschutz  ·  Impressum  







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

Ersatz für Delphi 5

Ein Thema von MET · begonnen am 20. Jan 2020 · letzter Beitrag vom 13. Feb 2020
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Ersatz für Delphi 5

  Alt 20. Jan 2020, 17:24
Hallo,
das kommt ja auf deine Quelltexte an... -> ausprobieren
Die Community-Version ist aktuell, pro Major-Release (10.3) kommt eine Community-Version, kann man etwa so sagen.
Heiko

Geändert von hoika (20. Jan 2020 um 22:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Ersatz für Delphi 5

  Alt 20. Jan 2020, 18:10
Bis Delphi 2006 wurde noch mit "kompletter" Abwärtskompatibilität, bis hin zu Turbo-Pascal geworben.

Seit 2009 ist das ein bissl auf dem absteigenden Ast und wird nicht mehr erwähnt.
Aber grundsätlich sollten deine alten Programme halbwegs kompatibel sein, eventuell mit kleinen Anpassungen
  • ein paar Funktionen und Klassen wurden in andere Units verschoben -> F1 drücken und die neue Unit suchen
    bzw. Einiges wurde entfernt, umbenannt oder durch Neues ersetzt
  • viele/fast alle Units haben nun einen Namespace und beim Upgrade der DPROJ fehlen die Standardnamespaces in den Projektoptionen
    (aus einem neuen Projekt kopieren, oder die Namespaces überall in den USES nachtragen ... z.B. Forms -> VCL.Forms)
  • etwas aufpassen mußt du in Bezug auf Unicode, also dass das bei der Umstellung richtig mitgezogen wird,
    aber meistens gibt es da dann Compiler-Warnungen (außer du hast irgendwo was Böses gebaut, mit wilden typlosen Pointern)
  • bei selbsgeschriebenen DLL-Importen mußt du aufpassen, denn nur weil sich im Delphi PChar nun intern von PAnsiChar zu PWideChar ändert, bleiben die DLLs natürlich gleich.
    Oft kann man da einfach aus PChar ein PAnsiChar in den Deklarationen machen (oder schauen ob es eine passende UnicodeAPI gibt) und bei den Aufrufen dann natürlich auch AnsiString/PAnsiChar rein geben, wobei dort der Compiler hoffentlich sich melden wird, wie schon erwähnt wurde
  • Wenn man dann mit Unicode fertig ist und sich langweilt, dann könnte man auch gleich noch bezüglich 64 Bit schauen, damit z.B. bei Pointer-Integer-Casts und Dergleichen noch alles passt

Und natürlich gibt es viele neue Funktionen/Typen/..., wo sich nach der ersten harten 1:1-Umstellung bestimmt ein Review deines Codes eventuell lohnen wird,
mit Überarbeitung des alten Codes und Umstellung auf "schönere" Funktionen.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (20. Jan 2020 um 18:18 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
913 Beiträge
 
Delphi 12 Athens
 
#3

AW: Ersatz für Delphi 5

  Alt 20. Jan 2020, 19:56
Das größte Problem dürfte das "Unicode"-Problem sein. Vor Delphi 2009 hatte ein "String" ein Byte pro Zeichen, danach sind es zwei. Wenn du irgendwo in deinen alten Codes stillschweigend davon ausgehst, dass ein Zeichen 1 Byte hat, wird dir der Code mit der neuen Version mehr oder weniger um die Ohren fliegen. Besonders problematisch ist das bei Binär-Dateien, in die du auch Text hineinschreibst oder daraus lesen willst (bei mir musste damals z.B. meine Unit zum Bearbeiten von ID3-Tags überarbeitet werden). Ebenso natürlich alles mit PChar - war früher ein PAnsiChar, jetzt ein PWideChar.

Je nachdem, was du in deinen bisherigen Projekten gemacht hast, würde ich das nicht auf die leichte Schulter nehmen, sondern gründlich testen, bevor du die neuen Compilate auf echte Daten loslässt.

Allgemein macht der Umstieg aber keine grundlegenden Probleme, und die neueren IDEs sind imho deutlich komfortabler.

Edit: Die Indy-Komponenten könnten ggf. auch Ärger machen. Ich weiß nicht, ob du die verwendest, und welche Version dann unter D5 läuft. Aber da gibt es zu den neuen Versionen teils massive Inkompatibilitäten. Wenn das dann noch in Kombination mit "Unicode" auftritt (z.B. URL-Encoding, nicht-Ascii-Get-Parameter etc.) macht das wirklich "Freude".
Being smart will count for nothing if you don't make the world better. You have to use your smarts to count for something, to serve life, not death.

Geändert von Gausi (20. Jan 2020 um 20:06 Uhr)
  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 00:48 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