![]() |
Buffer beibringen von Indys akzeptiert zu werden
Hi Leute,
ich hab in den letzten Tagen einen Buffer für meine Übertragung gebaut. Dieser funktioniert auch soweit ganz gut nur hab ich jetzt ein Problem beim Übertragen von dem Buffer. Wenn ich den Buffer so benutzen will:
Delphi-Quellcode:
dann bekomme ich folgende Fehlermeldung
IOHandler.Write(TransferBuffer, cFileSplitSize);
E2250 Es gibt keine überladene Version von 'Write', die man mit diesen Argumenten aufrufen kann Der Buffer ist im Grundlegenden so aufgebaut:
Delphi-Quellcode:
wie kann ich ihm beibringen das er diese Funktionen benutzt wenn ich IOHandler.Write mit dem Buffer aufrufe?
TTransferBuffer = class(TThread)
public function Read(var Buffer; Count: integer): integer; function Write(const Buffer; Count: integer): integer; end; |
Re: Buffer beibringen von Indys akzeptiert zu werden
Welchen Typ hat Buffer?
|
Re: Buffer beibringen von Indys akzeptiert zu werden
Also der TransferBuffer ist vom Typ TTransferBuffer ...
oder was meinst du? |
Re: Buffer beibringen von Indys akzeptiert zu werden
Nein, die Parameter dessen Methoden
|
Re: Buffer beibringen von Indys akzeptiert zu werden
function Write(const Buffer; Count: integer): integer;
aso du meinst diesen Buffer ... der hat keinen typ er ist genau so deklariert wie oben angegeben. |
Re: Buffer beibringen von Indys akzeptiert zu werden
Er muss aber einen Typ haben
|
Re: Buffer beibringen von Indys akzeptiert zu werden
müssen tut er nicht ...
ich kann ja z.b. die Methode so aufrufen:
Delphi-Quellcode:
Meine einzige überlegung ist das ich das ganze über einen zusätzlichen Memory Buffer laufen lasse (läuft aber aus da nicht performant genug). Das würde dann so aussehen:
TransferBuffer.Write(FileStream, 1);
Delphi-Quellcode:
var
TempMemory : TMemoryStream; begin TempMemory := TMemoryStream.Create; SetLength(TempMemory, 1000); TransferBuffer.Read(TempMemory, 1000); IOHandler.Write(TempMemory, 1000); TempMemory.Free; end; |
Re: Buffer beibringen von Indys akzeptiert zu werden
Doch in Delphi muss jede Variable/Parameter einen Typ besitzen.
|
Re: Buffer beibringen von Indys akzeptiert zu werden
Muss nicht. Schau Dir mal TStream.Read oder Write an, die haben auch keinen Typ. (-:
|
Re: Buffer beibringen von Indys akzeptiert zu werden
Richtig, ein Typ ist da nicht zwingend. Aber letzendlich läuft es dann darauf hinaus das es intern als Pointer übergeben wird.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:25 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