AGB  ·  Datenschutz  ·  Impressum  







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

Delphi .NET Facts - was sich ändert

Ein Thema von sakura · begonnen am 23. Jun 2003 · letzter Beitrag vom 13. Nov 2003
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#1

Delphi .NET Facts - was sich ändert

  Alt 23. Jun 2003, 10:45
Hi DPler,

für alle die unter Euch, welche über den aktuellen Delphi-Tellerrand schauen möchten, hier mal eine vorläufige Liste der Dinge, welche mit Delphi.NET aus der Delphi Language verschwinden werden oder welche sich ändern. Diese Liste entstammt dem Buch Mastering Delphi 7 von Marco Cantù.

Deprecated Typen
  • Pointer gelten als veraltet. Diese werden unter Umständen noch unterstützt, aber über kurz oder lang verschwinden. Pointer gelten unter .NET als unsafe Types, da deren Typ nicht überprüft werden kann. Pointer-Arithmetik ist verboten.
  • file of <type> wird nicht mehr unterstützt, da die Record-Größe abhängig von der Zielplattform sein kann.
  • Das Schlüsselwort object, welches bis lang noch unterstützt wurde, wird komplett gestrichen - es bleibt nur noch class.
  • Real48 und Comp werden verschwinden. Comp wird dabei durch Int64 ersetzt.
Basis-Typenänderungen
  • String ist in Zukunft ein WideString (16 Bit/Char), nicht mehr AnsiString (8 Bit). String wird auf System.String gemappt. Entsprechend wird Char zu WideChar (16 Bit) anstatt AnsiChar (8 Bit).
  • Records werden als "Value Types" gewertet. (Hm, keine Ahnung, wie das zu verstehen ist ) Neu ist, das Records in Zukunft auch Methoden deklarieren können. Diese müssen als final (neu!) deklariert werden. Vererbung von Records ist weiterhin nicht möglich - es gibt ja Klassen
  • TDateTime erhält ein neues Format, entsprechend dem .NET System.DateTime. Achtung!, bei allen Umstellungen. Der neue Typ kann Daten vom 01.01.01 00:00:00 bis zum einschließlich 31.12.9999 11:59:00 aufnehmen.
  • Currency wird auf den Typen System.Decimal gemappt - wird also nicht mehr direkt unterstützt.
Deprecated Code Anweisungen
  • Variant Records werden nicht mehr unterstützt, da Typen-Größen Plattformabhängig sind.
  • Der Pointer ExitProc wird nicht mehr unterstützt. Es muss auf initialization und finalization ausgewichen werden!
  • Die dynamische Einbindung von Interfaces via implements wird nicht mehr unterstützt. Argh, habe ich gerade erst kennen und lieben gelernt
  • Assembler Anweisungen werden nicht mehr unterstützt, da diese Plattform-Abhängig sind.
  • Die Schlüsselwörter automated und dispid entfallen, da diese durch die .NET Struktur nicht mehr benötigt werden.
  • Direkter Zugriff auf Speicher durch Methoden wie BlockRead, BlockWrite, GetMem, FreeMem und ReAllocMem sind nicht mehr möglich.
  • Der @-Operator wird vermutlich verschwinden

Also, wer will, kann auch schon jetzt auf diese Änderungen achten, dann wird die Umsetzung unter .NET einfacher

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2
  Alt 23. Jun 2003, 11:44
Da werden diejenigen schwer schuften müssen, die hardwarenah programmieren, mit Pointern auf Hardware-Adressen etc. zugreifen, oder knallhart den Speicher selber verwalten mit GetMem usw. Dasselbe gilt für ASM Befehle. Da das vor allem unter C++ sehr beliebt ist, können die sich warm anziehen. Ich glaube Delphi macht da wesentlich weniger Probleme.

Mir ist das sowieso egal, weil solche Programmiertechniken nur Fehler produzieren (Bluescreens kommen viel durch so was), benutze ich das alles nicht. Das mit dem "FILE OF ..." gefällt mir weniger. Das braucht man schon mal.

Meine schlimmste Befürchtung ist aber, daß in irgendeinem Programm in Zeile 1166 der Compiler streikt und keiner weiß (zumindest vorerst) warum, bzw. was wie anders gemacht werden muß. 8)

Trotzdem ist keine Panik angesagt, die werden schon einigermaßen wissen, wo die Knackpunkte liegen und dementsprechend für Alternativen Sorgen.

P.S.: jetzt habe ich die Frage vergessen: Du schreibst string wäre ein WideString, was ist das im Moment wenn man
Zitat:
VAR st : string
schreibt ? Bzw. für die neuen Typendefinitionen (Datum ja auch), was sollte man da jetzt nehmen, um später nichts verändern zu müssen ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#3
  Alt 23. Jun 2003, 11:53
Moin sakura,

soll das alles eigentlich für Delphi Language oder Delphi Language for .NET gelten?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#4
  Alt 23. Jun 2003, 11:57
Zitat von Hansa:
Bzw. für die neuen Typendefinitionen (Datum ja auch), was sollte man da jetzt nehmen, um später nichts verändern zu müssen ?
Für den String gilt, entweder Du deklarierst den als AnsiString (aktuelle Implementation von String) oder als WideString, die zukünftige Implementation.

Bei TDateTime wird es eine Menge Handarbeit, leider Da hilft nichts drumrum...

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#5
  Alt 23. Jun 2003, 11:58
Zitat von Christian Seehase:
soll das alles eigentlich für Delphi Language oder Delphi Language for .NET gelten?
Ich denke mal für beide, da kleinere Änderungen bereits jetzt in Delphi 7 vorhanden sind. Für Kylix gilt ja auch die gleiche Sprache.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#6
  Alt 23. Jun 2003, 12:02
Moin sakura,

ich dachte nur daran, dass man im Visual Studio ja mit C# arbeiten kann, bei dem halt gewisse Einschränkungen gegeben sind, oder mit C++ wo das dann nicht der Fall ist.
Man kann ja, wenn auch mit gewissen Verrenkungen, unter C# ganz normal die API Funktionen importieren und damit arbeiten, und die sich ja nicht gerade pointerlos.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#7
  Alt 23. Jun 2003, 12:05
Zitat von Sakura:
Das Schlüsselwort object, welches bis lang noch unterstützt wurde, wird komplett gestrichen - es bleibt nur noch object.
Ist das ein Schreibfehler oder raff ichs einfach nicht?
Ich denke, so sollte es heißen:
Zitat:
Das Schlüsselwort object, welches bis lang noch unterstützt wurde, wird komplett gestrichen - es bleibt nur noch class
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#8
  Alt 23. Jun 2003, 12:11
Zitat von sakura:
Bei TDateTime wird es eine Menge Handarbeit, leider Da hilft nichts drumrum...
Wollen die etwa einen neuen Date-Typ bringen, den es noch nicht gibt ? Na ja, ^QA gibts ja auch noch. Und ich habe vor längerer Zeit mal ein Programm gebastelt, daß den Quelltext nach einem Wort durchsucht und durch ein anderes ersetzt. Anscheinend muß man zu solch rabiaten Mitteln greifen.

Leider weiß ich den Grund nicht mehr, warum ich ein "^QA" Programm geschrieben habe, hört sich trotzdem langsam nach schlechtem Film an. Vieles wird anders oder entfällt, aber nun die entscheidende Frage: Was ist der Vorteil von dem Firlefanz
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#9
  Alt 23. Jun 2003, 12:38
Zitat von Chewie:
Ist das ein Schreibfehler oder raff ichs einfach nicht?
Ich denke, so sollte es heißen:
Zitat:
Das Schlüsselwort object, welches bis lang noch unterstützt wurde, wird komplett gestrichen - es bleibt nur noch class
*Asche auf mein Haupt* Danke, ich habe es im Original korrigiert.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#10
  Alt 23. Jun 2003, 12:40
Zitat von Hansa:
Wollen die etwa einen neuen Date-Typ bringen, den es noch nicht gibt ?
^QA wird Dir leider nicht viel helfen, da der neue Datentyp und der alte Datentyp den gleichen Namen haben, aber leider verschiedenen implementiert sind. Wer aber fleißig die DateTime-Funktionen genutzt hat, der sollte i.A. keine Probleme bekommen, allerdings dürften diejenigen, welche z.B. mit Int und Frac gearbeitet haben leichte Schwierigkeiten bekommen. Näheres schreibe ich, sobald ich es weiß.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 08:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz