Einzelnen Beitrag anzeigen

Benutzerbild von d3g
d3g

Registriert seit: 21. Jun 2002
602 Beiträge
 
#6
  Alt 6. Jan 2003, 12:22
Hallo Leute,
danke für eura Antworten, leider bin ich immer noch nicht schlauer...

Zitat von Sakura:
Wie wärs mit: weil Delphi erkennt, dass ein PChar erwartet wird und ein #0 hinten anhängt?
Ich habe gelesen, dass @String[1] gerade ohne Compiler Magic funktionieren soll...

Zitat von Christian Seehase:
wenn ein Parameter vom Typ string übergeben wird, dann wird intern ein Aufruf der Prozedure UniqueString ausgeführt, der, wenn ich das eben im CPU Fenster richtig gesehen habe, immer eine #00 ans Ende anfügt.
Aber @String[1] ist doch kein String, sondern ein ^Char und damit dürfte auch kein UniqueString() ausgeführt werden .

Zitat von jbg:
Ein AnsiString fürht 2 Längeninformationen mit sich. Zum einen in den 8 Bytes vor der Adresse, auf die die Variable zeigt, und zum anderen ist jeder String sowieso Nullterminiert.
Wieso nullterminiert? Wäre er das, dann könnte ich doch ohne Konvertierung einen String an eine API-Funktion übergeben, da er auf das erste Zeichen des Strings zeigt und somit auch ein PChar wäre.

Irgendwie hab ich das Gefühl auf der Leitung zu stehen...

MfG,
d3g
-- Crucifixion?
-- Yes.
-- Good. Out of the door, line on the left, one cross each.
  Mit Zitat antworten Zitat