![]() |
Problem bei ReadBuffer ;(
Hi, ich habe jetzt seit ein paar Tagen .net und arbeite jetzt ein wenig damit.
So wollte ich eine alte Unit von mir in einer VLC Anwendung verwenden, hat auch vieles geklappt, aber bei dieser Procedure bekomme ich einen Fehler:
Delphi-Quellcode:
procedure BIB_FileReplaceString(FileName, searchstring, replacestring: string);
var fs: TFileStream; S: string; begin // Erstellen der Variablen für die Datei fs := TFileStream.Create(FileName, fmOpenread or fmShareDenyNone); try SetLength(S, fs.Size); fs.ReadBuffer(S[1], fs.Size); finally fs.Free; end; // Ersetzen des Textes S := StringReplace(S, SearchString, replaceString, [rfIgnoreCase]); fs := TFileStream.Create(FileName, fmCreate); try fs.WriteBuffer(S[1], Length(S)); finally fs.Free; end; end; Durch ausschneiden compilieren, ausschneiden kompilieren habe ich den Fehler gefunden, es liegt an dieser Zeile:
Delphi-Quellcode:
fs.ReadBuffer(S[1], fs.Size);
Die Fehlermeldung lautet: [Error] BIB_Dateibearbeitung.pas(253): String element cannot be passed to var parameter Ich hoffe jemand kann mir helfen mfg Curse4Life |
Re: Problem bei ReadBuffer ;(
Delphi-Quellcode:
Ich würde das so gestalten. Denn hinter einen Long-String steht eigentlich ein PChar.
procedure BIB_FileReplaceString(FileName, searchstring, replacestring: string);
var fs: TFileStream; S: string; begin // Erstellen der Variablen für die Datei fs := TFileStream.Create(FileName, fmOpenread or fmShareDenyNone); try SetLength(S, fs.Size); fs.Read(PChar(S)^, fs.Size); finally fs.Free; end; // Ersetzen des Textes S := StringReplace(S, SearchString, replaceString, [rfIgnoreCase]); fs := TFileStream.Create(FileName, fmCreate); try fs.Write(PChar(S)^, Length(S)); finally fs.Free; end; end; |
Re: Problem bei ReadBuffer ;(
Deine Variante funktioniert leider nicht! ;(
|
Re: Problem bei ReadBuffer ;(
Was funktioniert wie nicht, etwas genauer bitte?
|
Re: Problem bei ReadBuffer ;(
Diese Fehlermeldung bei der Zeile mit dem Read
[Error] BIB_Dateibearbeitung.pas(240): Invalid typecast mfg |
Re: Problem bei ReadBuffer ;(
Kann ich leider mit Delphi7 Prof nicht nachvollziehen.
Delphi-Quellcode:
Result : String;
aStream.Read(PChar(Result)^, dwLen);
dwLen : Cardinal; Funktioniert einwandfrei. :gruebel: Welche Delphiversion? |
Re: Problem bei ReadBuffer ;(
8, .net eben :)
mfg |
Re: Problem bei ReadBuffer ;(
Da geht es natürlich nicht!
-> Delphiversion angegeben!!! Mit D8 kenne ich mich nicht aus! Das einzige was ich mache ich C#. Schau mal nach der Convert-Klasse. Binärstrom. |
Re: Problem bei ReadBuffer ;(
Zitat:
...:cat:... |
Re: Problem bei ReadBuffer ;(
Zitat:
Ich kenne mich nur mit read und write aus, jedoch nicht mit readBuffer und writeBuffer. DANNYBOY |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:33 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