Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi String in BDS 2006 = AnsiString in RAD 2009? (https://www.delphipraxis.net/123890-string-bds-2006-%3D-ansistring-rad-2009-a.html)

nicodex 12. Nov 2008 12:21

Re: String in BDS 2006 = AnsiString in RAD 2009?
 
Zitat:

Zitat von Oreaden
Das Coole an dem Integer oder int ist doch, dass er
  • als Pointer verwendet werden kann
    [...]

Dafür gibt es in C intptr_t/uintptr_t/ptrdiff_t (ISO/IEC 9899:1999) und in FreePascal PtrInt/PtrUInt.
Für Delphi hätte man hoffen können, dass Cardinal (als einziger bereits existierender Typ, der ansatzweise in Frage kommt) auf 64-bit vergrößert wird, damit der Portierungsaufwand nicht so hoch wird... allerdings sieht es nicht danach aus und jeder Komponentenhersteler wird sich für ältere Delphi-Versionen seinen eigenen Ptr(U)Int definieren dürfen. Spätestens bei der Portierung auf 64-Bit wird den Delphi-Entwicklern die bisherige THandle-Definition und -verwendung auf die Füße fallen (Handles sind Pointer, kein Ordinaltyp). Es ist also davon auszugehen, dass bisheriger Delphi-Quellcode relativ oft aufwändig portiert oder neu entwickelt werden muss...

jbg 12. Nov 2008 17:27

Re: String in BDS 2006 = AnsiString in RAD 2009?
 
Zitat:

Zitat von nicodex
oder neu entwickelt werden muss...

Wir wollen den Teufel mal nicht an die Wand malen. Ich denke, dass der Compiler um ein paar Warnungen erweitert wird, mit denen er "Integer(Pointer)" abfängt.

Chemiker 12. Nov 2008 19:41

Re: String in BDS 2006 = AnsiString in RAD 2009?
 
Hallo,

ihr macht mir ja Freude.
Sollte man bei neuen Projekten dazu übergehen eine Unit mit eigenen Typen anzulegen, damit man sie später einfacher konvertieren kann?

Bis bald Chemiker

jbg 12. Nov 2008 19:50

Re: String in BDS 2006 = AnsiString in RAD 2009?
 
Zitat:

Zitat von Chemiker
Sollte man bei neuen Projekten dazu übergehen eine Unit mit eigenen Typen anzulegen, damit man sie später einfacher konvertieren kann?

DWORD_PTR, INT_PTR, LONG_PTR, ... sind seit Delphi 2007 dabei
NativeInt/NativeUInt ist seit Delphi 2009 (offiziell) dabei.

Oreaden 12. Nov 2008 19:54

Re: String in BDS 2006 = AnsiString in RAD 2009?
 
Zitat:

Zitat von Chemiker
Hallo,

ihr macht mir ja Freude.
Sollte man bei neuen Projekten dazu übergehen eine Unit mit eigenen Typen anzulegen, damit man sie später einfacher konvertieren kann?

Bis bald Chemiker

Guten Abend Chemiker,

an Deiner Stelle würde ich mir keine allzugroßen Gedanken darüber machen. Der Prozessor und die Architekturen werden bislang noch nicht von Microsoft definiert. Sollte dies jedoch der Fall sein, wird es Zeit auf ein Betriebssystem zu wechseln, welche die aktuellen Anforderungen erfüllen kann.

Wünsche noch einen schönen sorgenfreien Abend
Oreaden

himitsu 12. Nov 2008 19:55

Re: String in BDS 2006 = AnsiString in RAD 2009?
 
Zitat:

Zitat von jbg
NativeInt/NativeUInt ist seit Delphi 2009 (offiziell) dabei.

Und Inoffiziell gibt's die schon lange (soweit ich weiß seit D5) :angel2:

Zitat:

Zitat von jbg
Ich denke, dass der Compiler um ein paar Warnungen erweitert wird, mit denen er "Integer(Pointer)" abfängt.

Wenn deren Größe nicht übereinstimmt, dann sollte der Compiler sowieso meckern. (macht er jetzt ja auch schon)

Bernhard Geyer 12. Nov 2008 20:55

Re: String in BDS 2006 = AnsiString in RAD 2009?
 
Zitat:

Zitat von Oreaden
Das Coole an dem Integer oder int ist doch, dass er
  • als Pointer verwendet werden kann

Igiit. Sowas kenn ich primär aus dem C/C++ Lager wenn möglich unleserlicher und schlecht wartbarer Code erzeugt wird. Im Delphi-Umfeld ist so ein mißbrauch eher ein Zeichen entweder von mangelden Fähigkeiten oder von Faulheit.

Zitat:

Zitat von Oreaden
  • genau die Größe hat, mit der die CPU am besten rechnen kann

Deshalt ist auch auf modernen CPUs ein Alignment von 64 Optimal. Und das unabhängig von 32-Bit oder 64-Bit Programmen.
Und bei "normalen" Programmen wird sich die Integerarithmetik nur in sehr geringen maße auf die Performance auswirken (Normal = Kein Number-Crunsher-Aufgaben oder Bildbearbeitung)


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:44 Uhr.
Seite 3 von 3     123   

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