![]() |
inkompatibilität von dateitypen
Delphi-Quellcode:
gibt die fehlermeldung "incompatible types: 'String' and 'PChar'"
const datenpfad='c:\test\';
backuppfad='c:\test\BU\'; var s='123.txt'; Windows.CopyFile(datenpfad+s, BackupPfad+'testBU.txt',false); was kann ich dagegen tun? Gruß Martin |
Re: inkompatibilität von dateitypen
Delphi-Quellcode:
CopyFile(PChar(datenpfad+s), PChar(BackupPfad+'testBU.txt'),false);
|
Re: inkompatibilität von dateitypen
du musst den String zum PChar umwandlen (casten)
Delphi-Quellcode:
Du hast schlichtweg den Falschen Typ übergeben. Es wurde ein PChar verlangt und du hast versucht einen String zu übergeben. Das wäre ungefähr so als würdest du bei einer Funktion die einen Integer als Parameter verlangt einen String übergeben.
Windows.CopyFile(PChar(datenpfad+s), PChar(BackupPfad+'testBU.txt'),false);
[Edit]Hab das trotzdem mal gepostet, trotz dessen das die Antwort schon da war damit der Fragende auch den Grund für die Meldung des Compilers erfährt[/Edit] |
Re: inkompatibilität von dateitypen
Delphi-Quellcode:
CopyFile(@(datenpfad+s)[1], @(BackupPfad+'testBU.txt')[1],false);
|
Re: inkompatibilität von dateitypen
@SirThornberry:
Sag ich doch! PChar(...) Das Windows. kann man auch weglassen, wenn Winduws in uses eingebunden ist. |
Re: inkompatibilität von dateitypen
*flüster* Das ist der Fluch des roten Kastens...
|
Re: inkompatibilität von dateitypen
@Martin: Jup, du hattest die richtige Lösung bereits geschrieben. Ich wollte eben damit sich der Fragende weiterbilden kann, das Wort "Cast" noch erwähnen und ein Beispiel warum es falsch ist (vergleich Integer<>String).
|
Re: inkompatibilität von dateitypen
@SirThornberry:
Jo, war ja nicht bös gemeint. |
Re: inkompatibilität von dateitypen
![]() |
Re: inkompatibilität von dateitypen
besten Dank, das wort casten ist mir gerade nicht eingefallen, aber genau sowas suchte ich.
Delphi-Quellcode:
sowas ähnliches hab ich auch schon probiert, nur leider ohne @ und mit einer 0 statt einer 1...
CopyFile(@(datenpfad+s)[1], @(BackupPfad+'testBU.txt')[1],false);
gruß Martin |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:01 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 by Thomas Breitkreuz