![]() |
Pointer/Typ Problem mit SetString
Hi
Ich habe ein "Array of Widechar" als Feld in einer Recordstruktur. Mittels SetString wandele ich das ganze folgendermaßen in einen String um.
Delphi-Quellcode:
Das funktioniert auch wunderbar.
SetString( resultvaluedata,test4.name, test4.namelength);
Aber: Ich benötige dasselbe nochmal, und zwar nicht vom 1. Zeichen, sondern vom 10. Zeichen im Array. Also quasi soetwas
Delphi-Quellcode:
Jedoch bekomme ich dabei immer die Compilermeldung "Inkompatible Typen", weis vielleicht jemand wie der Aufruf lauten muss?
SetString( resultvaluedata,test4.name[10], test4.namelength);
mfG Richard |
Re: Pointer/Typ Problem mit SetString
Moin, Moin.
Mit ....[10] "holst" du ja nur EIN Zeichen (das 10te) - versuche es mal mit COPY() :lol: |
Re: Pointer/Typ Problem mit SetString
Der indizierte Zugriff ist nur beim PChar Typ als Compilermagic implementiert, alle anderen Pointer-Typen bieten dies nicht an. Von daher: per Hand:
Delphi-Quellcode:
@taaktaak: Schau dir mal die Funktion SetString an.
var
lTempPtr: PWideChar; begin lTempPtr := @test4.name[0]; Inc(lTempPtr, 10); SetString( resultvaluedata, lTempPtr, test4.namelength); end; |
Re: Pointer/Typ Problem mit SetString
Ohhh, Ohhh :oops:
... ich sag' nix mehr - SORRY |
Re: Pointer/Typ Problem mit SetString
Danke Muetze1, funktioniert hervoragend
mfG Richard |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:39 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