Re: Pointer(MyString)^ vs MyString[1] ?
28. Sep 2004, 07:22
PChar() ist kein Typecast sondern eine Funktion.
Der Leerstring in Delphi wird naemlich durch nil dargestellt.
PChar() stellt sicher das in diesem Fall ein C-Leerstring vorhanden ist.
Zusatzlich wird oft auch noch ein UniqueString aufgerufen, um sicherzustellen das
ein schreibfaehiger String vorhanden ist.
Die Aufrufe in den Delphi-Sourcen sind also wahrscheinlich aus Effizienzgruenden mit Pointer realisiert.
Es sollten entsprechend Sicherheitschecks gemacht werden.
|