AGB  ·  Datenschutz  ·  Impressum  







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

WideString -> TStream?

Ein Thema von blackdrake · begonnen am 19. Aug 2007 · letzter Beitrag vom 19. Aug 2007
Antwort Antwort
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#1

Re: WideString -> TStream?

  Alt 19. Aug 2007, 19:42
Zitat:
Was ist jetzt eigentlich mit dem [1] und einem leeren String? Mein PC ist nicht in einer atomaren Explosion untergegangen, als ich die Editbox geleert und die Aktion ausgeführt habe.
Bei dir gibt es durch das ws+#0#0 sowieso keine Probleme, da dein String damit niemals leer ist. Ergo: Brauchst du den Kommentar nicht beachten.

Falls du aber mal einen string nicht konstant erweiterst, bevor du auf eine Element zugreifst:
Wenn du das mit einem ansistring versuchst, dann greift das Programm bei einem leeren string auf Adresse $0000000 zu und es gibt eine AV.
Bei WideString ist das (derzeit) aber wiederum völlig anders. Delphi macht aus dem Widestring einen PWideChar. Und wenn der widestring leer ist, dann gibt diese Funktion als Ergebnis einen gültigen Zeiger auf #00#00 im Datensegment zurück. Dadurch gibt es keine AV. Allerdings sollte man sich auf so etwas nicht verlassen (man weis ja nie was der Compiler morgen macht) und lieber vorher abfragen, ob ws ein Leerstring ist. Du kannst auch gleich statt "value[1]" PWideChar(Value) nehmen. Dann wärst du auf der sicheren Seite, wenn nicht dieses Problem dir dazwischen funkt.

PS: Ich frage mich grad, ob der Compiler bei WS+#0#0 2 Bytes oder 4 Bytes anhängt
Edit: Bei mir sind es vier.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  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 14:08 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